import { useEffect, useState } from 'react' import { Check } from 'lucide-react' import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetFooter } from '@/components/ui/sheet' import { Label } from '@/components/ui/label' import { Input } from '@/components/ui/input' import { Button } from '@/components/ui/button' import { supabase } from '@/lib/supabase' import { useAuth } from '@/auth/AuthContext' interface ProfileSheetProps { open: boolean onOpenChange: (open: boolean) => void } export function ProfileSheet({ open, onOpenChange }: ProfileSheetProps) { const { user, updateUser } = useAuth() const [name, setName] = useState('') const [company, setCompany] = useState('') const [saving, setSaving] = useState(false) useEffect(() => { if (open && user) { setName(user.name) setCompany(user.company ?? '') } }, [open, user]) async function handleSave() { if (!user || !name.trim()) return setSaving(true) try { const { error } = await supabase .from('users') .update({ name: name.trim(), company: company.trim() || null }) .eq('id', user.id) if (error) throw error updateUser({ name: name.trim(), company: company.trim() || undefined }) onOpenChange(false) } catch (err) { console.error('Error al guardar perfil:', err) } finally { setSaving(false) } } return ( Editar perfil
setName(e.target.value)} placeholder="Tu nombre" />
setCompany(e.target.value)} placeholder="InQuality" />
) }