xref: /MusicFree/src/pages/searchPage/components/resultPanel/resultWrapper.tsx (revision bf6e62f27bf21a011995d7561e0093fae1a2d72e)
1*bf6e62f2S猫头猫import React from 'react';
2*bf6e62f2S猫头猫import {useAtomValue} from 'jotai';
3*bf6e62f2S猫头猫import {searchResultsAtom} from '../../store/atoms';
4*bf6e62f2S猫头猫import getMediaItems from '../../common/getMediaItems';
5*bf6e62f2S猫头猫import { renderMap } from './results';
6*bf6e62f2S猫头猫
7*bf6e62f2S猫头猫interface IResultWrapperProps {
8*bf6e62f2S猫头猫  tab: ICommon.SupportMediaType;
9*bf6e62f2S猫头猫  platform: string;
10*bf6e62f2S猫头猫}
11*bf6e62f2S猫头猫export default function ResultWrapper(props: IResultWrapperProps) {
12*bf6e62f2S猫头猫  const {tab, platform} = props;
13*bf6e62f2S猫头猫  const searchResults = useAtomValue(searchResultsAtom);
14*bf6e62f2S猫头猫
15*bf6e62f2S猫头猫  const data = getMediaItems<IPlugin.ISearchResult[typeof tab]>(
16*bf6e62f2S猫头猫    searchResults,
17*bf6e62f2S猫头猫    platform,
18*bf6e62f2S猫头猫    tab,
19*bf6e62f2S猫头猫  );
20*bf6e62f2S猫头猫
21*bf6e62f2S猫头猫  const ResultComponent = renderMap[tab]!;
22*bf6e62f2S猫头猫  return <ResultComponent platform={platform} data={data}></ResultComponent>;
23*bf6e62f2S猫头猫}