Skip to content

Commit b58ce95

Browse files
committed
Remove SessionTasksContext from TaskChooseOrganization
1 parent 77ed9fa commit b58ce95

File tree

7 files changed

+17
-39
lines changed

7 files changed

+17
-39
lines changed

packages/clerk-js/src/core/sessionTasks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const INTERNAL_SESSION_TASK_ROUTE_BY_KEY: Record<SessionTask['key'], stri
1313
/**
1414
* @internal
1515
*/
16-
export function buildTasksUrl(task: SessionTask, opts: Pick<Parameters<typeof buildURL>[0], 'base'>) {
16+
export function buildTaskUrl(task: SessionTask, opts: Pick<Parameters<typeof buildURL>[0], 'base'>) {
1717
const params = forwardClerkQueryParams();
1818

1919
return buildURL(
@@ -44,7 +44,7 @@ export function navigateIfTaskExists(
4444
return;
4545
}
4646

47-
return navigate(buildTasksUrl(currentTask, { base: baseUrl }));
47+
return navigate(buildTaskUrl(currentTask, { base: baseUrl }));
4848
}
4949

5050
export function warnMissingPendingTaskHandlers(options: Record<string, unknown>) {

packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.tsx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { useClerk, useOrganizationList, useUser } from '@clerk/shared/react';
22
import type {
33
OrganizationResource,
44
OrganizationSuggestionResource,
5-
SetActiveParams,
65
UserOrganizationInvitationResource,
76
} from '@clerk/types';
87
import React, { useState } from 'react';
@@ -16,7 +15,7 @@ import {
1615
sharedMainIdentifierSx,
1716
} from '@/ui/common/organizations/OrganizationPreview';
1817
import { organizationListParams, populateCacheUpdateItem } from '@/ui/components/OrganizationSwitcher/utils';
19-
import { useSessionTasksContext } from '@/ui/contexts/components/SessionTasks';
18+
import { useTaskChooseOrganizationContext } from '@/ui/contexts/components/SessionTasks';
2019
import { Col, descriptors, localizationKeys, Text } from '@/ui/customizables';
2120
import { Action, Actions } from '@/ui/elements/Actions';
2221
import { useCardState, withCardStateProvider } from '@/ui/elements/contexts';
@@ -98,7 +97,7 @@ export const ChooseOrganizationScreen = withCardStateProvider(
9897

9998
const MembershipPreview = withCardStateProvider((props: { organization: OrganizationResource }) => {
10099
const card = useCardState();
101-
const { redirectUrlComplete, navigateOnSetActive } = useSessionTasksContext();
100+
const { redirectUrlComplete } = useTaskChooseOrganizationContext();
102101
const { isLoaded, setActive } = useOrganizationList();
103102

104103
if (!isLoaded) {
@@ -107,19 +106,10 @@ const MembershipPreview = withCardStateProvider((props: { organization: Organiza
107106

108107
const handleOrganizationClicked = (organization: OrganizationResource) => {
109108
return card.runAsync(async () => {
110-
const setActiveParams: SetActiveParams = {
109+
await setActive({
111110
organization,
112111
redirectUrl: redirectUrlComplete,
113-
};
114-
115-
// TODO - Add `onComplete` or `onNextTask` callbacks for `TaskChooseOrganization` standalone usage
116-
if (navigateOnSetActive) {
117-
setActiveParams.navigate = async ({ session }) => {
118-
await navigateOnSetActive({ session, redirectUrl: redirectUrlComplete });
119-
};
120-
}
121-
122-
await setActive(setActiveParams);
112+
});
123113
});
124114
};
125115

packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.tsx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { useOrganizationList } from '@clerk/shared/react';
2-
import type { SetActiveParams } from '@clerk/types';
32

4-
import { useSessionTasksContext } from '@/ui/contexts/components/SessionTasks';
3+
import { useTaskChooseOrganizationContext } from '@/ui/contexts/components/SessionTasks';
54
import { localizationKeys } from '@/ui/customizables';
65
import { useCardState, withCardStateProvider } from '@/ui/elements/contexts';
76
import { Form } from '@/ui/elements/Form';
@@ -20,7 +19,7 @@ type CreateOrganizationScreenProps = {
2019

2120
export const CreateOrganizationScreen = withCardStateProvider((props: CreateOrganizationScreenProps) => {
2221
const card = useCardState();
23-
const { redirectUrlComplete, navigateOnSetActive } = useSessionTasksContext();
22+
const { redirectUrlComplete } = useTaskChooseOrganizationContext();
2423
const { createOrganization, isLoaded, setActive } = useOrganizationList({
2524
userMemberships: organizationListParams.userMemberships,
2625
});
@@ -46,19 +45,10 @@ export const CreateOrganizationScreen = withCardStateProvider((props: CreateOrga
4645
try {
4746
const organization = await createOrganization({ name: nameField.value, slug: slugField.value });
4847

49-
const setActiveParams: SetActiveParams = {
48+
await setActive({
5049
organization,
5150
redirectUrl: redirectUrlComplete,
52-
};
53-
54-
// TODO - Add `onComplete` or `onNextTask` callbacks for `TaskChooseOrganization` standalone usage
55-
if (navigateOnSetActive) {
56-
setActiveParams.navigate = async ({ session }) => {
57-
await navigateOnSetActive({ session, redirectUrl: redirectUrlComplete });
58-
};
59-
}
60-
61-
await setActive(setActiveParams);
51+
});
6252
} catch (err) {
6353
handleError(err, [nameField, slugField], card.setError);
6454
}

packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
UserVerificationContext,
2727
WaitlistContext,
2828
} from './components';
29-
import { SessionTasksContext, TaskChooseOrganizationContext } from './components/SessionTasks';
29+
import { TaskChooseOrganizationContext } from './components/SessionTasks';
3030

3131
export function ComponentContextProvider({
3232
componentName,
@@ -115,9 +115,7 @@ export function ComponentContextProvider({
115115
<TaskChooseOrganizationContext.Provider
116116
value={{ componentName: 'TaskChooseOrganization', ...(props as TaskChooseOrganizationProps) }}
117117
>
118-
<SessionTasksContext.Provider value={{ ...(props as TaskChooseOrganizationProps) }}>
119-
{children}
120-
</SessionTasksContext.Provider>
118+
{children}
121119
</TaskChooseOrganizationContext.Provider>
122120
);
123121
default:

packages/clerk-js/src/ui/contexts/components/SignIn.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { isAbsoluteUrl } from '@clerk/shared/url';
33
import type { SessionResource } from '@clerk/types';
44
import { createContext, useContext, useMemo } from 'react';
55

6-
import { buildTasksUrl, INTERNAL_SESSION_TASK_ROUTE_BY_KEY } from '@/core/sessionTasks';
6+
import { buildTaskUrl, INTERNAL_SESSION_TASK_ROUTE_BY_KEY } from '@/core/sessionTasks';
77

88
import { SIGN_IN_INITIAL_VALUE_KEYS } from '../../../core/constants';
99
import { buildURL } from '../../../utils';
@@ -131,7 +131,7 @@ export const useSignInContext = (): SignInContextType => {
131131

132132
const taskUrl = clerk.session?.currentTask
133133
? (clerk.__internal_getOption('taskUrls')?.[clerk.session?.currentTask.key] ??
134-
buildTasksUrl(clerk.session?.currentTask, { base: signInUrl }))
134+
buildTaskUrl(clerk.session?.currentTask, { base: signInUrl }))
135135
: null;
136136

137137
return {

packages/clerk-js/src/ui/contexts/components/SignUp.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { isAbsoluteUrl } from '@clerk/shared/url';
33
import type { SessionResource } from '@clerk/types';
44
import { createContext, useContext, useMemo } from 'react';
55

6-
import { buildTasksUrl, INTERNAL_SESSION_TASK_ROUTE_BY_KEY } from '@/core/sessionTasks';
6+
import { buildTaskUrl, INTERNAL_SESSION_TASK_ROUTE_BY_KEY } from '@/core/sessionTasks';
77

88
import { SIGN_UP_INITIAL_VALUE_KEYS } from '../../../core/constants';
99
import { buildURL } from '../../../utils';
@@ -126,7 +126,7 @@ export const useSignUpContext = (): SignUpContextType => {
126126

127127
const taskUrl = clerk.session?.currentTask
128128
? (clerk.__internal_getOption('taskUrls')?.[clerk.session?.currentTask.key] ??
129-
buildTasksUrl(clerk.session?.currentTask, { base: signUpUrl }))
129+
buildTaskUrl(clerk.session?.currentTask, { base: signUpUrl }))
130130
: null;
131131

132132
return {

packages/clerk-js/src/ui/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export type CheckoutCtx = __internal_CheckoutProps & {
137137
export type SessionTasksCtx = {
138138
redirectUrlComplete: string;
139139
currentTaskContainer?: React.RefObject<HTMLDivElement> | null;
140-
navigateOnSetActive?: (opts: { session: SessionResource; redirectUrl: string }) => Promise<unknown>;
140+
navigateOnSetActive: (opts: { session: SessionResource; redirectUrl: string }) => Promise<unknown>;
141141
};
142142

143143
export type TaskChooseOrganizationCtx = TaskChooseOrganizationProps & {

0 commit comments

Comments
 (0)