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