aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2022-08-23 15:36:54 +0300
committerHenry Jameson <me@hjkos.com>2022-08-23 15:36:54 +0300
commitbd7356376ec9137da674f146a89c17ed62f56bc3 (patch)
tree382710cd8c308364c9915efbea014c37ba1b96bd
parent63f35509a79b8e9bc8bc301852847cf952a6a01f (diff)
fix links not being active by default
-rw-r--r--src/components/navigation/navigation_entry.js19
-rw-r--r--src/components/navigation/navigation_entry.vue2
-rw-r--r--src/components/navigation/navigation_pins.js22
-rw-r--r--src/components/navigation/navigation_pins.vue2
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 @@
<li class="NavigationEntry">
<router-link
class="menu-item"
- :to="item.routeObject || { name: (currentUser || item.anon) ? item.route : item.anonRoute, params: { username: currentUser.screen_name } }"
+ :to="routeTo"
>
<FAIcon
v-if="item.icon"
diff --git a/src/components/navigation/navigation_pins.js b/src/components/navigation/navigation_pins.js
index 9c416d9f..f0295c70 100644
--- a/src/components/navigation/navigation_pins.js
+++ b/src/components/navigation/navigation_pins.js
@@ -26,8 +26,30 @@ library.add(
faStream,
faList
)
+
+const USERNAME_ROUTES = new Set([
+ 'bookmarks',
+ 'dms',
+ 'interactions',
+ 'notifications',
+ 'chat',
+ 'chats'
+])
+
const NavPanel = {
props: ['limit'],
+ methods: {
+ getRouteTo (item) {
+ if (item.routeObject) {
+ return item.routeObject
+ }
+ const route = { name: (item.anon || this.currentUser) ? item.route : item.anonRoute }
+ if (USERNAME_ROUTES.has(route.name)) {
+ route.params = { username: this.currentUser.screen_name }
+ }
+ return route
+ }
+ },
computed: {
getters () {
return this.$store.getters
diff --git a/src/components/navigation/navigation_pins.vue b/src/components/navigation/navigation_pins.vue
index 7942f23c..4ae96fbe 100644
--- a/src/components/navigation/navigation_pins.vue
+++ b/src/components/navigation/navigation_pins.vue
@@ -4,7 +4,7 @@
v-for="item in pinnedList"
:key="item.name"
class="pinned-item"
- :to="item.routeObject || { name: (currentUser || item.anon) ? item.route : item.anonRoute, params: { username: currentUser.screen_name } }"
+ :to="getRouteTo(item)"
>
<FAIcon
v-if="item.icon"