+page.js 938 Bytes
import { supabase } from '$lib/supabase';

export async function load({ fetch }) {
  // Cargar resumen y población en paralelo
  const [resumenRes, pobRes] = await Promise.all([
    supabase
      .schema('ppto')
      .from('entidad_resumen')
      .select('codigo, desc, gestion, devengado, ranking')
      .eq('tipo', 'gastos')
      .eq('tipo_codigo', 'municipio_ubigeo')
      .eq('gestion', 2025)
      .order('devengado', { ascending: false })
      .limit(500),

    fetch('/poblacion.csv').then(r => r.text())
  ]);

  const poblacionMap = {};
  pobRes.split('\n').slice(1).forEach(line => {
    const [cod, gestion, pob] = line.split(',');
    if (parseInt(gestion) === 2025) {
      poblacionMap[cod] = parseInt(pob);
    }
  });

  const gestiones = [2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025];

  return {
    resumen: resumenRes.data || [],
    poblacionMap,
    gestiones,
    gestionInicial: 2025
  };
}