diff --git a/studio/components/interfaces/Organization/NewOrg/NewOrgForm.tsx b/studio/components/interfaces/Organization/NewOrg/NewOrgForm.tsx index 97894c4453d..09cee368ca8 100644 --- a/studio/components/interfaces/Organization/NewOrg/NewOrgForm.tsx +++ b/studio/components/interfaces/Organization/NewOrg/NewOrgForm.tsx @@ -108,7 +108,7 @@ const NewOrgForm = ({ onPaymentMethodReset }: NewOrgFormProps) => { payment_method: paymentMethodId, V2: true, }) - } finally { + } catch (error) { setNewOrgLoading(false) } } diff --git a/studio/data/organizations/organization-create-mutation.ts b/studio/data/organizations/organization-create-mutation.ts index f0594df216f..17faec33c0e 100644 --- a/studio/data/organizations/organization-create-mutation.ts +++ b/studio/data/organizations/organization-create-mutation.ts @@ -2,6 +2,7 @@ import { useMutation, UseMutationOptions, useQueryClient } from '@tanstack/react import { toast } from 'react-hot-toast' import { post } from 'data/fetchers' +import { permissionKeys } from 'data/permissions/keys' import { ResponseError } from 'types' import { organizationKeys } from './keys' @@ -54,7 +55,10 @@ export const useOrganizationCreateMutation = ({ (vars) => createOrganization(vars), { async onSuccess(data, variables, context) { - await queryClient.invalidateQueries(organizationKeys.list()) + await Promise.all([ + queryClient.invalidateQueries(organizationKeys.list()), + queryClient.invalidateQueries(permissionKeys.list()), + ]) await onSuccess?.(data, variables, context) }, async onError(data, variables, context) { diff --git a/studio/data/organizations/organization-delete-mutation.ts b/studio/data/organizations/organization-delete-mutation.ts index 3b0dcfa7e44..db4af223347 100644 --- a/studio/data/organizations/organization-delete-mutation.ts +++ b/studio/data/organizations/organization-delete-mutation.ts @@ -4,6 +4,7 @@ import { toast } from 'react-hot-toast' import { del } from 'data/fetchers' import { ResponseError } from 'types' import { organizationKeys } from './keys' +import { permissionKeys } from 'data/permissions/keys' export type OrganizationDeleteVariables = { slug: string @@ -33,7 +34,10 @@ export const useOrganizationDeleteMutation = ({ (vars) => deleteOrganization(vars), { async onSuccess(data, variables, context) { - await queryClient.invalidateQueries(organizationKeys.list()) + await Promise.all([ + queryClient.invalidateQueries(organizationKeys.list()), + queryClient.invalidateQueries(permissionKeys.list()), + ]) await onSuccess?.(data, variables, context) }, async onError(data, variables, context) { diff --git a/studio/pages/new-with-subscription.tsx b/studio/pages/new-with-subscription.tsx index c2d7d982ee9..3c34a7433ce 100644 --- a/studio/pages/new-with-subscription.tsx +++ b/studio/pages/new-with-subscription.tsx @@ -9,7 +9,7 @@ import { useCallback, useEffect, useState } from 'react' import { NewOrgForm } from 'components/interfaces/Organization' import { WizardLayout } from 'components/layouts' import { useSetupIntent } from 'data/stripe/setup-intent-mutation' -import { useFlag, useStore } from 'hooks' +import { useFlag } from 'hooks' import { STRIPE_PUBLIC_KEY } from 'lib/constants' import { useIsHCaptchaLoaded } from 'stores/hcaptcha-loaded-store' import { NextPageWithLayout } from 'types' @@ -20,7 +20,6 @@ const stripePromise = loadStripe(STRIPE_PUBLIC_KEY) * No org selected yet, create a new one */ const Wizard: NextPageWithLayout = () => { - const { ui } = useStore() const router = useRouter() const { isDarkMode } = useTheme() diff --git a/studio/pages/new/[slug].tsx b/studio/pages/new/[slug].tsx index 3dbced890a0..6f2e202f666 100644 --- a/studio/pages/new/[slug].tsx +++ b/studio/pages/new/[slug].tsx @@ -94,7 +94,11 @@ const Wizard: NextPageWithLayout = () => { enabled: currentOrg?.subscription_id != undefined, }) - const { mutate: createProject, isLoading: isCreatingNewProject } = useProjectCreateMutation({ + const { + mutate: createProject, + isLoading: isCreatingNewProject, + isSuccess: isSuccessNewProject, + } = useProjectCreateMutation({ onSuccess: (res) => { router.push(`/project/${res.ref}/building`) }, @@ -260,7 +264,7 @@ const Wizard: NextPageWithLayout = () => {