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