# Funciones JavaScript

> Actualización 2026-10-23: este resumen refleja las funciones actualmente cargadas.

## JavaScript activo

| Archivo | Función o comportamiento | Uso |
|---|---|---|
| public/assets/js/tasks.js | toggleRow | Despliega o contrae el detalle de una fila de tarea con clic, Enter o Espacio. |
| public/assets/js/tasks.js | filterTasks | Filtra localmente las filas de tareas al escribir y actualiza el contador. |
| public/assets/js/tasks.js | openModal / closeModal | Abre y cierra el modal de creación de tareas; Escape también lo cierra. |
| public/assets/js/dashboard-links.js | navegación de estadísticas | Hace navegables con clic y teclado las tarjetas de Pendientes, Importantes, Proyectos y Notas. |

No hay polling, setInterval, fetch ni servicios externos. El enlace Sincronizar ahora recarga la ruta actual para volver a consultar MySQL.

## Funciones PHP añadidas recientemente

| Función | Archivo | Propósito |
|---|---|---|
| SettingsController::index | app/Controllers/SettingsController.php | Renderiza configuración y el estado de la migración. |
| SettingsController::updatePassword | app/Controllers/SettingsController.php | Comprueba contraseña actual, confirmación y actualiza el hash. |
| SettingsController::updateUpcomingTasksDays | app/Controllers/SettingsController.php | Valida el rango 0 a 3650 y guarda los días configurados. |
| User::supportsUpcomingTasksDays | app/Models/User.php | Detecta si la migración de configuración está aplicada. |
| DashboardData::forUser | app/Models/DashboardData.php | Obtiene métricas y próximas tareas filtradas por días. |

## Nota histórica

El apartado siguiente conserva un inventario inicial de funciones PHP. La afirmación previa de que no existía JavaScript quedó superada por los archivos locales descritos al inicio de este documento.

## Funciones PHP equivalentes importantes

| Función | Archivo | Propósito |
|---|---|---|
| Router::dispatch | app/Core/Router.php | Selecciona el handler según método y ruta. |
| Session::start | app/Core/Session.php | Inicia una sesión segura y aplica timeout. |
| Csrf::token / validate | app/Core/Csrf.php | Emite y valida CSRF. |
| Auth::check / login / logout | app/Core/Auth.php | Mantiene la identidad autenticada. |
| Project::accessibleByUser | app/Models/Project.php | Lista proyectos visibles por propietario o membresía. |
| Project::canManage | app/Models/Project.php | Verifica propietario o administrador. |
| Task::accessibleByUser | app/Models/Task.php | Lista tareas privadas o compartidas visibles. |
| Task::canWrite | app/Models/Task.php | Verifica autor, propietario, editor o administrador. |
| Task::setStatus | app/Models/Task.php | Completa/reabre usando control de versión. |

Las únicas funciones de cliente son confirmaciones nativas mediante onsubmit="return confirm(...)" en las vistas de proyectos y tareas.
