'use client'; import { useEffect, useState, useCallback } from 'react'; import { api } from '@/lib/api'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { toast } from 'sonner'; import { Save } from 'lucide-react'; export default function SettingsPage() { const [settings, setSettings] = useState | null>(null); const [editValue, setEditValue] = useState(''); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); const [error, setError] = useState(null); const load = useCallback(() => { setLoading(true); setError(null); api.get>('/settings') .then((data) => { setSettings(data); setEditValue(JSON.stringify(data, null, 2)); }) .catch(() => setError('Error al cargar configuración')) .finally(() => setLoading(false)); }, []); useEffect(() => { load(); }, [load]); const save = async () => { setSaving(true); try { const parsed = JSON.parse(editValue); await api.patch('/settings', parsed); setSettings(parsed); toast.success('Configuración guardada'); } catch (e: any) { toast.error(e?.message || 'Error al guardar'); } finally { setSaving(false); } }; if (loading) { return
Cargando...
; } if (error) { return (

{error}

); } return (

Configuración

Configuración global (JSON)