import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact'; import { useMemo, useRef } from 'react'; import { useParams } from 'react-router'; import { PlaylistListSort, SortOrder } from '/@/renderer/api/types'; import { VirtualInfiniteGridRef } from '/@/renderer/components/virtual-grid'; import { ListContext } from '/@/renderer/context/list-context'; import { PlaylistListContent } from '/@/renderer/features/playlists/components/playlist-list-content'; import { PlaylistListHeader } from '/@/renderer/features/playlists/components/playlist-list-header'; import { usePlaylistList } from '/@/renderer/features/playlists/queries/playlist-list-query'; import { AnimatedPage } from '/@/renderer/features/shared'; import { useCurrentServer, useListStoreByKey } from '/@/renderer/store'; const PlaylistListRoute = () => { const gridRef = useRef(null); const tableRef = useRef(null); const server = useCurrentServer(); const { playlistId } = useParams(); const pageKey = 'playlist'; const { filter } = useListStoreByKey({ key: pageKey }); const itemCountCheck = usePlaylistList({ options: { cacheTime: 1000 * 60 * 60 * 2, staleTime: 1000 * 60 * 60 * 2, }, query: { ...filter, limit: 1, sortBy: PlaylistListSort.NAME, sortOrder: SortOrder.ASC, startIndex: 0, }, serverId: server?.id, }); const itemCount = itemCountCheck.data?.totalRecordCount === null ? undefined : itemCountCheck.data?.totalRecordCount; const providerValue = useMemo(() => { return { id: playlistId, pageKey, }; }, [playlistId]); return ( ); }; export default PlaylistListRoute;