PromoCursed/src/components/MenuBlock.tsx

43 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-08-28 00:07:24 +04:00
import { AppleOutlined, AndroidOutlined } from '@ant-design/icons';
import { Tabs } from 'antd';
import React from 'react';
import { PlaylistsBlock } from './PlaylistsBlock';
import { IAlbum, IGenre, IPlaylist, ISong } from '../models/IModels';
import { SongsBlock } from './SongsBlock';
import { FullPlaylistBlock } from './FullPlaylistBlock';
interface MenuBlockProps {
playlists?: IPlaylist[],
songs?: ISong[],
albums?: IAlbum[],
genres?: IGenre[],
}
export function MenuBlock({playlists, songs, albums, genres}: MenuBlockProps) {
const chartTab = {
label: 'Чарт',
key: 'Chart',
children: songs? <SongsBlock songs={songs}/> : null
};
const playlistsTab = {
label: 'Плейлисты',
key: 'Playlists',
children: playlists && genres ? <FullPlaylistBlock {...{playlists, genres}}/> : null
};
const newSongsTab = {
label: 'Новинки',
key: 'New',
children: songs? <SongsBlock songs={songs}/> : null
};
const tabs = [chartTab, playlistsTab, newSongsTab];
return (
<div className="container flex mx-auto items-center justify-center bg-transparent">
<Tabs
defaultActiveKey="Chart"
items={tabs}
/>
</div>
);
}