diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts index 7e15b09..bcbdfed 100644 --- a/src/renderer/components.d.ts +++ b/src/renderer/components.d.ts @@ -8,6 +8,7 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + NAlert: typeof import('naive-ui')['NAlert'] NAvatar: typeof import('naive-ui')['NAvatar'] NBadge: typeof import('naive-ui')['NBadge'] NButton: typeof import('naive-ui')['NButton'] diff --git a/src/renderer/components/common/SongItem.vue b/src/renderer/components/common/SongItem.vue index 9949d16..11ef719 100644 --- a/src/renderer/components/common/SongItem.vue +++ b/src/renderer/components/common/SongItem.vue @@ -92,8 +92,9 @@ import { computed, h, inject, ref, useTemplateRef } from 'vue'; import { useI18n } from 'vue-i18n'; import { getSongUrl } from '@/hooks/MusicListHook'; +import { useArtist } from '@/hooks/useArtist'; import { audioService } from '@/services/audioService'; -import { usePlayerStore, useSettingsStore } from '@/store'; +import { usePlayerStore } from '@/store'; import type { SongResult } from '@/type/music'; import { getImgUrl, isElectron } from '@/utils'; import { getImageBackground } from '@/utils/linearColor'; @@ -121,7 +122,6 @@ const props = withDefaults( ); const playerStore = usePlayerStore(); -const settingsStore = useSettingsStore(); const message = useMessage(); @@ -142,6 +142,8 @@ const isDownloading = ref(false); const openPlaylistDrawer = inject<(songId: number) => void>('openPlaylistDrawer'); +const { navigateToArtist } = useArtist(); + const renderSongPreview = () => { return h( 'div', @@ -392,8 +394,7 @@ const toggleSelect = () => { }; const handleArtistClick = (id: number) => { - settingsStore.setCurrentArtistId(id); - settingsStore.setShowArtistDrawer(true); + navigateToArtist(id); }; // 获取歌手列表(最多显示5个) diff --git a/src/renderer/components/home/TopBanner.vue b/src/renderer/components/home/TopBanner.vue index 2f9a6bd..8c07a95 100644 --- a/src/renderer/components/home/TopBanner.vue +++ b/src/renderer/components/home/TopBanner.vue @@ -88,7 +88,7 @@ class="recommend-singer-item relative" :class="setAnimationClass('animate__backInRight')" :style="setAnimationDelay(index + 2, 100)" - @click="handleOpenSinger(item.id)" + @click="handleArtistClick(item.id)" >