'use client'; import ImageSmall from '@/components/image/ImageSmall'; import Spinner from '@/components/Spinner'; import { getIdFromStorageUrl } from '@/services/storage'; import { clsx } from 'clsx/lite'; import { FaRegCircleCheck } from 'react-icons/fa6'; import { pathForAdminUploadUrl } from '@/app-core/paths'; import AddButton from './AddButton'; import { UrlAddStatus } from './AdminUploadsClient'; import ResponsiveDate from '@/components/ResponsiveDate'; import DeleteBlobButton from './DeleteBlobButton'; export default function AdminUploadsTable({ isAdding, urlAddStatuses, setUrlAddStatuses, }: { isAdding?: boolean urlAddStatuses: UrlAddStatus[] setUrlAddStatuses?: (urlAddStatuses: UrlAddStatus[]) => void }) { const isComplete = urlAddStatuses.every(({ status }) => status === 'added'); return (
{urlAddStatuses.map(({ url, status, statusMessage, uploadedAt }) =>
{getIdFromStorageUrl(url)}
{isAdding || isComplete ? status === 'added' ? 'Added' : status === 'adding' ? statusMessage ?? 'Adding ...' : 'Waiting' : uploadedAt ? : '—'}
{isAdding || isComplete ? <> {status === 'added' ? : status === 'adding' ? : } : <> setUrlAddStatuses?.(urlAddStatuses.filter( ({ url: urlToRemove }) => urlToRemove !== url, ))} /> }
)}
); }