Primeros pasos
Ruta /pimia/primeros-pasos · componentes, campos y acciones del checkout documentado.
Ruta y puntos de edición
Ruta: /pimia/primeros-pasos. Revisión: 2aec1b16cc01.
Esta ficha procede de lectura estática del código. Los componentes asociados pueden incluir diálogos cerrados y bloques condicionales. Las expresiones dinámicas se conservan como código; no equivalen a campos siempre visibles ni a permisos concedidos.
| Capa | Archivo relativo al repositorio |
|---|---|
| Ruta | src/app/pimia/primeros-pasos/page.tsx |
| Adaptador Next.js | src/host/screens/PimiaArranqueScreens.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaArranqueScreen.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaStates.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaScreenShell.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaPageHeader.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaCompanyDialog.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaArranqueLista.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaConnectDialog.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaAddressFields.tsx |
PimiaArranqueScreen
Fuente: src/features/pimia/ui/PimiaArranqueScreen.tsx.
Estados reutilizados
-
PimiaNotConnected -
PimiaRowsSkeleton
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
gap-0, gap-4, p-6, text-primary, text-sm, text-foreground, text-muted-foreground.
PimiaStates
Fuente: src/features/pimia/ui/PimiaStates.tsx.
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Conectar una empresa | () => setIsConnectOpen(true) | No declarado en este nodo | 99 |
| Rótulo dinámico / icono | () => void goPimiaPath(notFound.listPath) | No declarado en este nodo | 233 |
| Rótulo dinámico / icono | delegado al contenedor | No declarado en este nodo | 247 |
| Rótulo dinámico / icono | () => void goPimiaPath( closedDoor.action?.kind === "plan" ? PLAN_PATH : MODULES_SETTINGS_PATH, ) | No declarado en este nodo | 257 |
| Volver a conectar | () => setIsConnectOpen(true) | No declarado en este nodo | 273 |
| Reintentar | onRetry | No declarado en este nodo | 279 |
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
gap-4, p-8, text-center, text-base, text-foreground, text-sm, text-muted-foreground, gap-2, overflow-hidden, bg-muted/40.
PimiaCompanyDialog
Fuente: src/features/pimia/ui/PimiaCompanyDialog.tsx.
Campos y controles
La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.
| Etiqueta o pista | Control | Enlace de estado | Reglas JSX | Línea |
|---|---|---|---|---|
| Razón social | Input | form.name | required=true | 182 |
| Nombre comercial | Input | form.tradeName | No declaradas en este nodo | 205 |
| NIF / CIF | Input | form.taxId | No declaradas en este nodo | 219 |
| Correo | Input | form.email | type=email | 249 |
| Teléfono | Input | form.phone | No declaradas en este nodo | 265 |
| Sin etiqueta literal resoluble | Select | form.address.countryId | No declaradas en este nodo | 292 |
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Cancelar | () => onOpenChange(false) | No declarado en este nodo | 349 |
| Guardar | submit del formulario | !puedeGuardar | 356 |
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
overflow-y-auto, text-sm, text-foreground, text-xs, text-muted-foreground, grid-cols-1, gap-4, sm:grid-cols-2, text-destructive.
PimiaArranqueLista
Fuente: src/features/pimia/ui/PimiaArranqueLista.tsx.
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Rótulo dinámico / icono | () => { if (paso.clave === "identidad") { onEditarIdentidad(); return; } const destino = DESTINOS[paso.clave]; if (destino) { void goPimiaPath(destino); } } | No declarado en este nodo | 84 |
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
gap-x-4, gap-y-3, text-sm, text-muted-foreground, bg-primary, text-primary-foreground, text-xs.
PimiaConnectDialog
Fuente: src/features/pimia/ui/PimiaConnectDialog.tsx.
Campos y controles
La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.
| Etiqueta o pista | Control | Enlace de estado | Reglas JSX | Línea |
|---|---|---|---|---|
| Tu empresa | Input | baseUrl | disabled=connect.isPending | 114 |
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Cancelar | () => handleOpenChange(false) | No declarado en este nodo | 155 |
| Rótulo dinámico / icono | submit del formulario | !canSubmit | 162 |
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
text-sm, text-foreground, gap-2, text-muted-foreground, text-xs, text-destructive.
PimiaAddressFields
Fuente: src/features/pimia/ui/PimiaAddressFields.tsx.
Campos y controles
La columna «Reglas JSX» recoge propiedades explícitas; la validación adicional vive en los helpers y en el servidor. El enlace de estado indica dónde se lee el valor.
| Etiqueta o pista | Control | Enlace de estado | Reglas JSX | Línea |
|---|---|---|---|---|
| A nombre de | Input | form.name | No declaradas en este nodo | 70 |
| Dirección | Input | form.street1 | No declaradas en este nodo | 79 |
| Segunda línea | Input | form.street2 | No declaradas en este nodo | 89 |
| Código postal | Input | form.zip | No declaradas en este nodo | 99 |
| Ciudad | Input | form.city | No declaradas en este nodo | 108 |
| Provincia | Input | form.state | No declaradas en este nodo | 116 |
| Teléfono de esta dirección | Input | form.phone | No declaradas en este nodo | 126 |
Clases de presentación locales
Selección de clases literales; las clases condicionales y los estilos de los primitivos se consultan en el archivo.
text-xs, text-muted-foreground, grid-cols-1, gap-4, sm:grid-cols-3.
Hooks, adaptadores y utilidades relacionados
-
src/features/pimia/api/auth.ts -
src/features/pimia/api/company.ts -
src/features/pimia/api/pimiaClient.ts -
src/features/pimia/hooks/usePimiaArranque.ts -
src/features/pimia/hooks/usePimiaAuth.ts -
src/features/pimia/hooks/usePimiaEmpresa.ts -
src/features/pimia/hooks/usePimiaResources.ts -
src/features/pimia/lib/arranque.ts -
src/features/pimia/lib/closedDoors.ts -
src/features/pimia/lib/companyDraft.ts -
src/features/pimia/lib/missingRecord.ts -
src/features/pimia/lib/scopeDenial.ts
Antes de entregar un retoque
- Revisa los archivos de formulario y sus helpers antes de cambiar tipos, obligatoriedad o valores iniciales.
- Prueba carga, error, vacío, permisos insuficientes y guardado pendiente en las variantes que usa esta pantalla.
- Comprueba escritorio, móvil, teclado, tema oscuro y scroll con suficientes filas.
- Conserva los handlers y la invalidación de datos al modificar la presentación.