import { renderDashboard } from './DashboardPage.js'; import { renderFacturasPage } from './Facturas.js'; import { renderCreateInvoicePage } from './CreateInvoicePage.js'; import { renderClientesPage } from './ClientesPage.js'; import { renderSettingsPage } from './SettingsPage.js'; import { renderBancoPage } from './BancoPage.js'; import { icons } from '../services/icons.js'; export const pagesRegistry = [ { route: 'dashboard', name: 'Dashboard', icon: icons.dashboard, voicePatterns: ['dashboard', 'inicio', 'ir al inicio', 'ir al dashboard', 'resumen', 'home', 'panel', 'principal'], requiresAuth: true, showInSidebar: true, render: renderDashboard }, { route: 'invoices', name: 'Facturas', icon: icons.invoices, voicePatterns: ['facturas', 'ver facturas', 'ir a facturas', 'lista facturas', 'mis facturas', 'listado facturas'], requiresAuth: true, showInSidebar: true, render: renderFacturasPage }, { route: 'create-invoice', name: 'Nueva Factura', icon: icons.plus, voicePatterns: ['nueva factura', 'crear factura', 'factura nueva', 'añadir factura'], requiresAuth: true, showInSidebar: false, render: renderCreateInvoicePage }, { route: 'clients', name: 'Clientes', icon: icons.clients, voicePatterns: ['clientes', 'ver clientes', 'ir a clientes', 'lista clientes', 'mis clientes'], requiresAuth: true, showInSidebar: true, render: renderClientesPage }, { route: 'banco', name: 'Banco', icon: icons.bank, voicePatterns: ['banco', 'ir al banco', 'cuentas', 'cuentas bancarias', 'movimientos'], requiresAuth: true, showInSidebar: true, render: renderBancoPage }, { route: 'settings', name: 'Configuración', icon: icons.settings, voicePatterns: ['configuración', 'configuracion', 'ajustes', 'settings', 'preferencias'], requiresAuth: true, showInSidebar: true, render: renderSettingsPage } ]; export function getAvailablePages(isAuthenticated) { if (!isAuthenticated) { return []; } return pagesRegistry.filter(page => { if (page.requiresAuth && !isAuthenticated) return false; return page.showInSidebar; }); } export function getPageByRoute(route) { return pagesRegistry.find(page => page.route === route); }