'use client'; import * as React from 'react'; import { ImageOff } from 'lucide-react'; import { cn } from '@/lib/utils'; import { getFileUrl, type ImageQuality } from '@/lib/services/upload/utils'; type FileImagePreviewProps = { fileId: string | number; alt: string; quality?: ImageQuality; className?: string; fallbackClassName?: string; variant?: 'compact' | 'default'; }; export function FileImagePreview({ fileId, alt, quality = 'low', className, fallbackClassName, variant = 'default', }: FileImagePreviewProps) { const [failed, setFailed] = React.useState(false); const src = getFileUrl(fileId, quality); React.useEffect(() => { setFailed(false); }, [fileId, quality]); if (!src || failed) { return (