From 7d7d383a108b08f4d5da4227ffb3579bfc23e1ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Gr=C3=BCneberg?= Date: Mon, 12 Jun 2023 15:42:28 +0200 Subject: [PATCH] copy and query invalidation --- .../AddOns/ComputeInstanceSidePanel.tsx | 2 +- .../Subscription/AddOns/CustomDomainSidePanel.tsx | 2 +- .../BillingV2/Subscription/AddOns/PITRSidePanel.tsx | 2 +- .../Subscription/CostControl/CostControl.tsx | 11 ++++++++--- .../Subscription/CostControl/SpendCapSidePanel.tsx | 6 ++++-- .../Subscription/Subscription.constants.ts | 4 ++-- .../Subscription/Tier/SubscriptionTier.tsx | 4 ++-- .../subscriptions/project-addon-update-mutation.ts | 8 +++++--- .../project-subscription-update-mutation.ts | 13 +++++++++++-- 9 files changed, 35 insertions(+), 17 deletions(-) diff --git a/studio/components/interfaces/BillingV2/Subscription/AddOns/ComputeInstanceSidePanel.tsx b/studio/components/interfaces/BillingV2/Subscription/AddOns/ComputeInstanceSidePanel.tsx index 63a533e081d..1b84fef3a93 100644 --- a/studio/components/interfaces/BillingV2/Subscription/AddOns/ComputeInstanceSidePanel.tsx +++ b/studio/components/interfaces/BillingV2/Subscription/AddOns/ComputeInstanceSidePanel.tsx @@ -191,7 +191,7 @@ const ComputeInstanceSidePanel = () => { } > - Upgrade your project's plan to change the compute size of your project + Upgrade your plan to change the compute size of your project )} { } > - Upgrade your project's plan to add a custom domain to your project + Upgrade your plan to add a custom domain to your project )} diff --git a/studio/components/interfaces/BillingV2/Subscription/AddOns/PITRSidePanel.tsx b/studio/components/interfaces/BillingV2/Subscription/AddOns/PITRSidePanel.tsx index cf11037505e..aec437e700b 100644 --- a/studio/components/interfaces/BillingV2/Subscription/AddOns/PITRSidePanel.tsx +++ b/studio/components/interfaces/BillingV2/Subscription/AddOns/PITRSidePanel.tsx @@ -186,7 +186,7 @@ const PITRSidePanel = () => { } > - Upgrade your project's plan to change the compute size of your project + Upgrade your plan to change the compute size of your project ) : subscriptionCompute === undefined ? ( {
-

Cost control

+

Cost Control

Control whether to usage beyond your plans included quota

@@ -70,8 +70,13 @@ const CostControl = ({}: CostControlProps) => { } plan`} > {currentPlan?.name || ''} plan requires you to have spend cap off at all times. Your - project will never become unresponsive. Only when your included usage is exceeded - will you be charged for any additional usage + project will never become unresponsive. Only when your{' '} + + + included usage + + {' '} + is exceeded will you be charged for any additional usage. ) : (

diff --git a/studio/components/interfaces/BillingV2/Subscription/CostControl/SpendCapSidePanel.tsx b/studio/components/interfaces/BillingV2/Subscription/CostControl/SpendCapSidePanel.tsx index bf5069a4e5e..b7bf318d680 100644 --- a/studio/components/interfaces/BillingV2/Subscription/CostControl/SpendCapSidePanel.tsx +++ b/studio/components/interfaces/BillingV2/Subscription/CostControl/SpendCapSidePanel.tsx @@ -170,7 +170,9 @@ const SpendCapSidePanel = () => { {costs.pricingStrategy === 'UNIT' ? ( -

${costs.pricingOptions.perUnitPrice} per {item.unitName}

+

+ ${costs.pricingOptions.perUnitPrice} per {item.unitName} +

) : costs.pricingStrategy === 'PACKAGE' ? (

${costs.pricingOptions.packagePrice} per{' '} @@ -199,7 +201,7 @@ const SpendCapSidePanel = () => { } > - Upgrade your project's plan to disable the spend cap + Upgrade your plan to disable the spend cap )} diff --git a/studio/components/interfaces/BillingV2/Subscription/Subscription.constants.ts b/studio/components/interfaces/BillingV2/Subscription/Subscription.constants.ts index e1284abb6ad..6575d3b3ca6 100644 --- a/studio/components/interfaces/BillingV2/Subscription/Subscription.constants.ts +++ b/studio/components/interfaces/BillingV2/Subscription/Subscription.constants.ts @@ -86,7 +86,7 @@ export const BILLING_BREAKDOWN_METRICS = [ }, { key: 'func_invocations', - name: 'Edge function invocations', + name: 'Edge Function invocations', units: 'absolute', anchor: 'funcInvocations', metric: 'FUNCTION_INVOCATIONS', @@ -95,7 +95,7 @@ export const BILLING_BREAKDOWN_METRICS = [ }, { key: 'func_count', - name: 'Edge functions', + name: 'Edge Functions', units: 'absolute', anchor: 'funcCount', metric: 'FUNCTION_COUNT', diff --git a/studio/components/interfaces/BillingV2/Subscription/Tier/SubscriptionTier.tsx b/studio/components/interfaces/BillingV2/Subscription/Tier/SubscriptionTier.tsx index ba216a5da01..1d1b2102dc0 100644 --- a/studio/components/interfaces/BillingV2/Subscription/Tier/SubscriptionTier.tsx +++ b/studio/components/interfaces/BillingV2/Subscription/Tier/SubscriptionTier.tsx @@ -110,7 +110,7 @@ const SubscriptionTier = ({}: SubscriptionTierProps) => {

, ]} > - Please contact us if you'd like to change your project's plan + Please contact us if you'd like to change your plan. ))} {!subscription?.usage_billing_enabled && ( @@ -129,7 +129,7 @@ const SubscriptionTier = ({}: SubscriptionTierProps) => { ) : ( - You can change the Cost control settings if you plan on exceeding the included + You can change the Cost Control settings if you plan on exceeding the included usage quotas. )} diff --git a/studio/data/subscriptions/project-addon-update-mutation.ts b/studio/data/subscriptions/project-addon-update-mutation.ts index 3a7c4e284a3..e58f12c79c5 100644 --- a/studio/data/subscriptions/project-addon-update-mutation.ts +++ b/studio/data/subscriptions/project-addon-update-mutation.ts @@ -47,9 +47,11 @@ export const useProjectAddonUpdateMutation = ({ { async onSuccess(data, variables, context) { const { projectRef } = variables - // [Joshen] Only invalidate addons, not subscriptions, as AddOn section in - // subscription page is using AddOn react query - await queryClient.invalidateQueries(subscriptionKeys.addons(projectRef)) + await Promise.all([ + queryClient.invalidateQueries(subscriptionKeys.subscriptionV2(projectRef)), + queryClient.invalidateQueries(subscriptionKeys.subscription(projectRef)), + queryClient.invalidateQueries(subscriptionKeys.addons(projectRef)), + ]) await onSuccess?.(data, variables, context) }, ...options, diff --git a/studio/data/subscriptions/project-subscription-update-mutation.ts b/studio/data/subscriptions/project-subscription-update-mutation.ts index f9761fc94ee..0f30dae670f 100644 --- a/studio/data/subscriptions/project-subscription-update-mutation.ts +++ b/studio/data/subscriptions/project-subscription-update-mutation.ts @@ -3,7 +3,12 @@ import { put } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { subscriptionKeys } from './keys' -export type SubscriptionTier = 'tier_free' | 'tier_pro' | 'tier_payg' | 'tier_team' | 'tier_enterprise' +export type SubscriptionTier = + | 'tier_free' + | 'tier_pro' + | 'tier_payg' + | 'tier_team' + | 'tier_enterprise' export type ProjectSubscriptionUpdateVariables = { projectRef: string @@ -51,7 +56,11 @@ export const useProjectSubscriptionUpdateMutation = ({ { async onSuccess(data, variables, context) { const { projectRef } = variables - await queryClient.invalidateQueries(subscriptionKeys.subscriptionV2(projectRef)) + await Promise.all([ + queryClient.invalidateQueries(subscriptionKeys.subscriptionV2(projectRef)), + queryClient.invalidateQueries(subscriptionKeys.subscription(projectRef)), + queryClient.invalidateQueries(subscriptionKeys.addons(projectRef)), + ]) await onSuccess?.(data, variables, context) }, ...options,