Edifiko
Edifiko DocsDocumentación del proyecto
  • Overview
Proyecto
  • README
  • CONTRIBUTING
  • WORKFLOW
  • Workflows CI/CD
  • UI Components
  • Showcase: Works UI Components
  • Schemas
  • Servicios
  • Hooks
  • Utils
  • Types
  • Constants
  • Errors
  • API Materiales
Herramientas de IA
  • Agentes
  • Skills
  1. Documentación
  2. Constants

Constants

constants/README.md

Constants

Constantes globales de la aplicación. Agrupadas en archivos por dominio de responsabilidad.

Estructura de Archivos

text
constants/
├── app.constants.ts             # Rutas, roles y acceso por ruta
├── firebase.constants.ts        # Nombres de colecciones Firestore
└── icon-options.constants.ts    # Opciones de íconos de construcción (CONSTRUCTION_ICON_OPTIONS)

📌 app.constants.ts

REDIRECTS

Objeto as const con todas las rutas de la aplicación. Evita strings hardcodeados.

ts
REDIRECTS.LOGIN; // '/login'
REDIRECTS.CATEGORIES; // '/categories'
REDIRECTS.HOME; // '/home'

PUBLIC_ROUTES

string[] con las rutas que no requieren autenticación. Usado en el middleware y en AuthGuard.

ADMIN_ROUTES

string[] con las rutas exclusivas del rol admin.


🔥 firebase.constants.ts

COLLECTIONS

Nombres de colecciones Firestore como constante tipada. Todo acceso a Firestore en los servicios usa esta constante en lugar de strings literales.

ts
COLLECTIONS.GROUPS; // 'groups'
COLLECTIONS.CATEGORIES; // 'categories'
COLLECTIONS.SUBCATEGORIES; // 'subcategories'
COLLECTIONS.MATERIALS; // 'materials'
COLLECTIONS.USERS; // 'users'
// ...

🎨 icon-options.constants.ts

CONSTRUCTION_ICON_OPTIONS

Array<IIconOption> con 37 íconos del dominio construcción. Es la única fuente de verdad para los selectores de íconos en la UI.

Cada entry tiene la forma:

ts
{ key: 'brick-wall', label: 'Mampostería', lucideName: 'BrickWall', Icon: BrickWall }

Dónde se usa:

  • components/categories/dialog-create-group.tsx
  • components/categories/dialog-edit-group.tsx
  • components/categories/collapsable-category.tsx
  • components/categories/form-slot.tsx
  • utils/categories/icon-map.ts

Grupos temáticos:

  • Obra Gruesa y Materiales (BrickWall, Layers, Fence, Box, DiamondMinus)
  • Terminaciones y Pintura (PaintBucket, PaintRoller, Paintbrush, SprayCan, DoorOpen)
  • Instalaciones — Sanitaria, Eléctrica, Gas, Climatización
  • Herramientas (Hammer, Wrench, Drill, Scissors, PocketKnife)
  • Estructura y Obra (Ruler, Pickaxe, Shovel, HardHat)
  • Edificios y Logística (Building2, Factory, Warehouse, Truck)

Cómo Agregar Constantes

  • Para rutas nuevas: agregar a REDIRECTS y, si aplica, a PUBLIC_ROUTES o ADMIN_ROUTES.
  • Para colecciones Firestore nuevas: agregar a COLLECTIONS.
  • Para íconos nuevos: agregar un entry a CONSTRUCTION_ICON_OPTIONS con key en kebab-case, label descriptivo, lucideName exacto y el componente importado.