"use client" import { useState, useEffect } from "react" import { useAuth } from "@/lib/auth-context" import { useRouter } from "next/navigation" import { DashboardLayout } from "@/components/dashboard-layout" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Settings, User } from "lucide-react" import { apiFetch } from "@/lib/apiutils" export default function ConfiguracionPage() { const { user, refreshUser } = useAuth() const router = useRouter() const [profileData, setProfileData] = useState({ name: "", matricula: "", }) // Mock settings for General tab (simplified) const [settings, setSettings] = useState({ companyName: "AgroRecetas", companyEmail: "contacto@agroreceta.com", }) useEffect(() => { if (user) { setProfileData({ name: user.name || "", matricula: user.matricula || "", }) } }, [user]) // Protección de ruta para admin useEffect(() => { if (user && user.role !== "admin") { router.push("/dashboard") } }, [user, router]) if (user?.role !== "admin") { return null } const handleSave = () => { alert("Configuración general guardada exitosamente (Simulado)") } const handleSaveProfile = async () => { try { const res = await apiFetch("/profile", { method: "PUT", body: JSON.stringify(profileData), }) if (res.ok) { const data = await res.json() setProfileData({ name: data.user.name, matricula: data.user.matricula }) await refreshUser() alert("Perfil actualizado exitosamente.") // Optionally trigger a re-fetch of auth user if possible, or just let next reload handle it. } else { alert("Error al actualizar el perfil.") } } catch (error) { console.error(error) alert("Error de conexión al actualizar perfil.") } } return (

Configuración

Administra las configuraciones del sistema

Perfil General Información Personal Actualiza tu nombre y matrícula profesional
setProfileData({ ...profileData, name: e.target.value })} placeholder="Ej: Ing. Agr. Juan Pérez" />

Este nombre aparecerá en las recetas que emitas

setProfileData({ ...profileData, matricula: e.target.value })} placeholder="Ej: MP 12345" />

Tu matrícula profesional para firmar recetas

El email no puede ser modificado

Información de la Empresa Configura los datos básicos de tu organización
setSettings({ ...settings, companyName: e.target.value })} />
setSettings({ ...settings, companyEmail: e.target.value })} />
) }