'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 (