From cf3b4ae1beda5025b7eee4ba3988f9d29c289505 Mon Sep 17 00:00:00 2001 From: balajisoundar Date: Wed, 15 Sep 2021 15:26:15 +0530 Subject: [PATCH] fix: Signposting and Welcome tour overlapping issue (#7421) Fixes: #7405 Fixes #7226 --- app/client/src/constants/routes.ts | 5 ++++- app/client/src/pages/Applications/index.tsx | 11 +++-------- app/client/src/pages/Editor/EditorHeader.tsx | 5 ++++- app/client/src/selectors/onboardingSelectors.tsx | 3 +++ 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/client/src/constants/routes.ts b/app/client/src/constants/routes.ts index 0233df0583..f3cbee4136 100644 --- a/app/client/src/constants/routes.ts +++ b/app/client/src/constants/routes.ts @@ -278,5 +278,8 @@ export const extractAppIdAndPageIdFromUrl = (url = "") => { }; } - return {}; + return { + applicationId: "", + pageId: "", + }; }; diff --git a/app/client/src/pages/Applications/index.tsx b/app/client/src/pages/Applications/index.tsx index 8d10a8c0cc..6765a73869 100644 --- a/app/client/src/pages/Applications/index.tsx +++ b/app/client/src/pages/Applications/index.tsx @@ -81,11 +81,13 @@ import { createOrganizationSubmitHandler } from "../organization/helpers"; import UserApi from "api/UserApi"; import ImportApplicationModal from "./ImportApplicationModal"; import { + BUILDER_PAGE_URL, extractAppIdAndPageIdFromUrl, SIGNUP_SUCCESS_URL, } from "constants/routes"; import { getIsSafeRedirectURL } from "utils/helpers"; +import history from "utils/history"; const OrgDropDown = styled.div` display: flex; @@ -940,14 +942,7 @@ class Applications extends Component< ); if (applicationId && pageId) { this.props.enableFirstTimeUserOnboarding(applicationId); - /* - * window.location.replace resets the application, adding - * this timeout to store onboarding variables in indexdb - */ - - setTimeout(() => { - window.location.replace(redirectUrl); - }); + history.replace(BUILDER_PAGE_URL(applicationId, pageId)); } } else if (getIsSafeRedirectURL(redirectUrl)) { window.location.replace(redirectUrl); diff --git a/app/client/src/pages/Editor/EditorHeader.tsx b/app/client/src/pages/Editor/EditorHeader.tsx index 77ede318f5..550a3adb4f 100644 --- a/app/client/src/pages/Editor/EditorHeader.tsx +++ b/app/client/src/pages/Editor/EditorHeader.tsx @@ -58,6 +58,7 @@ import { setIsGitSyncModalOpen } from "actions/gitSyncActions"; import RealtimeAppEditors from "./RealtimeAppEditors"; import { EditorSaveIndicator } from "./EditorSaveIndicator"; import getFeatureFlags from "utils/featureFlags"; +import { getIsInOnboarding } from "selectors/onboardingSelectors"; const HeaderWrapper = styled(StyledHeader)` width: 100%; @@ -169,6 +170,7 @@ type EditorHeaderProps = { isSaving: boolean; publishApplication: (appId: string) => void; lastUpdatedTime?: number; + inOnboarding: boolean; }; export function EditorHeader(props: EditorHeaderProps) { @@ -342,7 +344,7 @@ export function EditorHeader(props: EditorHeaderProps) { )} - + {props.inOnboarding && } {isSnipingMode && ( @@ -363,6 +365,7 @@ const mapStateToProps = (state: AppState) => ({ currentApplication: state.ui.applications.currentApplication, isPublishing: getIsPublishingApplication(state), pageId: getCurrentPageId(state), + inOnboarding: getIsInOnboarding(state), }); const mapDispatchToProps = (dispatch: any) => ({ diff --git a/app/client/src/selectors/onboardingSelectors.tsx b/app/client/src/selectors/onboardingSelectors.tsx index 5b12440905..e6471efd98 100644 --- a/app/client/src/selectors/onboardingSelectors.tsx +++ b/app/client/src/selectors/onboardingSelectors.tsx @@ -32,3 +32,6 @@ export const getIsFirstTimeUserOnboardingEnabled = createSelector( return enabled && currentApplicationId === applicationId; }, ); + +export const getIsInOnboarding = (state: AppState) => + state.ui.onBoarding.inOnboarding;