xref: /MusicFree/src/pages/searchPage/components/resultPanel/results/musicResultItem.tsx (revision 15900d057ad4df766b2f9ea5b48f92a8ce2664db)
1import React from 'react';
2import MusicItem from '@/components/mediaItem/musicItem';
3import Config from '@/core/config';
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.get(
21                    'setting.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