xref: /MusicFree/src/pages/searchPage/components/resultPanel/results/musicResultItem.tsx (revision 41ddce918e1138d8f16e522cc7c19ac86ceca698)
1*41ddce91Smaotoumaoimport React from "react";
2*41ddce91Smaotoumaoimport MusicItem from "@/components/mediaItem/musicItem";
3*41ddce91Smaotoumaoimport Config from "@/core/config.ts";
4*41ddce91Smaotoumaoimport { ISearchResult } from "@/pages/searchPage/store/atoms";
5*41ddce91Smaotoumaoimport TrackPlayer from "@/core/trackPlayer";
60eb1edf9S猫头猫
70eb1edf9S猫头猫interface IMusicResultsProps {
80eb1edf9S猫头猫    item: IMusic.IMusicItem;
90eb1edf9S猫头猫    index: number;
1022de5a24S猫头猫    pluginSearchResultRef: React.MutableRefObject<ISearchResult<'music'>>;
110eb1edf9S猫头猫}
120eb1edf9S猫头猫
130eb1edf9S猫头猫export default function MusicResultItem(props: IMusicResultsProps) {
1422de5a24S猫头猫    const {item: musicItem, pluginSearchResultRef} = props;
150eb1edf9S猫头猫
1622de5a24S猫头猫    return (
1722de5a24S猫头猫        <MusicItem
1822de5a24S猫头猫            musicItem={musicItem}
1922de5a24S猫头猫            onItemPress={() => {
20*41ddce91Smaotoumao                const clickBehavior = Config.getConfig(
21*41ddce91Smaotoumao                    'basic.clickMusicInSearch',
2222de5a24S猫头猫                );
2322de5a24S猫头猫                if (clickBehavior === '播放歌曲并替换播放列表') {
245500cea7S猫头猫                    TrackPlayer.playWithReplacePlayList(
2522de5a24S猫头猫                        musicItem,
2622de5a24S猫头猫                        (pluginSearchResultRef?.current?.data ?? [
2722de5a24S猫头猫                            musicItem,
2822de5a24S猫头猫                        ]) as IMusic.IMusicItem[],
2922de5a24S猫头猫                    );
3022de5a24S猫头猫                } else {
315500cea7S猫头猫                    TrackPlayer.play(musicItem);
3222de5a24S猫头猫                }
3322de5a24S猫头猫            }}
3422de5a24S猫头猫        />
3522de5a24S猫头猫    );
360eb1edf9S猫头猫}
37