diff --git a/src/ui/views/native/Tree.vue b/src/ui/views/native/Tree.vue
index 27562f34c7..dc9a82fc3f 100644
--- a/src/ui/views/native/Tree.vue
+++ b/src/ui/views/native/Tree.vue
@@ -26,16 +26,45 @@
hide-details
@input="onSearch" />
-
-
- {{ scheduled ? 'mdi-timer-sync-outline' : 'mdi-sync' }}
-
-
+
+
+
+
+ {{ scheduled ? 'mdi-timer-sync-outline' : 'mdi-sync' }}
+
+
+
+
+
+
+ mdi-arrow-up-bold
+
+
+ {{ t('LabelSyncUpOnce') }}
+
+
+
+
+ mdi-arrow-down-bold
+
+
+ {{ t('LabelSyncDownOnce') }}
+
+
+
+
@@ -572,12 +601,21 @@ export default {
shareBookmark(item) {
this.$store.dispatch(actions.SHARE_BOOKMARK, new Bookmark(item))
},
- onTriggerSync() {
+ onTriggerSync(direction) {
if (this.syncing || this.scheduled) {
return
}
this.currentAccount.data.syncing = 0.0001 // faaast
- this.$store.dispatch(actions.TRIGGER_SYNC, this.id)
+ switch (direction) {
+ case 'down':
+ this.$store.dispatch(actions.TRIGGER_SYNC_DOWN, this.id)
+ break
+ case 'up':
+ this.$store.dispatch(actions.TRIGGER_SYNC_UP, this.id)
+ break
+ default:
+ this.$store.dispatch(actions.TRIGGER_SYNC, this.id)
+ }
},
}
}
@@ -600,4 +638,12 @@ export default {
transform: rotate(0deg);
}
}
+
+.sync-dropdown-hint::after {
+ content: '⛛';
+ position: absolute;
+ font-size: 0.45em;
+ top: 30px;
+ left: 30px;
+}