Files
egutierrez 97a3c84625 refactor: migrate frontend from shadcn/Tailwind to Mantine v9
Reescribe todos los componentes UI para usar Mantine v9 en lugar de shadcn/Tailwind.
Elimina cn(), CVA, components.json, theme_provider custom y globals.css con Tailwind.
Añade 25+ componentes nuevos (AppShell, AuthForm, DatePickerInput, Dropzone, etc.)
y MantineProvider como wrapper estándar del sistema de temas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:46:44 +02:00

1.7 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, framework, props, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports framework props output tested tests test_file_path file_path
mantine_provider component ts ui 1.0.0 impure FnMantineProvider({ children, theme?, defaultColorScheme? }) Provider raiz de Mantine para apps del registry. Wrappea MantineProvider con Notifications incluido. Importa los CSS de @mantine/core, charts y notifications.
mantine
provider
theme
react
false error_go_core
@mantine/core
@mantine/notifications
@mantine/charts
react
name desc
children contenido de la app
name desc
theme tema Mantine creado con createTheme() — colores, fuentes, radio, etc.
name desc
defaultColorScheme esquema de color por defecto: 'dark' | 'light' | 'auto'
arbol React envuelto en MantineProvider con notificaciones false
frontend/functions/ui/mantine_provider.tsx

Ejemplo

import { createTheme, MantineColorsTuple } from '@mantine/core'
import { FnMantineProvider } from '@fn_library'

const brand: MantineColorsTuple = [
  '#e5f3ff', '#cde2ff', '#9ac2ff', '#64a0ff', '#3884fe',
  '#1d72fe', '#0063ff', '#0058e4', '#004ecd', '#0043b5'
]

const theme = createTheme({
  colors: { brand },
  primaryColor: 'brand',
})

function App() {
  return (
    <FnMantineProvider theme={theme} defaultColorScheme="dark">
      {/* Tu app aqui */}
    </FnMantineProvider>
  )
}

Notas

Reemplaza ThemeProvider + applyTheme del sistema anterior. Las apps definen su propio tema con createTheme() y lo pasan como prop. Los CSS de Mantine se importan una sola vez aqui.