# HuLibraries — Web

> **Referencia de patterns y reglas:** `humand-backoffice/src/pages/dashboard/HuLibraries/README.md`
> Este README documenta el estado actual y el scope de la migración. Para estructura, hooks, queries, naming y demás convenciones, ver el README del backoffice.

---

## Contexto de la migración

`HuLibraries/` es la migración a HuGo del módulo `../libraries/`. El objetivo es **paridad de features con `libraries/`**, no incorporar features exclusivas del backoffice (segmentación, permisos de editores, etc.).

La carpeta `../libraries/` **se eliminará** una vez completa la migración:
- No importar nada desde `../libraries/` en el código nuevo.
- Cuando necesites algo de ahí, **copiarlo/migrarlo** a `HuLibraries/` siguiendo los patrones del backoffice.

---

## Estado actual

| Área | Estado | Ubicación |
|------|--------|-----------|
| Routing base | ✅ Stub | `routes.ts` |
| Layout wrapper | ✅ Básico | `Layout/index.tsx` |
| Hook de título | ✅ Implementado | `hooks/useLibrariesTitle.ts` |
| Home page | ⚠️ Placeholder | `Home/index.tsx` (retorna string) |
| Article detail | ✅ Header + Breadcrumbs + Body | `Article/index.tsx` |
| Article edit (título) | ✅ SQDP-3378 | `Article/components/ArticleEditView.tsx`, `ArticleEdit.tsx` |
| Article skeleton | ✅ Header + Breadcrumbs + Body | `Article/components/ArticleSkeleton.tsx` |
| Article error | ✅ StateCard | `Article/components/ArticleError.tsx` |
| Article body (rich text) | ✅ Read-only HTMLBody | `Article/components/ArticleBody.tsx` |
| Update article mutation | ✅ SQDP-3378 | `hooks/useUpdateArticle.ts` |
| Unsaved changes warning | ✅ SQDP-3378 | `Article/components/CloseEditModal.tsx` + `useUnsavedWarning` |
| **Implementación actual (a migrar)** | ✅ Producción | `../libraries/` |

---

## Scope de la migración

### Usuario sin permisos de edición

**Configuración inicial**
- Feature flag para nuevo módulo en sidebar y routes ✅ DONE
- Header migrado a HuGo ✅ DONE
- Breadcrumbs migrados a HuGo ✅ DONE
- Humand sidebar auto-collapses al entrar al módulo ✅ DONE (SQDP-3599) — via `collapsedSidebarPath` en `src/utils/sidebar.ts`

**Contenido**
- Subartículos: listado migrado a HuGo
- Body: rich text body migrado a HuGo ✅ DONE (SQDP-3457)

**Sidebar**
- Sidebar con listado + accordion (componente de material-hu)
- Search migrado a HuGo

### Usuario con permisos de edición

**Contenido**
- Rich text input (TextArea con tabla y embed HTML)
- Archivos (ABM + orden): migrar lo existente

**Sidebar**
- Create article / Subarticle: acción de crear con drawer
- Sort articles: acción de ordenar con confirmación al cancelar

**Alerts**
- Inactive article alert: alert con mensaje + acción de activar en menú

**Acciones**
- Notifications: migrar notificaciones
- Duplicate: acción de duplicar

**Visual**
- Portada: mostrar (todos), editar (editor)
- Título: mostrar (todos), editar inline (editor) ✅ DONE (SQDP-3378)
- Ícono: mostrar (todos), editar (editor)
