refactor(frontend): migracion a Mantine y limpieza de widgets

- Migra el frontend a Mantine v9 siguiendo la regla de theming del registry (@fn_library, sin Tailwind/cn/CVA).
- Reescribe DashboardShell, FilterBar, Section, WidgetRenderer y todos los widgets (Area/Bar/Line/Pie/KPI/Sparkline/Table) con componentes y props de Mantine.
- Ajusta vite.config, main.tsx, App.tsx, app.css y env.d.ts.
- Añade postcss.config.cjs requerido por Mantine.
- Actualiza package.json y pnpm-lock.
- Ajusta config.go, main.go y los ejemplos (fn_registry_apps/overview) para el nuevo esquema de tipos en frontend/src/types.ts.
This commit is contained in:
2026-04-13 23:33:04 +02:00
parent b7f354e081
commit 4ec62f5ed6
25 changed files with 807 additions and 1096 deletions
+3 -2
View File
@@ -3,6 +3,7 @@
// Types for @fn_library — resolved at build time via Vite alias to frontend/functions/ui/
declare module '@fn_library' {
import type { FC } from 'react'
import type { SelectProps as MantineSelectProps } from '@mantine/core'
export const Card: FC<any>
export const CardContent: FC<any>
export const CardHeader: FC<any>
@@ -13,6 +14,6 @@ declare module '@fn_library' {
export const Button: FC<any>
export const Input: FC<any>
export const Skeleton: FC<any>
export interface SimpleSelectOption { value: string; label: string; disabled?: boolean }
export function SimpleSelect(props: { value: string; onValueChange: (value: string) => void; options: SimpleSelectOption[]; placeholder?: string; disabled?: boolean; size?: 'sm' | 'default'; className?: string }): React.ReactElement
export interface SelectProps extends MantineSelectProps {}
export function Select(props: SelectProps): React.ReactElement
}