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'; // Registry of all pages available in the application export const pagesRegistry = [ { route: 'dashboard', name: 'Dashboard', icon: '', requiresAuth: true, showInSidebar: true, render: renderDashboard }, { route: 'invoices', name: 'Facturas', icon: '', requiresAuth: true, showInSidebar: true, render: renderFacturasPage }, { route: 'create-invoice', name: 'Nueva Factura', icon: '+', requiresAuth: true, showInSidebar: false, // No mostrar en sidebar render: renderCreateInvoicePage }, { route: 'clients', name: 'Clientes', icon: '', requiresAuth: true, showInSidebar: true, render: renderClientesPage }, { route: 'settings', name: 'Configuración', icon: '', requiresAuth: true, showInSidebar: true, render: renderSettingsPage } ]; // Get pages that the user can access export function getAvailablePages(isAuthenticated) { if (!isAuthenticated) { return []; } // Filter pages based on authentication requirement and sidebar visibility return pagesRegistry.filter(page => { if (page.requiresAuth && !isAuthenticated) return false; return page.showInSidebar; }); } // Get page by route export function getPageByRoute(route) { return pagesRegistry.find(page => page.route === route); }