'use client'; import { Photo, deleteConfirmationTextForPhoto, titleForPhoto } from '@/photo'; import AdminTable from './AdminTable'; import { Fragment } from 'react'; import PhotoTiny from '@/photo/PhotoTiny'; import { clsx } from 'clsx/lite'; import { pathForAdminPhotoEdit, pathForPhoto } from '@/site/paths'; import Link from 'next/link'; import { AiOutlineEyeInvisible } from 'react-icons/ai'; import PhotoDate from '@/photo/PhotoDate'; import FormWithConfirm from '@/components/FormWithConfirm'; import EditButton from './EditButton'; import SubmitButtonWithStatus from '@/components/SubmitButtonWithStatus'; import IconGrSync from '@/site/IconGrSync'; import DeleteButton from './DeleteButton'; import { deletePhotoFormAction, syncPhotoExifDataAction, } from '@/photo/actions'; import { useAppState } from '@/state/AppState'; export default function AdminPhotoTable({ photos, }: { photos: Photo[], }) { const { invalidateSwr } = useAppState(); return ( {photos.map(photo =>
{photo.title || 'Untitled'} {photo.hidden && } {photo.priorityOrder !== null && {photo.priorityOrder} }
} onFormSubmitToastMessage={` "${titleForPhoto(photo)}" EXIF data synced `} onFormSubmit={invalidateSwr} />
)}
); }