23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import type { Route, Routes } from '@angular/router';
|
|||
|
|
import { permissionGuard } from './core/auth/guards';
|
||
|
|
|
||
|
|
/** Una pantalla de cliente: ruta del menú (`/inventario/inmovilizar-lotes`), título y su componente en diferido. */
|
||
|
|
export const clientRoute = (path: string, title: string, loadComponent: NonNullable<Route['loadComponent']>): Route => ({
|
||
|
|
path: path.slice(1),
|
||
|
|
canActivate: [permissionGuard],
|
||
|
|
data: { path, title },
|
||
|
|
loadComponent,
|
||
|
|
});
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Pantallas propias del cliente (vacío en `main`): cada una con su entrada en `menu.extensions.ts` de `libs/sap-types`.
|
||
|
|
* Se cargan en diferido, como todas.
|
||
|
|
*
|
||
|
|
* Ejemplo:
|
||
|
|
*
|
||
|
|
* clientRoute('/inventario/inmovilizar-lotes', 'Inmovilizar lotes', () => import('./features/client/inmovilizar.page').then((m) => m.InmovilizarPage)),
|
||
|
|
*/
|
||
|
|
export const CLIENT_ROUTES: Routes = [];
|
||
|
|
|
||
|
|
/** Las rutas de menú que ya tienen pantalla de cliente (no se muestran como «en construcción»). */
|
||
|
|
export const CLIENT_PATHS: readonly string[] = CLIENT_ROUTES.map((r) => `/${r.path}`);
|