diff --git a/src/routes/bem-vindo.tsx b/src/routes/bem-vindo.tsx index 4efd6c3..90e1abb 100644 --- a/src/routes/bem-vindo.tsx +++ b/src/routes/bem-vindo.tsx @@ -80,11 +80,23 @@ function WelcomePage() { return () => clearTimeout(t); }, [step]); - // Se já completou o onboarding, vai direto para /painel + // Se já completou o onboarding E já conectou o Telegram, vai direto para /painel. + // Se ainda não conectou o Telegram mas já tem nome do agente, pula direto para a etapa 3. + const jumpedToStep3 = useRef(false); useEffect(() => { if (!agent) return; - if (agent.onboarding_completed) { + if (agent.onboarding_completed && agent.telegram_bot_token_vault_id) { navigate({ to: "/painel", search: {} }); + return; + } + if ( + !jumpedToStep3.current && + agent.onboarding_completed && + !agent.telegram_bot_token_vault_id && + agent.agent_name + ) { + jumpedToStep3.current = true; + setStep(3); } }, [agent, navigate]); diff --git a/src/routes/painel.index.tsx b/src/routes/painel.index.tsx index 2059052..73afba0 100644 --- a/src/routes/painel.index.tsx +++ b/src/routes/painel.index.tsx @@ -36,17 +36,17 @@ function DashboardPage() { const previousStatusRef = useRef(null); // Redireciona para /bem-vindo se cliente acabou de pagar e ainda não completou onboarding + // OU se ainda não conectou o Telegram (para usar o novo fluxo de Managed Bot) useEffect(() => { if (search.status !== "success" || !agent) return; if (agent.status === "suspended" || agent.status === "error") { navigate({ search: { status: undefined }, replace: true }); return; } - if (!agent.onboarding_completed) { + if (!agent.onboarding_completed || !agent.telegram_bot_token_vault_id) { navigate({ to: "/bem-vindo", replace: true }); return; } - if (!agent.telegram_bot_username) setWizardOpen(true); navigate({ search: { status: undefined }, replace: true }); }, [search.status, agent, navigate]);