diff --git a/src/renderer/features/albums/components/album-list-infinite-detail.tsx b/src/renderer/features/albums/components/album-list-infinite-detail.tsx index ed3a029d0..6d58d6021 100644 --- a/src/renderer/features/albums/components/album-list-infinite-detail.tsx +++ b/src/renderer/features/albums/components/album-list-infinite-detail.tsx @@ -6,6 +6,7 @@ import { useItemListColumnReorder } from '/@/renderer/components/item-list/helpe import { useItemListColumnResize } from '/@/renderer/components/item-list/helpers/use-item-list-column-resize'; import { ItemDetailList } from '/@/renderer/components/item-list/item-detail-list/item-detail-list'; import { ItemListComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { AlbumListQuery, @@ -34,6 +35,7 @@ export const AlbumListInfiniteDetail = ({ }) as UseSuspenseQueryOptions; const listQueryFn = api.controller.getAlbumList; + const { pageKey } = useListContext(); const { handleColumnReordered } = useItemListColumnReorder({ itemListKey: ItemListKey.ALBUM, @@ -46,7 +48,7 @@ export const AlbumListInfiniteDetail = ({ }); const { getItem, itemCount, loadedItems, onRangeChanged } = useItemListInfiniteLoader({ - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/albums/components/album-list-infinite-grid.tsx b/src/renderer/features/albums/components/album-list-infinite-grid.tsx index 308e2e72c..6346ebfd6 100644 --- a/src/renderer/features/albums/components/album-list-infinite-grid.tsx +++ b/src/renderer/features/albums/components/album-list-infinite-grid.tsx @@ -6,6 +6,7 @@ import { useGridRows } from '/@/renderer/components/item-list/helpers/use-grid-r import { useItemListScrollPersist } from '/@/renderer/components/item-list/helpers/use-item-list-scroll-persist'; import { ItemGridList } from '/@/renderer/components/item-list/item-grid-list/item-grid-list'; import { ItemListGridComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { useGeneralSettings } from '/@/renderer/store'; import { @@ -37,9 +38,11 @@ export const AlbumListInfiniteGrid = ({ const listQueryFn = api.controller.getAlbumList; + const { pageKey } = useListContext(); + const { dataVersion, getItem, getItemIndex, itemCount, loadedItems, onRangeChanged } = useItemListInfiniteLoader({ - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/albums/components/album-list-infinite-table.tsx b/src/renderer/features/albums/components/album-list-infinite-table.tsx index 959798714..b258b17a4 100644 --- a/src/renderer/features/albums/components/album-list-infinite-table.tsx +++ b/src/renderer/features/albums/components/album-list-infinite-table.tsx @@ -8,6 +8,7 @@ import { useItemListScrollPersist } from '/@/renderer/components/item-list/helpe import { ItemTableList } from '/@/renderer/components/item-list/item-table-list/item-table-list'; import { ItemTableListColumn } from '/@/renderer/components/item-list/item-table-list/item-table-list-column'; import { ItemListTableComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { AlbumListQuery, @@ -43,10 +44,11 @@ export const AlbumListInfiniteTable = ({ }) as UseSuspenseQueryOptions; const listQueryFn = api.controller.getAlbumList; + const { pageKey } = useListContext(); const { getItem, getItemIndex, itemCount, loadedItems, onRangeChanged } = useItemListInfiniteLoader({ - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/albums/components/album-list-paginated-detail.tsx b/src/renderer/features/albums/components/album-list-paginated-detail.tsx index 763e9e396..c51ace88b 100644 --- a/src/renderer/features/albums/components/album-list-paginated-detail.tsx +++ b/src/renderer/features/albums/components/album-list-paginated-detail.tsx @@ -8,6 +8,7 @@ import { ItemDetailList } from '/@/renderer/components/item-list/item-detail-lis import { ItemListWithPagination } from '/@/renderer/components/item-list/item-list-pagination/item-list-pagination'; import { useItemListPagination } from '/@/renderer/components/item-list/item-list-pagination/use-item-list-pagination'; import { ItemListComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { AlbumListQuery, @@ -36,6 +37,7 @@ export const AlbumListPaginatedDetail = ({ }) as UseSuspenseQueryOptions; const listQueryFn = api.controller.getAlbumList; + const { pageKey } = useListContext(); const { handleColumnReordered } = useItemListColumnReorder({ itemListKey: ItemListKey.ALBUM, @@ -51,7 +53,7 @@ export const AlbumListPaginatedDetail = ({ const { data, pageCount, totalItemCount } = useItemListPaginatedLoader({ currentPage, - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/albums/components/album-list-paginated-grid.tsx b/src/renderer/features/albums/components/album-list-paginated-grid.tsx index 781ab4332..b2aabc27e 100644 --- a/src/renderer/features/albums/components/album-list-paginated-grid.tsx +++ b/src/renderer/features/albums/components/album-list-paginated-grid.tsx @@ -8,6 +8,7 @@ import { ItemGridList } from '/@/renderer/components/item-list/item-grid-list/it import { ItemListWithPagination } from '/@/renderer/components/item-list/item-list-pagination/item-list-pagination'; import { useItemListPagination } from '/@/renderer/components/item-list/item-list-pagination/use-item-list-pagination'; import { ItemListGridComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { useGeneralSettings } from '/@/renderer/store'; import { @@ -32,6 +33,7 @@ export const AlbumListPaginatedGrid = ({ serverId, size, }: AlbumListPaginatedGridProps) => { + const { pageKey } = useListContext(); const { currentPage, onChange } = useItemListPagination(); const listCountQuery = albumQueries.listCount({ @@ -43,7 +45,7 @@ export const AlbumListPaginatedGrid = ({ const { data, pageCount, totalItemCount } = useItemListPaginatedLoader({ currentPage, - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/albums/components/album-list-paginated-table.tsx b/src/renderer/features/albums/components/album-list-paginated-table.tsx index 1da3e4dac..605029b4d 100644 --- a/src/renderer/features/albums/components/album-list-paginated-table.tsx +++ b/src/renderer/features/albums/components/album-list-paginated-table.tsx @@ -10,6 +10,7 @@ import { useItemListPagination } from '/@/renderer/components/item-list/item-lis import { ItemTableList } from '/@/renderer/components/item-list/item-table-list/item-table-list'; import { ItemTableListColumn } from '/@/renderer/components/item-list/item-table-list/item-table-list-column'; import { ItemListTableComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { albumQueries } from '/@/renderer/features/albums/api/album-api'; import { AlbumListQuery, @@ -39,6 +40,7 @@ export const AlbumListPaginatedTable = ({ serverId, size = 'default', }: AlbumListPaginatedTableProps) => { + const { pageKey } = useListContext(); const { currentPage, onChange } = useItemListPagination(); const listCountQuery = albumQueries.listCount({ @@ -50,7 +52,7 @@ export const AlbumListPaginatedTable = ({ const { data, pageCount, totalItemCount } = useItemListPaginatedLoader({ currentPage, - eventKey: ItemListKey.ALBUM, + eventKey: pageKey || ItemListKey.ALBUM, itemsPerPage, itemType: LibraryItem.ALBUM, listCountQuery, diff --git a/src/renderer/features/songs/components/song-list-infinite-grid.tsx b/src/renderer/features/songs/components/song-list-infinite-grid.tsx index 2bfa5969d..b8a2788a7 100644 --- a/src/renderer/features/songs/components/song-list-infinite-grid.tsx +++ b/src/renderer/features/songs/components/song-list-infinite-grid.tsx @@ -6,6 +6,7 @@ import { useGridRows } from '/@/renderer/components/item-list/helpers/use-grid-r import { useItemListScrollPersist } from '/@/renderer/components/item-list/helpers/use-item-list-scroll-persist'; import { ItemGridList } from '/@/renderer/components/item-list/item-grid-list/item-grid-list'; import { ItemListGridComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { songsQueries } from '/@/renderer/features/songs/api/songs-api'; import { useGeneralSettings } from '/@/renderer/store'; import { LibraryItem, SongListQuery, SongListSort, SortOrder } from '/@/shared/types/domain-types'; @@ -31,10 +32,11 @@ export const SongListInfiniteGrid = ({ }) as UseSuspenseQueryOptions; const listQueryFn = api.controller.getSongList; + const { pageKey } = useListContext(); const { dataVersion, getItem, getItemIndex, itemCount, loadedItems, onRangeChanged } = useItemListInfiniteLoader({ - eventKey: ItemListKey.SONG, + eventKey: pageKey || ItemListKey.SONG, itemsPerPage, itemType: LibraryItem.SONG, listCountQuery, diff --git a/src/renderer/features/songs/components/song-list-infinite-table.tsx b/src/renderer/features/songs/components/song-list-infinite-table.tsx index 4e51e6378..1a259f840 100644 --- a/src/renderer/features/songs/components/song-list-infinite-table.tsx +++ b/src/renderer/features/songs/components/song-list-infinite-table.tsx @@ -8,6 +8,7 @@ import { useItemListScrollPersist } from '/@/renderer/components/item-list/helpe import { ItemTableList } from '/@/renderer/components/item-list/item-table-list/item-table-list'; import { ItemTableListColumn } from '/@/renderer/components/item-list/item-table-list/item-table-list-column'; import { ItemListTableComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { songsQueries } from '/@/renderer/features/songs/api/songs-api'; import { usePlayerSong } from '/@/renderer/store'; import { LibraryItem, SongListQuery, SongListSort, SortOrder } from '/@/shared/types/domain-types'; @@ -39,10 +40,11 @@ export const SongListInfiniteTable = ({ }) as UseSuspenseQueryOptions; const listQueryFn = api.controller.getSongList; + const { pageKey } = useListContext(); const { getItem, getItemIndex, itemCount, loadedItems, onRangeChanged } = useItemListInfiniteLoader({ - eventKey: ItemListKey.SONG, + eventKey: pageKey || ItemListKey.SONG, itemsPerPage, itemType: LibraryItem.SONG, listCountQuery, diff --git a/src/renderer/features/songs/components/song-list-paginated-grid.tsx b/src/renderer/features/songs/components/song-list-paginated-grid.tsx index f4b3a9883..b97dea03e 100644 --- a/src/renderer/features/songs/components/song-list-paginated-grid.tsx +++ b/src/renderer/features/songs/components/song-list-paginated-grid.tsx @@ -7,6 +7,7 @@ import { ItemGridList } from '/@/renderer/components/item-list/item-grid-list/it import { ItemListWithPagination } from '/@/renderer/components/item-list/item-list-pagination/item-list-pagination'; import { useItemListPagination } from '/@/renderer/components/item-list/item-list-pagination/use-item-list-pagination'; import { ItemListGridComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { songsQueries } from '/@/renderer/features/songs/api/songs-api'; import { useGeneralSettings } from '/@/renderer/store'; import { LibraryItem, SongListQuery, SongListSort, SortOrder } from '/@/shared/types/domain-types'; @@ -25,6 +26,7 @@ export const SongListPaginatedGrid = ({ serverId, size, }: SongListPaginatedGridProps) => { + const { pageKey } = useListContext(); const { currentPage, onChange } = useItemListPagination(); const listCountQuery = songsQueries.listCount({ @@ -36,7 +38,7 @@ export const SongListPaginatedGrid = ({ const { data, pageCount, totalItemCount } = useItemListPaginatedLoader({ currentPage, - eventKey: ItemListKey.SONG, + eventKey: pageKey || ItemListKey.SONG, itemsPerPage, itemType: LibraryItem.SONG, listCountQuery, diff --git a/src/renderer/features/songs/components/song-list-paginated-table.tsx b/src/renderer/features/songs/components/song-list-paginated-table.tsx index 46154c69a..ede2171e4 100644 --- a/src/renderer/features/songs/components/song-list-paginated-table.tsx +++ b/src/renderer/features/songs/components/song-list-paginated-table.tsx @@ -10,6 +10,7 @@ import { useItemListPagination } from '/@/renderer/components/item-list/item-lis import { ItemTableList } from '/@/renderer/components/item-list/item-table-list/item-table-list'; import { ItemTableListColumn } from '/@/renderer/components/item-list/item-table-list/item-table-list-column'; import { ItemListTableComponentProps } from '/@/renderer/components/item-list/types'; +import { useListContext } from '/@/renderer/context/list-context'; import { songsQueries } from '/@/renderer/features/songs/api/songs-api'; import { usePlayerSong } from '/@/renderer/store'; import { LibraryItem, SongListQuery, SongListSort, SortOrder } from '/@/shared/types/domain-types'; @@ -35,6 +36,7 @@ export const SongListPaginatedTable = ({ serverId, size = 'default', }: SongListPaginatedTableProps) => { + const { pageKey } = useListContext(); const { currentPage, onChange } = useItemListPagination(); const listCountQuery = songsQueries.listCount({ @@ -46,7 +48,7 @@ export const SongListPaginatedTable = ({ const { data, pageCount, totalItemCount } = useItemListPaginatedLoader({ currentPage, - eventKey: ItemListKey.SONG, + eventKey: pageKey || ItemListKey.SONG, itemsPerPage, itemType: LibraryItem.SONG, listCountQuery,