diff --git a/apps/web/app/(dashboard)/configuracion/page.tsx b/apps/web/app/(dashboard)/configuracion/page.tsx new file mode 100644 index 0000000..cfd5835 --- /dev/null +++ b/apps/web/app/(dashboard)/configuracion/page.tsx @@ -0,0 +1,115 @@ +'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 } from 'lucide-react'; + +const themeOptions: { name: ThemeName; label: string; description: string }[] = [ + { name: 'light', label: 'Light', description: 'Tema claro profesional' }, + { name: 'vibrant', label: 'Vibrant', description: 'Colores vivos y modernos' }, + { name: 'corporate', label: 'Corporate', description: 'Diseño empresarial denso' }, + { name: 'dark', label: 'Dark', description: 'Modo oscuro con acentos neón' }, +]; + +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 + + + Elige el tema que mejor se adapte a tu preferencia + + + + + {themeOptions.map((option) => ( + setTheme(option.name)} + className={`relative p-4 rounded-lg border-2 text-left transition-all ${ + theme === option.name + ? 'border-primary bg-primary/5' + : 'border-border hover:border-primary/50' + }`} + > + {theme === option.name && ( + + + + )} + + {option.label} + + {option.description} + + + ))} + + + + + > + ); +}
Nombre
{user?.nombre}
Email
{user?.email}
Rol
{user?.role}
Empresa
{user?.tenantName}
{option.label}
+ {option.description} +