diff --git a/studio/components/interfaces/Billing/ExitSurvey/ExitSurvey.tsx b/studio/components/interfaces/Billing/ExitSurvey/ExitSurvey.tsx index 9cda2b5aa30..e8caaf6111f 100644 --- a/studio/components/interfaces/Billing/ExitSurvey/ExitSurvey.tsx +++ b/studio/components/interfaces/Billing/ExitSurvey/ExitSurvey.tsx @@ -37,6 +37,8 @@ const ExitSurvey: FC = ({ freeTier, subscription, onSelectBack }) => { // Tracking submitting state separately outside of form component cause of // the additional dynamic confirmation modal that we're doing const [isSubmitting, setIsSubmitting] = useState(false) + const [isSubmittingDowngradeModal, setIsSubmittingDowngradeModal] = useState(false) + const [isSuccessful, setIsSuccessful] = useState(false) const [showConfirmModal, setShowConfirmModal] = useState(false) const [subscriptionPreview, setSubscriptionPreview] = useState() @@ -123,6 +125,7 @@ const ExitSurvey: FC = ({ freeTier, subscription, onSelectBack }) => { try { setIsSubmitting(true) + setIsSubmittingDowngradeModal(true) // Trigger subscription downgrade const tier = freeTier.prices[0].id @@ -175,6 +178,7 @@ const ExitSurvey: FC = ({ freeTier, subscription, onSelectBack }) => { }) } finally { setIsSubmitting(false) + setIsSubmittingDowngradeModal(false) } } @@ -293,7 +297,10 @@ const ExitSurvey: FC = ({ freeTier, subscription, onSelectBack }) => { visible={showConfirmModal} size="large" header="Downgrading project to free" - onCancel={() => setShowConfirmModal(false)} + onCancel={() => { + setShowConfirmModal(false) + setIsSubmitting(false) + }} >
@@ -314,14 +321,21 @@ const ExitSurvey: FC = ({ freeTier, subscription, onSelectBack }) => {
-