aboutsummaryrefslogtreecommitdiff
path: root/src/components/nav_panel
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2024-10-04 10:11:49 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2024-10-04 10:11:49 +0000
commitbb0a7a81c5c5e9947471ccffff629af9ee6d6185 (patch)
treee67dca18d5f0343ae798e60bfec7d7969e54856f /src/components/nav_panel
parenta1c3a7a742ea86b0ddeb67a42ca27f478f0f22a2 (diff)
parent216ca52073212942ffb6f75b63993a5f5c32a5d6 (diff)
Merge branch 'bookmark-folders' into 'develop'
Bookmark folders Closes #1335 See merge request pleroma/pleroma-fe!1945
Diffstat (limited to 'src/components/nav_panel')
-rw-r--r--src/components/nav_panel/nav_panel.js15
-rw-r--r--src/components/nav_panel/nav_panel.vue33
2 files changed, 45 insertions, 3 deletions
diff --git a/src/components/nav_panel/nav_panel.js b/src/components/nav_panel/nav_panel.js
index 8c9c3b11..11863e97 100644
--- a/src/components/nav_panel/nav_panel.js
+++ b/src/components/nav_panel/nav_panel.js
@@ -1,3 +1,4 @@
+import BookmarkFoldersMenuContent from 'src/components/bookmark_folders_menu/bookmark_folders_menu_content.vue'
import ListsMenuContent from 'src/components/lists_menu/lists_menu_content.vue'
import { mapState, mapGetters } from 'vuex'
import { TIMELINES, ROOT_ITEMS } from 'src/components/navigation/navigation.js'
@@ -41,6 +42,7 @@ const NavPanel = {
created () {
},
components: {
+ BookmarkFoldersMenuContent,
ListsMenuContent,
NavigationEntry,
NavigationPins,
@@ -51,6 +53,7 @@ const NavPanel = {
editMode: false,
showTimelines: false,
showLists: false,
+ showBookmarkFolders: false,
timelinesList: Object.entries(TIMELINES).map(([k, v]) => ({ ...v, name: k })),
rootList: Object.entries(ROOT_ITEMS).map(([k, v]) => ({ ...v, name: k }))
}
@@ -62,6 +65,9 @@ const NavPanel = {
toggleLists () {
this.showLists = !this.showLists
},
+ toggleBookmarkFolders () {
+ this.showBookmarkFolders = !this.showBookmarkFolders
+ },
toggleEditMode () {
this.editMode = !this.editMode
},
@@ -90,7 +96,8 @@ const NavPanel = {
pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable,
supportsAnnouncements: state => state.announcements.supportsAnnouncements,
pinnedItems: state => new Set(state.serverSideStorage.prefsStorage.collections.pinnedNavItems),
- collapsed: state => state.serverSideStorage.prefsStorage.simple.collapseNav
+ collapsed: state => state.serverSideStorage.prefsStorage.simple.collapseNav,
+ bookmarkFolders: state => state.instance.pleromaBookmarkFoldersAvailable
}),
timelinesItems () {
return filterNavigation(
@@ -102,7 +109,8 @@ const NavPanel = {
hasAnnouncements: this.supportsAnnouncements,
isFederating: this.federating,
isPrivate: this.privateMode,
- currentUser: this.currentUser
+ currentUser: this.currentUser,
+ supportsBookmarkFolders: this.bookmarkFolders
}
)
},
@@ -116,7 +124,8 @@ const NavPanel = {
hasAnnouncements: this.supportsAnnouncements,
isFederating: this.federating,
isPrivate: this.privateMode,
- currentUser: this.currentUser
+ currentUser: this.currentUser,
+ supportsBookmarkFolders: this.bookmarkFolders
}
)
},
diff --git a/src/components/nav_panel/nav_panel.vue b/src/components/nav_panel/nav_panel.vue
index bf608936..a19e9ba5 100644
--- a/src/components/nav_panel/nav_panel.vue
+++ b/src/components/nav_panel/nav_panel.vue
@@ -84,6 +84,39 @@
/>
</div>
<NavigationEntry
+ v-if="currentUser && bookmarkFolders"
+ :show-pin="false"
+ :item="{ icon: 'bookmark', label: 'nav.bookmarks' }"
+ :aria-expanded="showBookmarkFolders ? 'true' : 'false'"
+ @click="toggleBookmarkFolders"
+ >
+ <router-link
+ :title="$t('bookmarks.manage_bookmark_folders')"
+ class="button-unstyled extra-button"
+ :to="{ name: 'bookmark-folders' }"
+ @click.stop
+ >
+ <FAIcon
+ fixed-width
+ icon="wrench"
+ />
+ </router-link>
+ <FAIcon
+ class="timelines-chevron"
+ fixed-width
+ :icon="showBookmarkFolders ? 'chevron-up' : 'chevron-down'"
+ />
+ </NavigationEntry>
+ <div
+ v-show="showBookmarkFolders"
+ class="timelines-background menu-item-collapsible"
+ :class="{ '-expanded': showBookmarkFolders }"
+ >
+ <BookmarkFoldersMenuContent
+ class="timelines"
+ />
+ </div>
+ <NavigationEntry
v-for="item in rootItems"
:key="item.name"
:show-pin="editMode || forceEditMode"