From 6e834ada6636b3e084d66ac1c81d5e9400e0298d Mon Sep 17 00:00:00 2001 From: Lakhan Baheti <94619783+1akhanBaheti@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:06:43 +0530 Subject: [PATCH] chore: email invite accept validation (#2965) * fix: empty state flickering on accepting only invitation * fix: redirection from workspace-invitaion to onboarding * chore: onboarding step 1 skip on accepting invite from email * fix: dashboard redirection path --- web/components/onboarding/invitations.tsx | 2 +- web/pages/invitations/index.tsx | 2 +- web/pages/onboarding/index.tsx | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/web/components/onboarding/invitations.tsx b/web/components/onboarding/invitations.tsx index 8f650eefd..c724de42c 100644 --- a/web/components/onboarding/invitations.tsx +++ b/web/components/onboarding/invitations.tsx @@ -63,11 +63,11 @@ export const Invitations: React.FC = (props) => { .joinWorkspaces({ invitations: invitationsRespond }) .then(async (res) => { postHogEventTracker("WORKSPACE_USER_INVITE_ACCEPT", { ...res, state: "SUCCESS" }); - await mutateInvitations(); await workspaceStore.fetchWorkspaces(); await mutate(USER_WORKSPACES); await updateLastWorkspace(); await handleNextStep(); + await mutateInvitations(); }) .catch((error) => { console.log(error); diff --git a/web/pages/invitations/index.tsx b/web/pages/invitations/index.tsx index 80738907a..55c0b89aa 100644 --- a/web/pages/invitations/index.tsx +++ b/web/pages/invitations/index.tsx @@ -213,7 +213,7 @@ const UserInvitationsPage: NextPageWithLayout = observer(() => { image={emptyInvitation} primaryButton={{ text: "Back to dashboard", - onClick: () => router.push(`/${redirectWorkspaceSlug}`), + onClick: () => router.push("/"), }} /> diff --git a/web/pages/onboarding/index.tsx b/web/pages/onboarding/index.tsx index df7df99f4..94c7b751a 100644 --- a/web/pages/onboarding/index.tsx +++ b/web/pages/onboarding/index.tsx @@ -52,6 +52,10 @@ const OnboardingPage: NextPageWithLayout = observer(() => { }, }); + useSWR(`USER_WORKSPACES_LIST`, () => workspaceStore.fetchWorkspaces(), { + shouldRetryOnError: false, + }); + const { data: invitations } = useSWR("USER_WORKSPACE_INVITATIONS_LIST", () => workspaceService.userWorkspaceInvitations() ); @@ -88,6 +92,19 @@ const OnboardingPage: NextPageWithLayout = observer(() => { const onboardingStep = user.onboarding_step; + if (!onboardingStep.workspace_join && !onboardingStep.workspace_create && workspaces && workspaces?.length > 0) { + await updateCurrentUser({ + onboarding_step: { + ...user.onboarding_step, + workspace_join: true, + workspace_create: true, + }, + last_workspace_id: workspaces[0].id, + }); + setStep(2); + return; + } + if (!onboardingStep.workspace_join && !onboardingStep.workspace_create && step !== 1) setStep(1); if (onboardingStep.workspace_join || onboardingStep.workspace_create) {