'use client'; import PhotoAlbum from '@/album/PhotoAlbum'; import { useAppState } from '@/app/AppState'; import PhotoCamera from '@/camera/PhotoCamera'; import AnimateItems from '@/components/AnimateItems'; import AppGrid from '@/components/AppGrid'; import PhotoFilm from '@/film/PhotoFilm'; import PhotoLens from '@/lens/PhotoLens'; import { Photo } from '@/photo'; import PhotoRecipe from '@/recipe/PhotoRecipe'; import PhotoTag from '@/tag/PhotoTag'; import clsx from 'clsx/lite'; import { formatDistanceToNowStrict } from 'date-fns'; import AdminAboutMenu from './AdminAboutMenu'; import PhotoLarge from '@/photo/PhotoLarge'; import { ReactNode, useMemo } from 'react'; import { Camera } from '@/camera'; import { Lens } from '@/lens'; import { Album } from '@/album'; import { useAppText } from '@/i18n/state/client'; import PhotoAvatar from '@/photo/PhotoAvatar'; import Link from 'next/link'; import { PATH_ADMIN_ABOUT_EDIT } from '@/app/path'; import { LuCirclePlus, LuUser } from 'react-icons/lu'; import AdminEmptyState from '@/admin/AdminEmptyState'; export default function AboutPageClient({ title, subhead, descriptionHtml, photosCount = 0, photosOldest, photoAvatar, photoHero, camera, lens, recipe, film, album, tag, lastUpdated, }: { title?: string subhead?: string descriptionHtml?: ReactNode photosCount?: number photosOldest?: string photoAvatar?: Photo photoHero?: Photo camera?: Camera lens?: Lens recipe?: string film?: string album?: Album tag?: string lastUpdated?: Date }) { const { isUserSignedIn, } = useAppState(); const appText = useAppText(); const renderItem = (label: string, content?: ReactNode) => (