diff --git a/src/stores/notification.js b/src/stores/notification.js index 1fd8de3a..90743997 100644 --- a/src/stores/notification.js +++ b/src/stores/notification.js @@ -32,6 +32,7 @@ import { useFavoriteStore } from './favorite'; import { useFriendStore } from './friend'; import { useGameStore } from './game'; import { useGeneralSettingsStore } from './settings/general'; +import { useGroupStore } from './group'; import { useInstanceStore } from './instance'; import { useLocationStore } from './location'; import { useModalStore } from './modal'; @@ -60,6 +61,7 @@ export const useNotificationStore = defineStore('Notification', () => { const sharedFeedStore = useSharedFeedStore(); const instanceStore = useInstanceStore(); const modalStore = useModalStore(); + const groupStore = useGroupStore(); const notificationInitStatus = ref(false); const notificationTable = ref({ diff --git a/src/views/Sidebar/components/NotificationItem.vue b/src/views/Sidebar/components/NotificationItem.vue index ddeab284..23c53f23 100644 --- a/src/views/Sidebar/components/NotificationItem.vue +++ b/src/views/Sidebar/components/NotificationItem.vue @@ -292,11 +292,17 @@ function openSender() { const userId = props.notification.senderUserId; - if (!userId) return; - if (userId.startsWith('grp_')) { - groupStore.showGroupDialog(userId); - } else { - userStore.showUserDialog(userId); + if (userId) { + if (userId.startsWith('grp_')) { + groupStore.showGroupDialog(userId); + } else { + userStore.showUserDialog(userId); + } + return; + } + const link = props.notification.link; + if (link) { + openNotificationLink(link); } }