import { useState, useEffect } from 'react'; import { ProfileService } from '../services/profile.service'; import { useAuth } from '../context/AuthContext'; export default function PerfilPage() { const { user, refreshSession } = useAuth(); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); const [formData, setFormData] = useState({ firstName: '', lastName: '', phoneNumber: '' }); useEffect(() => { loadProfile(); }, []); const loadProfile = async () => { try { const data = await ProfileService.getProfile(); setFormData({ firstName: data.firstName || '', lastName: data.lastName || '', phoneNumber: data.phoneNumber || '' }); } catch (err) { console.error("Error loading profile", err); } finally { setLoading(false); } }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setSaving(true); try { await ProfileService.updateProfile(formData); alert('Perfil actualizado con éxito'); if (refreshSession) refreshSession(); } catch (err) { alert('Error al actualizar el perfil'); } finally { setSaving(false); } }; if (loading) { return (
); } return (

Mi Perfil

Gestiona tu información personal

{/* Sidebar Info */}
{user?.username?.[0].toUpperCase()}

{user?.username}

{user?.email}

{user?.userType === 3 ? '🛡️ Administrador' : '👤 Usuario Particular'}
{/* Edit Form */}
setFormData({ ...formData, firstName: e.target.value })} className="w-full bg-white/5 border border-white/10 rounded-2xl px-5 py-4 text-sm text-white outline-none focus:border-blue-500 transition-all font-medium" placeholder="Tu nombre" />
setFormData({ ...formData, lastName: e.target.value })} className="w-full bg-white/5 border border-white/10 rounded-2xl px-5 py-4 text-sm text-white outline-none focus:border-blue-500 transition-all font-medium" placeholder="Tu apellido" />
setFormData({ ...formData, phoneNumber: e.target.value })} className="w-full bg-white/5 border border-white/10 rounded-2xl px-5 py-4 text-sm text-white outline-none focus:border-blue-500 transition-all font-medium" placeholder="Ej: +54 9 11 1234 5678" />
); }