Pimia
DocumentaciónFrontendIntegracionesAPI ReferenceKnowledge BaseChangelog
PantallasTrabajo y servicios

Tareas

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

Ruta y puntos de edición

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

Vista en el tenant de referencia

Tareas en Pimia

Captura de escritorio del tenant de demostración Reformas Vera, S.L., tomada el 10 de septiembre de 2026. Los datos ilustran la composición de la pantalla y pueden cambiar.

CapaArchivo relativo al repositorio
Rutasrc/app/pimia/tareas/page.tsx
Adaptador Next.jssrc/host/screens/PimiaTaskScreens.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTasksScreen.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/PimiaStatusTabs.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaFilterBar.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTablePanel.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTaskRow.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTaskDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaConnectDialog.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaStatusBadge.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaTaskActions.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaAssigneeField.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaFieldCaption.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaProjectCombobox.tsx
Vista o componente asociadosrc/features/pimia/ui/PimiaCustomerCombobox.tsx

PimiaTasksScreen

Fuente: src/features/pimia/ui/PimiaTasksScreen.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 resolubleSelecttype ?? ALLNo declaradas en este nodo601
Sin etiqueta literal resolubleSelectassignedUserId === null ? ALL : String(assignedUserId)No declaradas en este nodo633
Sólo vencidasSwitchoverdueNo declaradas en este nodo680
Ocultar lo cerradoSwitchhidesCloseddisabled=!canHideClosed702

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Nueva tareaopenNewNo declarado en este nodo499
Ver todas() => { /* `replace`: quitar un filtro no es navegar a otra pantalla, y * llenar el historial de estados intermedios rompe el botón de * atrás. El enlace de entrada sí se queda, que es lo que importa. */ void goPimiaPath(pathWith(null, null), { replace: true }); }No declarado en este nodo549
Limpiar() => { setSearchInput(""); setSearch(""); setStatus(null); setType(null); setAssignedUserId(null); setOverdue(false); setHideClosed(false); }No declarado en este nodo581
Rótulo dinámico / icono() => toggleSection(section)No declarado en este nodo789
Traer hasta() => onLimitChange(nextLimit)isBusy940

Estados reutilizados

  • PimiaNotConnected
  • PimiaRowsSkeleton
  • PimiaErrorState
  • PimiaEmpty

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, gap-2, bg-primary/5, text-sm, text-primary, text-foreground, gap-1, hover:text-foreground, gap-1.5, bg-background, gap-x-2, gap-y-0.5, text-left, transition-colors, hover:bg-muted/40, gap-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.

PimiaFilterBar

Fuente: src/features/pimia/ui/PimiaFilterBar.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
searchLabel ?? searchPlaceholderInputsearchValue ?? ""No declaradas en este nodo56

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.

PimiaTaskRow

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
isCancelled ? `«${task.title}» está cancelada: su estado se cambia desde el menú de la fila` : isDone ? `Reabrir «${task.title}»` : `Marcar «${task.title}» como hecha`toggleNo declarado en este nodo271
Rótulo dinámico / icono() => onEdit(task)No declarado en este nodo316
Rótulo dinámico / iconoopenTaskableNo declarado en este nodo334

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-x-3, gap-y-2, transition-colors, hover:bg-muted/30, text-muted-foreground, gap-y-1, text-xs, hover:text-foreground, gap-2.

PimiaTaskDialog

Fuente: src/features/pimia/ui/PimiaTaskDialog.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
Título (obligatorio)Inputform.titleNo declaradas en este nodo475
DescripciónTextareaform.description ?? ""No declaradas en este nodo497
Sin etiqueta literal resolubleSelectform.typeNo declaradas en este nodo509
Sin etiqueta literal resolubleSelectform.priorityNo declaradas en este nodo528
Sin etiqueta literal resolubleSelectform.statusNo declaradas en este nodo549
Vence elInputform.dueDate ?? ""type=date570
HoraInputform.dueTime ?? ""type=time; disabled=form.dueDate === null589
Estimación (min)InputestimateTextNo declaradas en este nodo610
Sin etiqueta literal resolubleSelectform.taskableType ?? LINK_NONENo declaradas en este nodo839
ObraPimiaProjectComboboxvalueNo declaradas en este nodo963
ClientePimiaCustomerComboboxvalue === null ? null : String(value)No declaradas en este nodo1033

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Cancelar() => onOpenChange(false)No declarado en este nodo659
Rótulo dinámico / iconosubmit del formularioNo declarado en este nodo674
ReintentaronRetryNo declarado en este nodo746
Quitar el vínculo() => onChange(null, null, null)No declarado en este nodo817

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-muted-foreground, text-xs, text-destructive, gap-4, sm:grid-cols-3, bg-destructive/5, p-2.5, p-3, text-sm, text-foreground, sm:grid-cols-2.

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.

PimiaTaskActions

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
`Acciones de ${task.title}`delegado al contenedorNo declarado en este nodo320
Editar() => onEdit(task)No declarado en este nodo344
Rótulo dinámico / icono() => void handleStatus(action.status)No declarado en este nodo352
Delegar en Pim() => void handleDelegate()No declarado en este nodo378
Ver los partes de tiempo() => void goPimiaPath(timeEntriesPath(task.id))No declarado en este nodo389
Eliminar() => setIsConfirmingDelete(true)No declarado en este nodo402
Eliminar() => void handleDelete()No declarado en este nodo430

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, text-xs.

PimiaAssigneeField

Fuente: src/features/pimia/ui/PimiaAssigneeField.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 resolubleSelectassignedUserId === null ? SIN_NADIE : String(assignedUserId)No declaradas en este nodo161

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
Asignármelo a mí() => onChange(currentUserId, currentUserName)No declarado en este nodo137
Dejarlo sin responsable() => onChange(null, null)No declarado en este nodo148

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-3, text-sm, text-foreground, gap-2, text-muted-foreground, text-xs.

PimiaProjectCombobox

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
labeldelegado al contenedordisabled81

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-muted-foreground, p-0, text-xs.

PimiaCustomerCombobox

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

Acciones

Rótulo literalHandler o envíoDeshabilitado cuandoLínea
labeldelegado al contenedordisabled87

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, p-0, text-xs.

Hooks, adaptadores y utilidades relacionados

  • src/features/pimia/api/auth.ts
  • src/features/pimia/api/customers.ts
  • src/features/pimia/api/estimates.ts
  • src/features/pimia/api/invoices.ts
  • src/features/pimia/api/pimiaClient.ts
  • src/features/pimia/api/projects.ts
  • src/features/pimia/api/tasks.ts
  • src/features/pimia/api/team.ts
  • src/features/pimia/hooks/usePimiaAuth.ts
  • src/features/pimia/hooks/usePimiaDelegacion.ts
  • src/features/pimia/hooks/usePimiaEquipo.ts
  • src/features/pimia/hooks/usePimiaResources.ts
  • src/features/pimia/hooks/usePimiaTareas.ts
  • src/features/pimia/hooks/usePimiaTiempos.ts
  • src/features/pimia/lib/calendar.ts
  • src/features/pimia/lib/civilDates.ts
  • src/features/pimia/lib/closedDoors.ts
  • src/features/pimia/lib/delegation.ts
  • src/features/pimia/lib/duration.ts
  • src/features/pimia/lib/missingRecord.ts
  • src/features/pimia/lib/scopeDenial.ts
  • src/features/pimia/lib/taskDraft.ts
  • src/features/pimia/lib/tasks.ts
  • src/features/pimia/lib/team.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