From a3c35c61fbaf83c149a2a339bae36296acb0692c Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Fri, 24 Apr 2026 10:33:35 +0000 Subject: [PATCH] Changes Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com> --- src/routes/painel.index.tsx | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/routes/painel.index.tsx b/src/routes/painel.index.tsx index d16e966..189abb8 100644 --- a/src/routes/painel.index.tsx +++ b/src/routes/painel.index.tsx @@ -33,6 +33,7 @@ function DashboardPage() { const search = Route.useSearch(); const navigate = Route.useNavigate(); const [wizardOpen, setWizardOpen] = useState(false); + const previousStatusRef = useRef(null); // Auto-open do wizard ao voltar com ?status=success useEffect(() => { @@ -51,6 +52,18 @@ function DashboardPage() { } }, [search.status, agent, isLoading]); + // Toast quando agente sair de provisioning → active (uma única vez) + useEffect(() => { + if (!agent) return; + const prev = previousStatusRef.current; + if (prev === "provisioning" && agent.status === "active") { + toast.success("Sua Mika está pronta! 🎉", { + description: "Abra o Telegram e mande uma mensagem para começar.", + }); + } + previousStatusRef.current = agent.status; + }, [agent]); + if (isLoading) { return (
@@ -79,10 +92,16 @@ function DashboardPage() { {subscription && (subscription.status === "incomplete" || subscription.status === "active") && - agent?.status === "provisioning" && } + agent?.status === "provisioning" && ( + + )} {subscription && subscription.status === "active" && agent?.status === "active" && ( <> + {agent.telegram_bot_username && }