Pimia
DocumentaciónFrontendIntegracionesAPI ReferenceKnowledge BaseChangelog
PantallasAcceso e inicio

Plan y contratación

Ruta /pimia/plan · componentes, campos y acciones del checkout documentado.

Ruta y puntos de edición

Ruta: /pimia/plan. 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.

CapaArchivo relativo al repositorio
Rutasrc/app/pimia/plan/page.tsx
Adaptador Next.jssrc/host/screens/PimiaPlanScreens.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPlanScreen.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStates.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaScreenShell.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPageHeader.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaAjustesBloque.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPlanModulos.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPlanCatalogoIntegrador.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaPlanTarjeta.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaConfirmDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaConnectDialog.tsx

PimiaPlanScreen

Fuente: src/features/pimia/ui/PimiaPlanScreen.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Tarjeta y facturas() => void abrirPortal()portal.isPending580
Actualizar el método de pago() => void abrirPortal()portal.isPending737

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.

gap-3, text-sm, text-foreground, text-xs, text-muted-foreground, text-center, gap-2, bg-muted/40, gap-6, p-4, md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)], gap-1.5, gap-4, sm:grid-cols-2, lg:grid-cols-3.

PimiaStates

Fuente: src/features/pimia/ui/PimiaStates.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Conectar una empresa() => setIsConnectOpen(true)No declarado en este nodo99
Rótulo dinámico / icono() => void goPimiaPath(notFound.listPath)No declarado en este nodo233
Rótulo dinámico / iconodelegado al contenedorNo declarado en este nodo247
Rótulo dinámico / icono() => void goPimiaPath( closedDoor.action?.kind === "plan" ? PLAN_PATH : MODULES_SETTINGS_PATH, )No declarado en este nodo257
Volver a conectar() => setIsConnectOpen(true)No declarado en este nodo273
ReintentaronRetryNo declarado en este nodo279

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.

PimiaPlanModulos

Fuente: src/features/pimia/ui/PimiaPlanModulos.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 pistaControlEnlace de estadoReglas JSXLínea
Sin etiqueta literal resolubleCheckboxmarcadodisabled=!puede334

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono() => onMantener(modulo)!puerta.puede258
Rótulo dinámico / icono() => onApagar(modulo)!puerta.puede267
Rótulo dinámico / iconoonPagarmarcados.length === 0 || enVuelo388

Estados reutilizados

  • 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.

p-4, gap-2, bg-muted/40, text-sm, text-muted-foreground, text-xs, gap-3, text-foreground, gap-1, text-destructive, md:grid-cols-2, p-3, text-base, text-primary.

PimiaPlanCatalogoIntegrador

Fuente: src/features/pimia/ui/PimiaPlanCatalogoIntegrador.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono() => onContratar(item.contractUrl as string)No declarado en este nodo86

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-muted-foreground, gap-4, sm:grid-cols-2, lg:grid-cols-3, gap-2, text-xs, text-base, text-foreground, text-lg.

PimiaPlanTarjeta

Fuente: src/features/pimia/ui/PimiaPlanTarjeta.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 pistaControlEnlace de estadoReglas JSXLínea
Sin etiqueta literal resolubleCheckboxmarcadodisabled=enVuelo179

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Plan actualdelegado al contenedortrue244
Rótulo dinámico / icono() => onElegir( plan, marcados.map((modulo) => modulo.slug), )enVuelo248

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-2, text-base, text-foreground, text-sm, text-muted-foreground, text-right, text-primary, text-xs, gap-3, bg-muted/40, p-3.

PimiaConfirmDialog

Fuente: src/features/pimia/ui/PimiaConfirmDialog.tsx.

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Rótulo dinámico / icono(event) => { event.preventDefault(); onConfirmar(); }enVuelo91

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-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 pistaControlEnlace de estadoReglas JSXLínea
Tu empresaInputbaseUrldisabled=connect.isPending114

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Cancelar() => handleOpenChange(false)No declarado en este nodo155
Rótulo dinámico / iconosubmit del formulario!canSubmit162

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/pimiaClient.ts
  • src/features/pimia/api/shell.ts
  • src/features/pimia/api/tenantModules.ts
  • src/features/pimia/hooks/usePimiaAuth.ts
  • src/features/pimia/hooks/usePimiaModulos.ts
  • src/features/pimia/hooks/usePimiaPlan.ts
  • src/features/pimia/hooks/usePimiaResources.ts
  • src/features/pimia/lib/billing.ts
  • src/features/pimia/lib/closedDoors.ts
  • src/features/pimia/lib/missingRecord.ts
  • src/features/pimia/lib/planModulos.ts
  • src/features/pimia/lib/scopeDenial.ts
  • src/features/pimia/lib/tenantModules.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.

En esta página