// Navigation model: 6 top-level modules with sub-items.
// Route keys are "module/sub" (e.g. "drilling/telemetria"). Resumen has no sub.

const NAV = [
  {
    id: 'drilling',
    label: 'Drilling',
    subtitle: 'Perforación · operación',
    icon: 'drill',
    children: [
      { id: 'info', label: 'Información general', icon: 'info' },
      { id: 'reporte', label: 'Reporte diario', icon: 'file' },
      { id: 'mantenimiento', label: 'Mantenimiento', icon: 'wrench' },
      { id: 'telemetria', label: 'Telemetría', icon: 'activity', sensor: true },
      { id: 'guardia', label: 'Cambio de guardia', icon: 'history' },
    ],
  },
  {
    id: 'geologia',
    label: 'Geología',
    subtitle: 'Reportes · programa',
    icon: 'layers',
    children: [
      { id: 'stock', label: 'Stock', icon: 'boxes' },
      { id: 'reporte', label: 'Reportes', icon: 'file' },
      { id: 'programa', label: 'Programa', icon: 'book' },
      { id: 'guardia', label: 'Cambio de guardia', icon: 'history' },
    ],
  },
  {
    id: 'fluidos',
    label: 'Fluidos y control de sólidos',
    short: 'Fluidos',
    subtitle: 'Químicos · análisis',
    icon: 'droplet',
    children: [
      { id: 'stock', label: 'Stock', icon: 'boxes' },
      { id: 'reporte', label: 'Reportes', icon: 'file' },
      { id: 'programa', label: 'Programa', icon: 'book' },
      { id: 'guardia', label: 'Cambio de guardia', icon: 'history' },
    ],
  },
  {
    id: 'hse',
    label: 'Seguridad y medio ambiente',
    short: 'HSE',
    subtitle: 'Seguridad · ambiente',
    icon: 'shield',
    children: [
      { id: 'stock', label: 'Stock', icon: 'boxes' },
      { id: 'reporte', label: 'Reportes', icon: 'file' },
      { id: 'programa', label: 'Programa', icon: 'book' },
      { id: 'guardia', label: 'Cambio de guardia', icon: 'history' },
    ],
  },
  {
    id: 'programa',
    label: 'Programa de pozo',
    subtitle: 'Pautas generales',
    icon: 'book',
    children: null,
  },
  {
    id: 'resumen',
    label: 'Resumen ejecutivo',
    subtitle: 'KPIs · reportes',
    icon: 'gauge',
    pinned: true,
    children: null,
  },
];

// Parse / build route keys
function parseRoute(r) {
  const [mod, sub = null] = (r || '').split('/');
  return { mod, sub };
}
function buildRoute(mod, sub) {
  return sub ? `${mod}/${sub}` : mod;
}

// Default sub per module
function defaultSub(modId) {
  const m = NAV.find((x) => x.id === modId);
  if (!m || !m.children) return null;
  return m.children[0].id;
}

// Lookup labels for breadcrumb
function routeLabels(route) {
  const { mod, sub } = parseRoute(route);
  const m = NAV.find((x) => x.id === mod);
  if (!m) return ['—', '—'];
  if (!sub) return [m.label, m.subtitle];
  const s = m.children?.find((c) => c.id === sub);
  return [m.label, s?.label || m.subtitle];
}

Object.assign(window, { NAV, parseRoute, buildRoute, defaultSub, routeLabels });
