'use client'; import { PhotoIcon } from '@heroicons/react/24/outline'; import LoadingDots from 'components/loading-dots'; import { File as ShopifyFile } from 'lib/shopify/types'; import { ChangeEvent, useEffect, useId, useState, useTransition } from 'react'; import { getFileDetails } from './actions'; type FileInputProps = { name: string; label: string; fileId?: string | null; }; const FileInput = ({ name, label, fileId }: FileInputProps) => { const id = useId(); const [file, setFile] = useState(); const [defaultFileDetails, setDefaultFileDetails] = useState(); const [loading, startTransition] = useTransition(); const onFileChange = (e: ChangeEvent) => { if (e.target.files && e.target.files.length > 0) { setFile(e.target.files[0]); } }; useEffect(() => { if (!fileId) return; startTransition(async () => { const fileResponse = await getFileDetails(fileId); setDefaultFileDetails(fileResponse); }); }, [fileId]); return (

{loading ? : file?.name || defaultFileDetails?.alt}

); }; export default FileInput;