'use client'; import { Header } from '@/components/layouts/header'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { useThemeStore } from '@/stores/theme-store'; import { useAuthStore } from '@/stores/auth-store'; import { themes, type ThemeName } from '@/themes'; import { Check, Palette, User, Building, Sidebar, PanelTop, Minimize2, Sparkles } from 'lucide-react'; const themeOptions: { name: ThemeName; label: string; description: string; layoutDesc: string; layoutIcon: typeof Sidebar }[] = [ { name: 'light', label: 'Light', description: 'Tema claro profesional', layoutDesc: 'Sidebar estándar fijo', layoutIcon: Sidebar, }, { name: 'vibrant', label: 'Vibrant', description: 'Colores vivos y modernos', layoutDesc: 'Navegación horizontal superior', layoutIcon: PanelTop, }, { name: 'corporate', label: 'Corporate', description: 'Diseño empresarial denso', layoutDesc: 'Sidebar compacto (expande al hover)', layoutIcon: Minimize2, }, { name: 'dark', label: 'Dark', description: 'Modo oscuro con acentos neón', layoutDesc: 'Sidebar flotante con efecto glass', layoutIcon: Sparkles, }, ]; export default function ConfiguracionPage() { const { theme, setTheme } = useThemeStore(); const { user } = useAuthStore(); return ( <> {/* User Info */} Información del Usuario Nombre {user?.nombre} Email {user?.email} Rol {user?.role} {/* Company Info */} Información de la Empresa Empresa {user?.tenantName} {/* Theme Selection */} Tema Visual y Layout Cada tema incluye colores y distribución de elementos únicos {themeOptions.map((option) => { const LayoutIcon = option.layoutIcon; return ( setTheme(option.name)} className={`relative p-4 rounded-lg border-2 text-left transition-all ${ theme === option.name ? 'border-primary bg-primary/5 shadow-md' : 'border-border hover:border-primary/50' }`} > {theme === option.name && ( )} {/* Color Preview */} {/* Theme Info */} {option.label} {option.description} {/* Layout Info */} {option.layoutDesc} ); })} > ); }
Nombre
{user?.nombre}
Email
{user?.email}
Rol
{user?.role}
Empresa
{user?.tenantName}
{option.label}
{option.description}