feat: secciones configurables del indice (apps/system, manifiesto MODULE_SECTION)
This commit is contained in:
1 parent
5c6d6bc46e
commit
3787152ca0
2 files changed
+175
-119
No files matched your search
@@ -167,3 +167,37 @@ export function displayName(name: string) {
|
||||
export function moduleUrl(m: ModuleState) {
|
||||
return `https://${m.subdomain}.devops.norteamericano.cl`;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Secciones del índice: dónde aparece cada módulo.
|
||||
// - Todo módulo nuevo cae en "apps" (Aplicaciones) automáticamente.
|
||||
// - Para mover un módulo a otra sección, agrégalo a MODULE_SECTION.
|
||||
// - Para crear una sección futura: agrega una entrada en SECTIONS
|
||||
// (id, título, icono) y la regla en MODULE_SECTION o en
|
||||
// sectionOf(). El índice la renderiza sola si tiene módulos.
|
||||
// ============================================================
|
||||
|
||||
export interface Section {
|
||||
id: string;
|
||||
title: string;
|
||||
icon: string;
|
||||
}
|
||||
|
||||
export const SECTIONS: Section[] = [
|
||||
{ id: "apps", title: "Selección de Aplicación", icon: "bx-grid-alt" },
|
||||
{ id: "system", title: "Backend & Sistema", icon: "bx-server" },
|
||||
];
|
||||
|
||||
const MODULE_SECTION: Record<string, string> = {
|
||||
// Ejemplos:
|
||||
// contabilidad: "system",
|
||||
// pagos: "system",
|
||||
};
|
||||
|
||||
export function sectionOf(name: string): string {
|
||||
const key = name.toLowerCase();
|
||||
if (MODULE_SECTION[key]) return MODULE_SECTION[key];
|
||||
const known = SECTIONS.some((s) => s.id === key);
|
||||
if (known) return key;
|
||||
return "apps";
|
||||
}
|
||||
Reference in new issue
Block a user