From bc8df4a2a273044e1390a00ffee524bed785bcda Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sat, 29 Jun 2024 15:49:22 -0500 Subject: [PATCH] Standardize on createdAt when querying admin photos --- src/admin/AdminPhotosTable.tsx | 2 +- src/admin/AdminPhotosTableInfinite.tsx | 1 + src/app/admin/photos/page.tsx | 1 + src/photo/InfinitePhotoScroll.tsx | 30 +++++++++++--------------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/admin/AdminPhotosTable.tsx b/src/admin/AdminPhotosTable.tsx index bd580183..1f193a57 100644 --- a/src/admin/AdminPhotosTable.tsx +++ b/src/admin/AdminPhotosTable.tsx @@ -91,7 +91,7 @@ export default function AdminPhotosTable({ )}> diff --git a/src/admin/AdminPhotosTableInfinite.tsx b/src/admin/AdminPhotosTableInfinite.tsx index 285d8091..3dcc7c9d 100644 --- a/src/admin/AdminPhotosTableInfinite.tsx +++ b/src/admin/AdminPhotosTableInfinite.tsx @@ -21,6 +21,7 @@ export default function AdminPhotosTableInfinite({ initialOffset={initialOffset} itemsPerPage={itemsPerPage} useCachedPhotos={false} + sortBy="createdAt" includeHiddenPhotos > {({ photos, onLastPhotoVisible, revalidatePhoto }) => diff --git a/src/app/admin/photos/page.tsx b/src/app/admin/photos/page.tsx index 12b4ed8c..4ae24299 100644 --- a/src/app/admin/photos/page.tsx +++ b/src/app/admin/photos/page.tsx @@ -21,6 +21,7 @@ export default async function AdminPhotosPage() { ] = await Promise.all([ getPhotos({ hidden: 'include', + sortBy: 'createdAt', limit: INFINITE_SCROLL_INITIAL_ADMIN_PHOTOS, }).catch(() => []), getPhotosMetaCached({ hidden: 'include'}) diff --git a/src/photo/InfinitePhotoScroll.tsx b/src/photo/InfinitePhotoScroll.tsx index 72fe66bf..dfb85f37 100644 --- a/src/photo/InfinitePhotoScroll.tsx +++ b/src/photo/InfinitePhotoScroll.tsx @@ -15,6 +15,7 @@ import { clsx } from 'clsx/lite'; import { useAppState } from '@/state/AppState'; import { Camera } from '@/camera'; import { FilmSimulation } from '@/simulation'; +import { GetPhotosOptions } from './db'; export type RevalidatePhoto = ( photoId: string, @@ -25,6 +26,7 @@ export default function InfinitePhotoScroll({ cacheKey, initialOffset, itemsPerPage, + sortBy, tag, camera, simulation, @@ -35,6 +37,7 @@ export default function InfinitePhotoScroll({ }: { initialOffset: number itemsPerPage: number + sortBy?: GetPhotosOptions['sortBy'] tag?: string camera?: Camera simulation?: FilmSimulation @@ -59,25 +62,18 @@ export default function InfinitePhotoScroll({ , [key]); const fetcher = useCallback(([_key, size]: [string, number]) => - useCachedPhotos - ? getPhotosCachedAction({ - offset: initialOffset + size * itemsPerPage, - limit: itemsPerPage, - hidden: includeHiddenPhotos ? 'include' : 'exclude', - tag, - camera, - simulation, - }) - : getPhotosAction({ - offset: initialOffset + size * itemsPerPage, - limit: itemsPerPage, - hidden: includeHiddenPhotos ? 'include' : 'exclude', - tag, - camera, - simulation, - }) + (useCachedPhotos ? getPhotosCachedAction : getPhotosAction)({ + offset: initialOffset + size * itemsPerPage, + sortBy, + limit: itemsPerPage, + hidden: includeHiddenPhotos ? 'include' : 'exclude', + tag, + camera, + simulation, + }) , [ useCachedPhotos, + sortBy, initialOffset, itemsPerPage, includeHiddenPhotos,