xref: /MusicFree/src/pages/musicDetail/components/content/heartIcon/index.tsx (revision 5589cdf32b2bb0f641e5ac7bf1f6152cd6b9b70e)
1import React from 'react';
2import {iconSizeConst} from '@/constants/uiConst';
3import MusicSheet from '@/core/musicSheet';
4import TrackPlayer from '@/core/trackPlayer';
5import Icon from '@/components/base/icon.tsx';
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