Feature: CRUD de categorías + sesiones persistentes

- categorias.html: lista con conteo de movimientos, drawer para agregar/editar
- api/categorias.php: GET/POST/PUT/DELETE (DELETE bloqueado si tiene movimientos)
- categorias.js: grid de 30 íconos Material Symbols + paleta de 12 colores, preview en vivo
- Sidebar actualizado en todas las páginas con link a Categorías
- Sesiones PHP guardadas en pagos/db/sessions/ (bind mount) → sobreviven reinicios Docker
- Fix selector de categorías en add.html: sesiones persistentes resuelven el Cargando…

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo Monla
2026-06-03 16:49:27 -03:00
co-authored by Claude Sonnet 4.6
parent 7cb6107cb4
commit e98bfa0afb
9 changed files with 431 additions and 0 deletions
+3
View File
@@ -47,6 +47,9 @@ tailwind.config = {
<a href="add.html" class="flex items-center gap-3 px-3 py-2.5 rounded-xl text-on-surface-variant hover:bg-surface-container text-sm font-medium transition-colors">
<span class="material-symbols-outlined text-[20px]">add_circle</span>Nuevo movimiento
</a>
<a href="categorias.html" class="flex items-center gap-3 px-3 py-2.5 rounded-xl text-on-surface-variant hover:bg-surface-container text-sm font-medium transition-colors">
<span class="material-symbols-outlined text-[20px]">category</span>Categorías
</a>
<div class="mt-auto">
<button onclick="fetch('api/login.php?action=logout').then(()=>location.href='login.html')"
class="flex items-center gap-3 px-3 py-2.5 rounded-xl text-on-surface-variant hover:bg-surface-container text-sm font-medium transition-colors w-full">