diff --git a/src/components/AlbumView/Header.vue b/src/components/AlbumView/Header.vue index 768e1fe..e66eb7e 100644 --- a/src/components/AlbumView/Header.vue +++ b/src/components/AlbumView/Header.vue @@ -92,7 +92,7 @@ import HeartSvg from "../shared/HeartSvg.vue"; import PlayBtnRect from "../shared/PlayBtnRect.vue"; -const props = defineProps<{ +defineProps<{ album: Album; }>(); diff --git a/src/components/ArtistView/Header.vue b/src/components/ArtistView/Header.vue index 03c0a58..cc90001 100644 --- a/src/components/ArtistView/Header.vue +++ b/src/components/ArtistView/Header.vue @@ -31,7 +31,7 @@
- +
@@ -56,10 +56,34 @@ import PlayBtnRect from "../shared/PlayBtnRect.vue"; import formatSeconds from "@/utils/useFormatSeconds"; import { isLight } from "@/composables/colors/album"; import { paths } from "@/config"; -import { playSources } from "@/composables/enums"; +import { favType, playSources } from "@/composables/enums"; import HeartSvg from "@/components/shared/HeartSvg.vue"; +import { ref } from "vue"; +import { addFavorite, removeFavorite } from "@/composables/fetch/favorite"; const artist = useArtistPageStore(); +const is_fav = ref(artist.info.is_favorite); + +async function handleFav() { + if (is_fav.value) { + const removed = await removeFavorite( + favType.artist, + artist.info.artisthash + ); + + if (removed) { + is_fav.value = false; + } + + return; + } + + const added = await addFavorite(favType.artist, artist.info.artisthash); + + if (added) { + is_fav.value = true; + } +}