Activo
Ruta /pimia/inversiones/[assetId] · componentes, campos y acciones del checkout documentado.
Ruta y puntos de edición
Ruta: /pimia/inversiones/[assetId]. 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/inversiones/[assetId]/page.tsx |
| Adaptador Next.js | src/host/screens/PimiaInvestmentScreens.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaInvestmentAssetScreen.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaStates.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaPageHeader.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaScreenShell.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaStatCards.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaInvestmentAssetDialog.tsx |
| Vista o componente asociado | src/features/pimia/ui/PimiaConnectDialog.tsx |
PimiaInvestmentAssetScreen
Fuente: src/features/pimia/ui/PimiaInvestmentAssetScreen.tsx.
Columnas declaradas
- Año
- Cuota
- Acumulado
- Valor neto
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Inmovilizado | () => void goPimiaPath(INDICE) | No declarado en este nodo | 183 |
| Editar | () => setIsDialogOpen(true) | No declarado en este nodo | 250 |
| Borrar | () => { setDeleteError(null); setIsDeleteOpen(true); } | No declarado en este nodo | 258 |
| Borrar | (event) => { event.preventDefault(); void confirmarBorrado(); } | remove.isPending | 414 |
Estados reutilizados
-
PimiaNotConnected -
PimiaRowsSkeleton -
PimiaErrorState
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-muted-foreground, gap-2, p-5, text-sm, gap-4, sm:grid-cols-2, lg:grid-cols-3, text-xs, text-foreground, bg-muted/40, overflow-hidden, overflow-x-auto, text-right, text-destructive.
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.
PimiaInvestmentAssetDialog
Fuente: src/features/pimia/ui/PimiaInvestmentAssetDialog.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 |
|---|---|---|---|---|
| Nombre | Input | form.name | No declaradas en este nodo | 162 |
| Categoría | Input | form.category | No declaradas en este nodo | 175 |
| Fecha de compra | Input | form.purchaseDate | type=date | 200 |
| Valor de adquisición | Input | form.purchaseValue | No declaradas en este nodo | 218 |
| Valor residual | Input | form.residualValue | No declaradas en este nodo | 232 |
| Vida útil | Input | form.usefulLifeYears | No declaradas en este nodo | 248 |
| Descripción | Textarea | form.description | No declaradas en este nodo | 267 |
Acciones
| Rótulo literal | Handler o envío | Deshabilitado cuando | Línea |
|---|---|---|---|
| Cancelar | onClose | No declarado en este nodo | 292 |
| Rótulo dinámico / icono | () => void guardar() | isSaving || problema !== null | 295 |
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-1.5, gap-4, sm:grid-cols-2, text-xs, text-muted-foreground, sm:grid-cols-3, text-sm, text-destructive.
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.
Hooks, adaptadores y utilidades relacionados
-
src/features/pimia/api/auth.ts -
src/features/pimia/api/investmentAssets.ts -
src/features/pimia/api/pimiaClient.ts -
src/features/pimia/hooks/usePimiaAuth.ts -
src/features/pimia/hooks/usePimiaInversiones.ts -
src/features/pimia/hooks/usePimiaResources.ts -
src/features/pimia/lib/account.ts -
src/features/pimia/lib/calendar.ts -
src/features/pimia/lib/closedDoors.ts -
src/features/pimia/lib/investmentAssets.ts -
src/features/pimia/lib/missingRecord.ts -
src/features/pimia/lib/money.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.