diff --git a/src/App.tsx b/src/App.tsx index 3e1265f..cd7ff0a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -94,8 +94,12 @@ const AppContent: React.FC = () => { setIsModalOpen(false); await refreshProfile(); + // Recupera a intenção de plano caso tenha recarregado a página (ex: Login via Google) + const savedPlan = localStorage.getItem('intended_plan'); + const finalPlan = selectedPlan === 'monthly' ? 'monthly' : savedPlan; + // Se acabou de fazer o cadastro clicando em um plano pago (monthly), leva direto pro Stripe! - if (authMode === 'register' && selectedPlan === 'monthly') { + if ((authMode === 'register' || isCompletingProfile) && finalPlan === 'monthly') { try { const { data: { session } } = await supabase.auth.getSession(); if (session) { @@ -109,6 +113,7 @@ const AppContent: React.FC = () => { }); const { url, error } = await res.json(); if (!error && url) { + localStorage.removeItem('intended_plan'); window.location.href = url; // Redireciona pro Checkout return; } @@ -120,6 +125,7 @@ const AppContent: React.FC = () => { // Login intent logic handled inside context or simply by state update localStorage.removeItem('login_intent'); + localStorage.removeItem('intended_plan'); }; // Helper function for navigating with real URLs diff --git a/src/components/modals/RegistrationModal.tsx b/src/components/modals/RegistrationModal.tsx index 682c22b..f375b91 100644 --- a/src/components/modals/RegistrationModal.tsx +++ b/src/components/modals/RegistrationModal.tsx @@ -99,6 +99,7 @@ const RegistrationModal: React.FC = ({ const handleGoogleLogin = async () => { setLoading(true); + localStorage.setItem('intended_plan', plan); // Salva o plano na memória antes de sair const { error } = await supabase.auth.signInWithOAuth({ provider: 'google', options: {