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.6 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, emits, has_state, variant
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 emits has_state variant
app_shell component ts ui 1.0.0 impure FnAppShell(props: FnAppShellProps): JSX.Element Layout shell con header, navbar colapsable y area principal. Wrapper sobre Mantine AppShell.
mantine
layout
shell
navigation
component
ui
false
@mantine/core
react
name type required description
header ReactNode false Contenido del header superior
name type required description
navbar ReactNode false Contenido del sidebar de navegacion
name type required description
navbarWidth number false Ancho del navbar en px, default 250
name type required description
navbarCollapsed boolean false Si el navbar esta colapsado
name type required description
children ReactNode true Contenido principal del area main
Layout de aplicacion con header fijo, sidebar colapsable y area de contenido principal false
frontend/functions/ui/app_shell.tsx
false

Ejemplo

import { FnAppShell } from '@fn_library'

<FnAppShell
  header={<Group px="md">Logo</Group>}
  navbar={<NavLinks />}
  navbarCollapsed={collapsed}
>
  <MainContent />
</FnAppShell>

Notas

Wrapper sobre Mantine AppShell. El header tiene altura fija de 60px. El navbar colapsa tanto en mobile como en desktop cuando navbarCollapsed es true. El breakpoint de responsive es sm.