From bd7356376ec9137da674f146a89c17ed62f56bc3 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 23 Aug 2022 15:36:54 +0300 Subject: [PATCH] fix links not being active by default --- src/components/navigation/navigation_entry.js | 19 ++++++++++++++++ .../navigation/navigation_entry.vue | 2 +- src/components/navigation/navigation_pins.js | 22 +++++++++++++++++++ src/components/navigation/navigation_pins.vue | 2 +- 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/components/navigation/navigation_entry.js b/src/components/navigation/navigation_entry.js index e17e9436..a19ee1b4 100644 --- a/src/components/navigation/navigation_entry.js +++ b/src/components/navigation/navigation_entry.js @@ -4,6 +4,15 @@ import { faThumbtack } from '@fortawesome/free-solid-svg-icons' library.add(faThumbtack) +const USERNAME_ROUTES = new Set([ + 'bookmarks', + 'dms', + 'interactions', + 'notifications', + 'chat', + 'chats' +]) + const NavigationEntry = { props: ['item', 'showPin'], methods: { @@ -20,6 +29,16 @@ const NavigationEntry = { } }, computed: { + routeTo () { + if (this.item.routeObject) { + return this.item.routeObject + } + const route = { name: (this.item.anon || this.currentUser) ? this.item.route : this.item.anonRoute } + if (USERNAME_ROUTES.has(route.name)) { + route.params = { username: this.currentUser.screen_name } + } + return route + }, getters () { return this.$store.getters }, diff --git a/src/components/navigation/navigation_entry.vue b/src/components/navigation/navigation_entry.vue index 64601be6..c0b405f5 100644 --- a/src/components/navigation/navigation_entry.vue +++ b/src/components/navigation/navigation_entry.vue @@ -2,7 +2,7 @@