import { Group, Center } from '@mantine/core'; import { motion } from 'framer-motion'; import { HiOutlineQueueList } from 'react-icons/hi2'; import { RiFileMusicLine, RiFileTextLine, RiInformationFill } from 'react-icons/ri'; import styled from 'styled-components'; import { Button, TextTitle } from '/@/renderer/components'; import { PlayQueue } from '/@/renderer/features/now-playing'; import { useFullScreenPlayerStore, useFullScreenPlayerStoreActions, } from '/@/renderer/store/full-screen-player.store'; import { Lyrics } from '/@/renderer/features/lyrics/lyrics'; const QueueContainer = styled.div` position: relative; display: flex; height: 100%; .ag-theme-alpine-dark { --ag-header-background-color: rgba(0, 0, 0, 0%) !important; --ag-background-color: rgba(0, 0, 0, 0%) !important; --ag-odd-row-background-color: rgba(0, 0, 0, 0%) !important; } .ag-header { display: none !important; } `; const ActiveTabIndicator = styled(motion.div)` position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--main-fg); `; const HeaderItemWrapper = styled.div` position: relative; z-index: 2; `; const GridContainer = styled.div` display: grid; grid-template-rows: auto minmax(0, 1fr); grid-template-columns: 1fr; `; export const FullScreenPlayerQueue = () => { const { activeTab } = useFullScreenPlayerStore(); const { setStore } = useFullScreenPlayerStoreActions(); const headerItems = [ { active: activeTab === 'queue', icon: , label: 'Up Next', onClick: () => setStore({ activeTab: 'queue' }), }, { active: activeTab === 'related', icon: , label: 'Related', onClick: () => setStore({ activeTab: 'related' }), }, { active: activeTab === 'lyrics', icon: , label: 'Lyrics', onClick: () => setStore({ activeTab: 'lyrics' }), }, ]; return ( {headerItems.map((item) => ( {item.active ? : null} ))} {activeTab === 'queue' ? ( ) : activeTab === 'related' ? (
COMING SOON
) : activeTab === 'lyrics' ? ( ) : null}
); };