From e7aaaf22e163a116a675746916d2e518428f75a8 Mon Sep 17 00:00:00 2001 From: panteliselef Date: Fri, 2 Feb 2024 12:13:28 +0200 Subject: [PATCH 1/2] feat(clerk-js): Accept `skipInvitationScreen` as a prop from OrganizationSwitcher --- .changeset/late-geckos-impress.md | 6 ++++++ .../OrganizationSwitcher/OrganizationSwitcherPopover.tsx | 3 ++- .../clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx | 1 + packages/types/src/clerk.ts | 8 ++++++-- 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 .changeset/late-geckos-impress.md diff --git a/.changeset/late-geckos-impress.md b/.changeset/late-geckos-impress.md new file mode 100644 index 00000000000..f7e78045691 --- /dev/null +++ b/.changeset/late-geckos-impress.md @@ -0,0 +1,6 @@ +--- +'@clerk/clerk-js': minor +'@clerk/types': minor +--- + +Accept `skipInvitationScreen` as a prop from OrganizationSwitcher. diff --git a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx index 7059868d528..e7e8b623313 100644 --- a/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx +++ b/packages/clerk-js/src/ui/components/OrganizationSwitcher/OrganizationSwitcherPopover.tsx @@ -48,6 +48,7 @@ export const OrganizationSwitcherPopover = React.forwardRef { diff --git a/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx b/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx index 3755eea4d11..47703462786 100644 --- a/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx +++ b/packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx @@ -335,6 +335,7 @@ export const useOrganizationSwitcherContext = () => { hidePersonal: ctx.hidePersonal || false, organizationProfileMode: organizationProfileMode || 'modal', createOrganizationMode: createOrganizationMode || 'modal', + skipInvitationScreen: ctx.skipInvitationScreen || false, afterCreateOrganizationUrl, afterLeaveOrganizationUrl, navigateOrganizationProfile, diff --git a/packages/types/src/clerk.ts b/packages/types/src/clerk.ts index a5c5e46582c..ddf766ad244 100644 --- a/packages/types/src/clerk.ts +++ b/packages/types/src/clerk.ts @@ -853,7 +853,6 @@ export type OrganizationSwitcherProps = CreateOrganizationMode & afterSelectOrganizationUrl?: | ((organization: OrganizationResource) => string) | LooseExtractedParams>; - /** * Full URL or path to navigate after a successful selection of personal workspace. * Accepts a function that returns URL or path @@ -865,13 +864,18 @@ export type OrganizationSwitcherProps = CreateOrganizationMode & * @default undefined */ afterLeaveOrganizationUrl?: string; + /** + * Hides the screen for sending invitations after an organization is created. + * @default undefined When left undefined Clerk will automatically hide the screen if + * the number of max allowed members is equal to 1 + */ + skipInvitationScreen?: boolean; /** * Customisation options to fully match the Clerk components to your own brand. * These options serve as overrides and will be merged with the global `appearance` * prop of ClerkProvided (if one is provided) */ appearance?: OrganizationSwitcherTheme; - /* * Specify options for the underlying component. * e.g. From 23aad67745e90dba6d183705b666ecb026d59284 Mon Sep 17 00:00:00 2001 From: panteliselef Date: Mon, 5 Feb 2024 12:19:55 +0200 Subject: [PATCH 2/2] chore(clerk-js): Improve changeset --- .changeset/late-geckos-impress.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.changeset/late-geckos-impress.md b/.changeset/late-geckos-impress.md index f7e78045691..31785656004 100644 --- a/.changeset/late-geckos-impress.md +++ b/.changeset/late-geckos-impress.md @@ -4,3 +4,6 @@ --- Accept `skipInvitationScreen` as a prop from OrganizationSwitcher. + +`skipInvitationScreen` hides the screen for sending invitations after an organization is created. +By default, Clerk will automatically hide the screen if the number of max allowed members is equal to 1