xref: /MusicFree/src/pages/musicDetail/components/content/heartIcon/index.tsx (revision 6613e77203923e5b1742a49281bfa5de03fc1440)
1import React from 'react';
2import {iconSizeConst} from '@/constants/uiConst';
3import TrackPlayer from '@/core/trackPlayer';
4import Icon from '@/components/base/icon.tsx';
5import MusicSheet from '@/core/musicSheet';
6
7export default function () {
8    const musicItem = TrackPlayer.useCurrentMusic();
9
10    const isFavorite = MusicSheet.useFavorite(musicItem);
11
12    return isFavorite ? (
13        <Icon
14            name="heart"
15            size={iconSizeConst.normal}
16            color="red"
17            onPress={() => {
18                if (!musicItem) {
19                    return;
20                }
21                MusicSheet.removeMusic(MusicSheet.defaultSheet.id, musicItem);
22            }}
23        />
24    ) : (
25        <Icon
26            name="heart-outline"
27            size={iconSizeConst.normal}
28            color="white"
29            onPress={() => {
30                if (musicItem) {
31                    MusicSheet.addMusic(MusicSheet.defaultSheet.id, musicItem);
32                }
33            }}
34        />
35    );
36}
37