import { useElapsedSeconds } from "@/presentation/hooks/useElapsedSeconds"; interface SlowLoadingPanelProps { active: boolean; title: string; hint?: string; steps?: string[]; } export function SlowLoadingPanel({ active, title, hint = "Na primeira carga após subir a API, o treino dos modelos pode levar até 2 minutos.", steps = [ "Carregando histórico de jogos", "Estimando parâmetros Dixon-Coles", "Montando ensemble de palpites", ], }: SlowLoadingPanelProps) { const elapsed = useElapsedSeconds(active); if (!active) return null; const stepIndex = Math.min(Math.floor(elapsed / 25), steps.length - 1); return (

{title}

{hint}

{elapsed}s

{steps[stepIndex]} {elapsed > 60 && " — ainda processando, aguarde…"}

); }