From 076fcf65164809b5237d3da4383483b179f27202 Mon Sep 17 00:00:00 2001 From: Vaggelis Yfantis Date: Fri, 14 Feb 2025 15:33:31 +0200 Subject: [PATCH 1/2] fix(clerk-js): Trigger reverification when changing primary email --- .../src/ui/components/UserProfile/EmailsSection.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/clerk-js/src/ui/components/UserProfile/EmailsSection.tsx b/packages/clerk-js/src/ui/components/UserProfile/EmailsSection.tsx index 22c1b2f39aa..aa1cb918cc8 100644 --- a/packages/clerk-js/src/ui/components/UserProfile/EmailsSection.tsx +++ b/packages/clerk-js/src/ui/components/UserProfile/EmailsSection.tsx @@ -1,4 +1,4 @@ -import { useUser } from '@clerk/shared/react'; +import { useReverification, useUser } from '@clerk/shared/react'; import type { EmailAddressResource } from '@clerk/types'; import { Fragment } from 'react'; @@ -111,9 +111,9 @@ const EmailMenu = ({ email }: { email: EmailAddressResource }) => { const emailId = email.id; const isPrimary = user?.primaryEmailAddressId === emailId; const isVerified = email.verification.status === 'verified'; - const setPrimary = () => { - return user?.update({ primaryEmailAddressId: emailId }).catch(e => handleError(e, [], card.setError)); - }; + const [setPrimary] = useReverification(() => { + return user?.update({ primaryEmailAddressId: emailId }); + }); const actions = ( [ @@ -126,7 +126,9 @@ const EmailMenu = ({ email }: { email: EmailAddressResource }) => { !isPrimary && isVerified ? { label: localizationKeys('userProfile.start.emailAddressesSection.detailsAction__nonPrimary'), - onClick: setPrimary, + onClick: () => { + setPrimary().catch(e => handleError(e, [], card.setError)); + }, } : null, !isPrimary && !isVerified From 356246f57fadaac8ba6a5b6d051e0a0c190ebef2 Mon Sep 17 00:00:00 2001 From: Vaggelis Yfantis Date: Fri, 14 Feb 2025 15:38:07 +0200 Subject: [PATCH 2/2] chore(repo): Add changeset --- .changeset/early-beans-notice.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/early-beans-notice.md diff --git a/.changeset/early-beans-notice.md b/.changeset/early-beans-notice.md new file mode 100644 index 00000000000..88627ea4037 --- /dev/null +++ b/.changeset/early-beans-notice.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +Trigger re-verification when setting an email as primary