2025-05-20 19:23:36 -07:00
|
|
|
import type { Song } from '/@/shared/types/domain-types';
|
2022-12-19 15:59:14 -08:00
|
|
|
import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact';
|
2025-05-18 14:03:18 -07:00
|
|
|
|
|
|
|
|
import { useRef } from 'react';
|
|
|
|
|
|
|
|
|
|
import { Paper } from '/@/renderer/components';
|
|
|
|
|
import { VirtualGridContainer } from '/@/renderer/components/virtual-grid';
|
2022-12-19 15:59:14 -08:00
|
|
|
import { NowPlayingHeader } from '/@/renderer/features/now-playing/components/now-playing-header';
|
|
|
|
|
import { PlayQueue } from '/@/renderer/features/now-playing/components/play-queue';
|
2023-02-07 22:47:23 -08:00
|
|
|
import { PlayQueueListControls } from '/@/renderer/features/now-playing/components/play-queue-list-controls';
|
2025-05-18 14:03:18 -07:00
|
|
|
import { AnimatedPage } from '/@/renderer/features/shared';
|
2022-12-19 15:59:14 -08:00
|
|
|
|
|
|
|
|
const NowPlayingRoute = () => {
|
2025-05-18 14:03:18 -07:00
|
|
|
const queueRef = useRef<null | { grid: AgGridReactType<Song> }>(null);
|
2022-12-19 15:59:14 -08:00
|
|
|
|
2023-07-01 19:10:05 -07:00
|
|
|
return (
|
|
|
|
|
<AnimatedPage>
|
|
|
|
|
<VirtualGridContainer>
|
|
|
|
|
<NowPlayingHeader />
|
|
|
|
|
<Paper sx={{ borderTop: '1px solid var(--generic-border-color)' }}>
|
|
|
|
|
<PlayQueueListControls
|
|
|
|
|
tableRef={queueRef}
|
|
|
|
|
type="nowPlaying"
|
|
|
|
|
/>
|
|
|
|
|
</Paper>
|
|
|
|
|
<PlayQueue
|
|
|
|
|
ref={queueRef}
|
|
|
|
|
type="nowPlaying"
|
|
|
|
|
/>
|
|
|
|
|
</VirtualGridContainer>
|
|
|
|
|
</AnimatedPage>
|
|
|
|
|
);
|
2022-12-19 15:59:14 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default NowPlayingRoute;
|