// ═══════════════════════════════════════════════════════════════
// Hooks de dados · PCO e Censo (pesquisas) · TanStack Query
// ═══════════════════════════════════════════════════════════════
// Escopo global (app sem bundler). Registrado no index.html apos data.jsx.
// Fontes: getPCOPesquisas() / getCensoPesquisas() (LS), definidos em
// screen-pco.jsx. LS-first (ver plano Treinamentos).

// Aguarda o fetch do Supabase antes de ler. Era sincrono e LS-first: numa
// maquina sem cache local a tela montava, a query cacheava [] e nada
// invalidava depois — a lista nunca aparecia (bug do Recrutamento, 21/07).
async function resolvePCOPesquisas() {
  if (typeof fetchPCOPesquisasSupabase === 'function') { try { await fetchPCOPesquisasSupabase(); } catch {} }
  return (typeof getPCOPesquisas === 'function') ? getPCOPesquisas() : [];
}
function usePCOPesquisas() {
  const { useQuery } = ReactQuery;
  return useQuery({ queryKey: ['pco-pesquisas'], queryFn: resolvePCOPesquisas, staleTime: 300_000 });
}

// Aguarda o fetch do Supabase antes de ler. Era sincrono e LS-first: numa
// maquina sem cache local a tela montava, a query cacheava [] e nada
// invalidava depois — a lista nunca aparecia (bug do Recrutamento, 21/07).
async function resolveCensoPesquisas() {
  if (typeof fetchCensoPesquisasSupabase === 'function') { try { await fetchCensoPesquisasSupabase(); } catch {} }
  return (typeof getCensoPesquisas === 'function') ? getCensoPesquisas() : [];
}
function useCensoPesquisas() {
  const { useQuery } = ReactQuery;
  return useQuery({ queryKey: ['censo-pesquisas'], queryFn: resolveCensoPesquisas, staleTime: 300_000 });
}
