Fix #114: Refactor ContenidoTemático: persistencia inmediata y normalización de datos

- Elimina botón "Guardar": persistencia automática al pulsar "Listo", al confirmar eliminación y al terminar de editar nombre de unidad.
- Añade mapper (mapContenidoTematicoFromDb) y serializador (serializeUnidadesToApi) para normalizar contenido_tematico <-> Array<ContenidoApi>.
- Conecta persistencia a useUpdateSubjectContenido: hace update directo de asignaturas.contenido_tematico en la BDD.
- Manejo de caché: setQueryData con merge y invalidación de keys centralizadas (qk.planAsignaturas, qk.planHistorial, qk.asignaturaHistorial) para evitar caché desactualizada o pérdida de relaciones.
- UX/estabilidad: identificadores consistentes, expansión inicial, y persistencia inmediata en puntos clave (añadir, editar, eliminar).
This commit is contained in:
2026-02-17 14:17:09 -06:00
parent 7d45eb4dfa
commit 02c415a91d
4 changed files with 254 additions and 106 deletions

View File

@@ -366,7 +366,8 @@ export default function AsignaturaDetailPage() {
<TabsContent value="contenido">
<ContenidoTematico
data={asignaturaApi}
asignaturaId={asignaturaId}
data={asignaturaApi ?? null}
isLoading={loadingAsig}
></ContenidoTematico>
</TabsContent>