{"version":3,"file":"dashboard-loader.mjs","sources":["../../../../src/lib/routing/loaders/dashboard-loader.ts"],"sourcesContent":["import type { LoaderFunctionArgs } from 'react-router-dom';\nimport { queryClient } from '@/lib/queries/queryClient';\nimport { dashboardStatsQueryOptions, dashboardChartsQueryOptions } from '@/lib/queries/dashboard';\n\n/**\n * Data router loader that prefetches dashboard data before rendering.\n */\nexport async function dashboardLoader({ request }: LoaderFunctionArgs): Promise<null> {\n  const url = new URL(request.url);\n\n  // Prefetch dashboard overview data\n  await queryClient.prefetchQuery(dashboardStatsQueryOptions());\n\n  // Prefetch metrics if on analytics page\n  if (url.pathname.includes('analytics')) {\n    const from = url.searchParams.get('from');\n    const to = url.searchParams.get('to');\n    const range = from != null && to != null ? `${from}_${to}` : '7d';\n    await queryClient.prefetchQuery(dashboardChartsQueryOptions(range));\n  }\n\n  // Return null as data is cached in React Query\n  return null;\n}\n"],"names":["dashboardLoader","request","url","queryClient","dashboardStatsQueryOptions","from","to","range","dashboardChartsQueryOptions"],"mappings":";;AAOA,eAAsBA,EAAgB,EAAE,SAAAC,KAA8C;AACpF,QAAMC,IAAM,IAAI,IAAID,EAAQ,GAAG;AAM/B,MAHA,MAAME,EAAY,cAAcC,GAA4B,GAGxDF,EAAI,SAAS,SAAS,WAAW,GAAG;AACtC,UAAMG,IAAOH,EAAI,aAAa,IAAI,MAAM,GAClCI,IAAKJ,EAAI,aAAa,IAAI,IAAI,GAC9BK,IAAQF,KAAQ,QAAQC,KAAM,OAAO,GAAGD,CAAI,IAAIC,CAAE,KAAK;AAC7D,UAAMH,EAAY,cAAcK,EAA4BD,CAAK,CAAC;AAAA,EACpE;AAGA,SAAO;AACT;"}