From 61e9bce4e8a1556b677a937dd216d81009d02280 Mon Sep 17 00:00:00 2001 From: adrian mustea Date: Tue, 6 Feb 2024 22:34:06 +0200 Subject: [PATCH] fix google invites, after signup redirect to homepage if an org exists --- .../src/components/Layout/index.tsx | 5 ++- .../src/components/Login/index.tsx | 7 +++- .../components/OAuth/GoogleOAuth/index.tsx | 36 +++++++++++++------ .../CollectCredentials/index.tsx | 7 +++- wondrous-bot-admin/src/utils/constants.tsx | 2 ++ 5 files changed, 42 insertions(+), 15 deletions(-) diff --git a/wondrous-bot-admin/src/components/Layout/index.tsx b/wondrous-bot-admin/src/components/Layout/index.tsx index 64b7c1a3a..7f16186df 100644 --- a/wondrous-bot-admin/src/components/Layout/index.tsx +++ b/wondrous-bot-admin/src/components/Layout/index.tsx @@ -6,7 +6,7 @@ import { GET_LOGGED_IN_USER_FULL_ACCESS_ORGS } from "graphql/queries"; import { useEffect, useState } from "react"; import { Outlet, useNavigate } from "react-router"; import { useLocation } from "react-router-dom"; -import { EXCLUDED_PATHS, PAGES_WITHOUT_HEADER } from "utils/constants"; +import { EXCLUDED_PATHS, LOCAL_STORAGE_ORG_ID_KEY, PAGES_WITHOUT_HEADER } from "utils/constants"; import { matchRoute } from "utils/common"; import ErrorCatcher from "components/ErrorCatcher"; import GlobalContext from "utils/context/GlobalContext"; @@ -47,7 +47,6 @@ const DefaultFallback = () => { ); }; -const LOCAL_STORAGE_ORG_ID_KEY = "default-org-id"; const Layout = () => { const defaultActiveOrgId = localStorage.getItem(LOCAL_STORAGE_ORG_ID_KEY); const location = useLocation(); @@ -82,7 +81,7 @@ const Layout = () => { notifyOnNetworkStatusChange: true, onCompleted: ({ getLoggedInUserFullAccessOrgs }) => { if (getLoggedInUserFullAccessOrgs.length === 0) { - navigate("/onboarding"); + navigate("/onboarding/welcome?ref=login"); return; } if (defaultActiveOrgId) { diff --git a/wondrous-bot-admin/src/components/Login/index.tsx b/wondrous-bot-admin/src/components/Login/index.tsx index dc42e8292..66b4ceadb 100644 --- a/wondrous-bot-admin/src/components/Login/index.tsx +++ b/wondrous-bot-admin/src/components/Login/index.tsx @@ -97,7 +97,12 @@ function Login() { {notSupportedChain && ( Unsupported network, change to mainnet or a supported network )} - + { +import { getBaseUrl, handleUserOnboardingRedirect } from "utils/common"; +import { GET_LOGGED_IN_USER_FULL_ACCESS_ORGS } from "graphql/queries"; + +const GoogleOAuthButton = ({ params = {} }) => { + const navigate = useNavigate(); + + const [getLoggedInUserFullAccessOrgs] = useLazyQuery(GET_LOGGED_IN_USER_FULL_ACCESS_ORGS, { + fetchPolicy: "cache-and-network", + nextFetchPolicy: "cache-first", + notifyOnNetworkStatusChange: true, + onCompleted: (data) => { + if (data?.getLoggedInUserFullAccessOrgs.length === 0) { + handleUserOnboardingRedirect(null, navigate, params, "/onboarding/welcome?ref=signup"); + return; + } + handleUserOnboardingRedirect(null, navigate, params, "/"); + }, + }); const handleCompleted = async ({ token, user, callback }) => { await storeAuthHeader(token, user); callback?.(); }; - const navigate = useNavigate(); - const handleRedirect = () => { - if (isSignup) { - navigate("/onboarding/welcome?ref=signup"); - } - navigate("/"); + getLoggedInUserFullAccessOrgs({ + variables: { + excludeSharedOrgs: true, + cmtyEnabled: true, + }, + }); }; const [signInUser] = useMutation(GOOGLE_LOGIN_MUTATION, { @@ -36,7 +52,7 @@ const GoogleOAuthButton = ({ isSignup = false }) => { const login = useGoogleLogin({ flow: "auth-code", scope: "email", - redirect_uri: `${getBaseUrl()}/oauth/google/callback`, + redirect_uri: `${getBaseUrl()}/oauth/google/callback`, onSuccess: (tokenResponse) => { const { code } = tokenResponse; signInUser({ variables: { code: code } }); diff --git a/wondrous-bot-admin/src/components/SignupComponent/CollectCredentials/index.tsx b/wondrous-bot-admin/src/components/SignupComponent/CollectCredentials/index.tsx index 32fce6100..9de00fdde 100644 --- a/wondrous-bot-admin/src/components/SignupComponent/CollectCredentials/index.tsx +++ b/wondrous-bot-admin/src/components/SignupComponent/CollectCredentials/index.tsx @@ -134,7 +134,12 @@ const CollectCredentials = ({ moveForward }) => { Sign up to Wonderverse - + {!notSupportedChain && errorMessage ? {errorMessage} : ""} {notSupportedChain && ( diff --git a/wondrous-bot-admin/src/utils/constants.tsx b/wondrous-bot-admin/src/utils/constants.tsx index b28d9f0e7..d0669118f 100644 --- a/wondrous-bot-admin/src/utils/constants.tsx +++ b/wondrous-bot-admin/src/utils/constants.tsx @@ -547,3 +547,5 @@ export const QUALIFYING_ACTION_TYPES = { }; export const LOCKED_PATHS = ["/store", "/store/items/create", "/store/items/:id", "/analytics"]; + +export const LOCAL_STORAGE_ORG_ID_KEY = "default-org-id";