'use client' import type { AdminMedia } from '@admin/types' import { useFailedImageUrl } from '@admin/hooks/use-failed-image-url' import { cn } from '@admin/utils/shared/cn' import { FileText, Film, ImageOff } from 'lucide-react' import Image from 'next/image' interface MediaPreviewProps { media: AdminMedia isFilled?: boolean showMetadata?: boolean } export function MediaPreview({ media, isFilled = false, showMetadata = false }: MediaPreviewProps) { const { hasImageFailed, markImageFailed } = useFailedImageUrl(media.url) if (media.contentType.startsWith('image/') && !hasImageFailed) { return (
{media.filename}
{media.contentType} · {(media.size / 1024).toFixed(1)} KB