mirror of
https://github.com/antebudimir/feishin.git
synced 2025-12-31 18:13:31 +00:00
- Add folder browsing functionality with breadcrumb navigation - Implement folder playback with recursive song scanning and progress notifications - Add browser history support for back/forward button navigation - Include empty folder detection and loading states
32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import type { AgGridReact as AgGridReactType } from '@ag-grid-community/react/lib/agGridReact';
|
|
|
|
import { useMemo, useRef } from 'react';
|
|
|
|
import { VirtualInfiniteGridRef } from '/@/renderer/components/virtual-grid/virtual-infinite-grid';
|
|
import { ListContext } from '/@/renderer/context/list-context';
|
|
import { FolderListContent } from '/@/renderer/features/folders/components/folder-list-content';
|
|
import { FolderListHeader } from '/@/renderer/features/folders/components/folder-list-header';
|
|
import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page';
|
|
|
|
const FolderListRoute = () => {
|
|
const gridRef = useRef<null | VirtualInfiniteGridRef>(null);
|
|
const tableRef = useRef<AgGridReactType | null>(null);
|
|
const pageKey = 'folder';
|
|
|
|
const providerValue = useMemo(() => {
|
|
return {
|
|
pageKey,
|
|
};
|
|
}, []);
|
|
|
|
return (
|
|
<AnimatedPage>
|
|
<ListContext.Provider value={providerValue}>
|
|
<FolderListHeader />
|
|
<FolderListContent gridRef={gridRef} itemCount={undefined} tableRef={tableRef} />
|
|
</ListContext.Provider>
|
|
</AnimatedPage>
|
|
);
|
|
};
|
|
|
|
export default FolderListRoute;
|