Skip to content

Commit c4c7941

Browse files
authored
fix(console): manual trigger usage update (#7386)
manual trigger usage update on security feature updates
1 parent 7ac2509 commit c4c7941

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

packages/console/src/pages/Security/Blocklist/BlocklistForm/index.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { emailOrEmailDomainRegex } from '@logto/core-kit';
22
import { type SignInExperience, type EmailBlocklistPolicy } from '@logto/schemas';
3+
import { useContext } from 'react';
34
import { Controller, useForm } from 'react-hook-form';
45
import { toast } from 'react-hot-toast';
56
import { useTranslation } from 'react-i18next';
@@ -13,6 +14,7 @@ import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal';
1314
import { emailBlocklist } from '@/consts';
1415
import { isCloud } from '@/consts/env';
1516
import { latestProPlanId } from '@/consts/subscriptions';
17+
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
1618
import FormField from '@/ds-components/FormField';
1719
import Switch from '@/ds-components/Switch';
1820
import useApi from '@/hooks/use-api';
@@ -31,6 +33,7 @@ function BlocklistForm({ formData }: Props) {
3133
const api = useApi();
3234
const { mutate: mutateGlobal } = useSWRConfig();
3335
const { isFreeTenant } = usePaywall();
36+
const { mutateSubscriptionQuotaAndUsages } = useContext(SubscriptionDataContext);
3437

3538
const { t } = useTranslation(undefined, {
3639
keyPrefix: 'admin_console.security',
@@ -70,6 +73,7 @@ function BlocklistForm({ formData }: Props) {
7073
reset(emailBlocklistPolicy);
7174
// Global mutate the SIE data
7275
await mutateGlobal('api/sign-in-exp');
76+
mutateSubscriptionQuotaAndUsages();
7377
toast.success(globalT('general.saved'));
7478
})
7579
);

packages/console/src/pages/Security/Captcha/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CaptchaType, type CaptchaPolicy, type SignInExperience } from '@logto/schemas';
2-
import { useState } from 'react';
2+
import { useContext, useState } from 'react';
33
import { FormProvider, useForm } from 'react-hook-form';
44
import { toast } from 'react-hot-toast';
55
import { useTranslation } from 'react-i18next';
@@ -13,6 +13,7 @@ import FormCard, { FormCardSkeleton } from '@/components/FormCard';
1313
import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal';
1414
import { captcha } from '@/consts/external-links';
1515
import { latestProPlanId } from '@/consts/subscriptions';
16+
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
1617
import Button from '@/ds-components/Button';
1718
import FormField from '@/ds-components/FormField';
1819
import useApi from '@/hooks/use-api';
@@ -32,6 +33,7 @@ function Captcha() {
3233
const { guideId } = useParams();
3334
const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' });
3435
const { isFreeTenant } = usePaywall();
36+
const { mutateSubscriptionQuotaAndUsages } = useContext(SubscriptionDataContext);
3537

3638
const [isCreateCaptchaFormOpen, setIsCreateCaptchaFormOpen] = useState(false);
3739
const { data, isLoading } = useDataFetch();
@@ -55,6 +57,7 @@ function Captcha() {
5557
})
5658
.json<SignInExperience>();
5759
reset(captchaPolicy);
60+
mutateSubscriptionQuotaAndUsages();
5861
toast.success(t('general.saved'));
5962
});
6063

packages/console/src/pages/Security/General/GeneralForm/index.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { type SignInExperience } from '@logto/schemas';
2-
import { useState, type ChangeEvent } from 'react';
2+
import { useContext, useState, type ChangeEvent } from 'react';
33
import { Controller, useForm } from 'react-hook-form';
44
import { toast } from 'react-hot-toast';
55
import { useTranslation } from 'react-i18next';
@@ -12,6 +12,7 @@ import FormCard from '@/components/FormCard';
1212
import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal';
1313
import { sentinel } from '@/consts';
1414
import { latestProPlanId } from '@/consts/subscriptions';
15+
import { SubscriptionDataContext } from '@/contexts/SubscriptionDataProvider';
1516
import Button from '@/ds-components/Button';
1617
import FormField from '@/ds-components/FormField';
1718
import Switch from '@/ds-components/Switch';
@@ -35,6 +36,7 @@ function GeneralForm({ formData }: Props) {
3536
const { mutate: mutateGlobal } = useSWRConfig();
3637
const [showUnlockModal, setShowUnlockModal] = useState(false);
3738
const { isFreeTenant } = usePaywall();
39+
const { mutateSubscriptionQuotaAndUsages } = useContext(SubscriptionDataContext);
3840

3941
const { t } = useTranslation(undefined, {
4042
keyPrefix: 'admin_console.security',
@@ -74,6 +76,7 @@ function GeneralForm({ formData }: Props) {
7476

7577
// Global mutate the SIE data
7678
await mutateGlobal('api/sign-in-exp');
79+
mutateSubscriptionQuotaAndUsages();
7780

7881
toast.success(globalT('general.saved'));
7982
})

0 commit comments

Comments
 (0)