xref: /MusicFree/src/pages/searchPage/components/resultPanel/results/musicResultItem.tsx (revision 41ddce918e1138d8f16e522cc7c19ac86ceca698)
1import React from "react";
2import MusicItem from "@/components/mediaItem/musicItem";
3import Config from "@/core/config.ts";
4import { ISearchResult } from "@/pages/searchPage/store/atoms";
5import TrackPlayer from "@/core/trackPlayer";
6
7interface IMusicResultsProps {
8    item: IMusic.IMusicItem;
9    index: number;
10    pluginSearchResultRef: React.MutableRefObject<ISearchResult<'music'>>;
11}
12
13export default function MusicResultItem(props: IMusicResultsProps) {
14    const {item: musicItem, pluginSearchResultRef} = props;
15
16    return (
17        <MusicItem
18            musicItem={musicItem}
19            onItemPress={() => {
20                const clickBehavior = Config.getConfig(
21                    'basic.clickMusicInSearch',
22                );
23                if (clickBehavior === '播放歌曲并替换播放列表') {
24                    TrackPlayer.playWithReplacePlayList(
25                        musicItem,
26                        (pluginSearchResultRef?.current?.data ?? [
27                            musicItem,
28                        ]) as IMusic.IMusicItem[],
29                    );
30                } else {
31                    TrackPlayer.play(musicItem);
32                }
33            }}
34        />
35    );
36}
37