<script lang="ts">
  import type { Snippet } from 'svelte';
  import { page } from '$app/state';
  import { sedePath, withFilters, withYear } from '#lib/navigation.ts';
  import type { Breadcrumb } from '#lib/types/escolar.ts';
  import type { LayoutData } from './$types';
  let { data, children }: { data: LayoutData; children: Snippet } = $props();
  const items = $derived.by(() => {
    const base = sedePath(data.sede.id);
    const parts = page.url.pathname.split('/').filter(Boolean);
    const section = parts[2];
    const labels: Record<string, string> = { grados: 'Grados', docentes: 'Docentes', asignaturas: 'Asignaturas', estudiantes: 'Estudiantes', horarios: 'Horarios', jornadas: 'Jornadas', catalogos: 'Catálogos', parametros: 'Parámetros', export: 'Exportar datos', 'mapa-estudiantes': 'Mapa de estudiantes', 'historial-matriculados': 'Historial de matrículas', 'unificar-alumnos': 'Unificar duplicados' };
    const result: Breadcrumb[] = [
      { label: 'Sedes', href: withYear('/', data.ano) },
      { label: data.sede.nombre, href: section ? withYear(base, data.ano) : undefined }
    ];
    const temporaryMetric = page.url.searchParams.get('temporal') === '1';
    if (temporaryMetric && ['estudiantes', 'asignaturas', 'docentes'].includes(section || '')) result.push({ label: labels.grados, href: withYear(base + '/grados', data.ano) });
    if (section && labels[section]) result.push({ label: labels[section], href: parts[3] ? withYear(base + '/' + section, data.ano) : undefined });
    if (section === 'catalogos' && parts[3] && page.data.definition?.title) result.push({ label: page.data.definition.title });
    if (page.data.grado) result.push({ label: page.data.grado.nombre });
    return result;
  });
</script>
{@render children()}
