import { useState } from 'react' import { uploadNip95Media } from '@/lib/nip95' import Image from 'next/image' interface ImageUploadFieldProps { id: string label: string value?: string | undefined onChange: (url: string) => void helpText?: string | undefined } export function ImageUploadField({ id, label, value, onChange, helpText }: ImageUploadFieldProps) { const [uploading, setUploading] = useState(false) const [error, setError] = useState(null) const handleFileSelect = async (e: React.ChangeEvent) => { const file = e.target.files?.[0] if (!file) { return } setError(null) setUploading(true) try { const media = await uploadNip95Media(file) if (media.type === 'image') { onChange(media.url) } else { setError('Seules les images sont autorisées') } } catch (e) { setError(e instanceof Error ? e.message : 'Erreur lors de l\'upload') } finally { setUploading(false) } } return (
{value && (
Profile picture
)}
{value && ( )}
{error && (

{error}

)} {helpText && (

{helpText}

)}
) }