import { TOTAIS_ZERADOS, type TotaisPublicos } from "./totais";
import { placarDoServidor } from "./totais-do-servidor";

/* O placar chega pronto no HTML, e não só depois do primeiro fetch do
   navegador: assim o número não pisca em zero e fica visível para quem lê a
   página sem executar script. Usado pela home e pelas páginas das parceiras.

   Sem resposta do banco (totais-do-servidor.ts):
   - no build, entra zerado (o deploy não pode cair por isso) e o navegador
     corrige no primeiro ciclo;
   - na renovação da página (ISR), ERRA de propósito: o Next mantém a versão
     anterior, que tem o número certo, em vez de guardar um zero por 30 min. */
export async function carregarTotais(): Promise<TotaisPublicos> {
  const placar = await placarDoServidor();
  if (placar) return placar;
  if (process.env.NEXT_PHASE === "phase-production-build") return TOTAIS_ZERADOS;
  throw new Error("Placar da landing sem resposta do banco: a página anterior continua valendo.");
}
