diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..1d62fde --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,29 @@ +# rm-PAGOs — Sistema de Gestión de Gastos y Pagos + +## Repositorio Git + +**Remote actual:** Gitea DIIAA — `http://10.0.10.205:3000/rmonla/rm-PAGOs.git` + +> ⚠️ La carpeta local está en `~/Documentos/GitHub/rm-PAGOs/` por convención de nombre de directorio, +> pero el repositorio **ya fue migrado a Gitea** y NO apunta a GitHub. +> Verificar siempre con `git remote -v` antes de operar. + +## Stack Técnico + +| Capa | Tecnología | +| :--- | :--- | +| **Frontend** | HTML + CSS Vainilla + JS (diseño Lumina Finance / Quiet Wealth) | +| **Backend** | PHP 8.2 | +| **Base de Datos** | SQLite3 | +| **Despliegue** | LXC `srvv-nginx-rm` (Debian 12, NGINX 1.22.1, HTTPS) | + +## Estructura + +``` +pagos/ → Aplicación desplegable (index.html, css/, api/, db/) +docs/plan/ → Plan de desarrollo (00_PLAN.md) +``` + +## Plan de Desarrollo + +Ver [`docs/plan/00_PLAN.md`](docs/plan/00_PLAN.md) — fases: Frontend estático → Backend PHP/SQLite → Integración → Despliegue. diff --git a/pagos/add.php b/pagos/add.php new file mode 100644 index 0000000..0e87e11 --- /dev/null +++ b/pagos/add.php @@ -0,0 +1,190 @@ +query("SELECT id, nombre FROM categorias ORDER BY nombre")->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + +Nuevo Movimiento — Quiet Wealth + + + + + + + + + + + + +
+ +
+ +

Nuevo Movimiento

+
+ +
+
+ + +
+ + +
+ + +
+ + +
+ +
+ $ + 0 +
+
+ + +
+ +
+ + expand_more +
+
+ + +
+
+ +
+ calendar_today + +
+
+
+ +
+ edit_note + +
+
+
+ + + +
+ + +
+ + +
+ + + +
+
+ +
+
+ + +
+ +
+ +
+ + + + + diff --git a/pagos/js/add.js b/pagos/js/add.js index 0d51807..7615524 100644 --- a/pagos/js/add.js +++ b/pagos/js/add.js @@ -13,27 +13,7 @@ document.addEventListener('DOMContentLoaded', () => { // Default a hoy iptFecha.valueAsDate = new Date(); - // Cargar categorías - cargarCategorias(); - - async function cargarCategorias() { - const sel = document.getElementById('ui-categoria'); - try { - const r = await apiFetch('api/categorias.php'); - if (!r) return; // redirigió a login - const data = await r.json(); - if (!data.categorias?.length) { - sel.innerHTML = ''; - return; - } - sel.innerHTML = data.categorias.map(c => - `` - ).join(''); - } catch (e) { - console.error('Error cargando categorías:', e); - sel.innerHTML = ''; - } - } + // Categorías ya vienen renderizadas por PHP (add.php) // Tipo selector const updateTipoUI = () => {