From 14ee9b30c98d6b78da5a8780b5cb7c214335284b Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Mon, 20 May 2024 10:48:33 -0500 Subject: [PATCH] Generalize photo meta queries, apply to tags --- src/app/admin/tags/[tag]/edit/page.tsx | 4 +- src/app/tag/[tag]/[photoId]/layout.tsx | 8 +- src/app/tag/hidden/[photoId]/page.tsx | 4 +- src/app/tag/hidden/page.tsx | 9 +- src/photo/actions.ts | 13 +- src/photo/cache.ts | 22 +-- src/photo/db.ts | 222 +++++++++++++------------ src/state/AppStateProvider.tsx | 4 +- src/tag/data.ts | 4 +- 9 files changed, 150 insertions(+), 140 deletions(-) diff --git a/src/app/admin/tags/[tag]/edit/page.tsx b/src/app/admin/tags/[tag]/edit/page.tsx index 7ba178ed..ffcfe16c 100644 --- a/src/app/admin/tags/[tag]/edit/page.tsx +++ b/src/app/admin/tags/[tag]/edit/page.tsx @@ -4,7 +4,7 @@ import { getPhotosCached } from '@/photo/cache'; import TagForm from '@/tag/TagForm'; import { PATH_ADMIN, PATH_ADMIN_TAGS, pathForTag } from '@/site/paths'; import PhotoLightbox from '@/photo/PhotoLightbox'; -import { getPhotosTagMeta } from '@/photo/db'; +import { getPhotosMeta } from '@/photo/db'; import AdminTagBadge from '@/admin/AdminTagBadge'; const MAX_PHOTO_TO_SHOW = 6; @@ -22,7 +22,7 @@ export default async function PhotoPageEdit({ { count }, photos, ] = await Promise.all([ - getPhotosTagMeta(tag), + getPhotosMeta({ tag }), getPhotosCached({ tag, limit: MAX_PHOTO_TO_SHOW }), ]); diff --git a/src/app/tag/[tag]/[photoId]/layout.tsx b/src/app/tag/[tag]/[photoId]/layout.tsx index 03c25c75..4ff975ad 100644 --- a/src/app/tag/[tag]/[photoId]/layout.tsx +++ b/src/app/tag/[tag]/[photoId]/layout.tsx @@ -11,11 +11,9 @@ import { absolutePathForPhotoImage, } from '@/site/paths'; import PhotoDetailPage from '@/photo/PhotoDetailPage'; -import { - getPhotosNearIdCached, - getPhotosTagMetaCached, -} from '@/photo/cache'; +import { getPhotosNearIdCached } from '@/photo/cache'; import { ReactNode, cache } from 'react'; +import { getPhotosMeta } from '@/photo/db'; const getPhotosNearIdCachedCached = cache((photoId: string, tag: string) => getPhotosNearIdCached( @@ -66,7 +64,7 @@ export default async function PhotoTagPage({ if (!photo) { redirect(PATH_ROOT); } - const { count, dateRange } = await getPhotosTagMetaCached(tag); + const { count, dateRange } = await getPhotosMeta({ tag }); return <> {children} diff --git a/src/app/tag/hidden/[photoId]/page.tsx b/src/app/tag/hidden/[photoId]/page.tsx index 2382bd3b..bdde572b 100644 --- a/src/app/tag/hidden/[photoId]/page.tsx +++ b/src/app/tag/hidden/[photoId]/page.tsx @@ -6,8 +6,8 @@ import { import PhotoDetailPage from '@/photo/PhotoDetailPage'; import { getPhotosNearIdCached, - getPhotosTagHiddenMetaCached, } from '@/photo/cache'; +import { getPhotosMeta } from '@/photo/db'; import { PATH_ROOT, absolutePathForPhoto } from '@/site/paths'; import { TAG_HIDDEN } from '@/tag'; import { Metadata } from 'next'; @@ -59,7 +59,7 @@ export default async function PhotoTagHiddenPage({ if (!photo) { redirect(PATH_ROOT); } - const { count, dateRange } = await getPhotosTagHiddenMetaCached(); + const { count, dateRange } = await getPhotosMeta({ hidden: 'only' }); return (