From 53bf41dbebd2adb0a03ccd43d6545a038bf229b7 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Fri, 4 Aug 2023 12:58:08 +0300 Subject: [PATCH] TAL-10 - redirect to talent search from profiles app --- .../profiles/src/member-profile/MemberProfilePage.tsx | 8 +++++++- src/apps/talent-search/src/index.ts | 2 +- src/apps/talent-search/src/talent-search.routes.tsx | 9 ++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/apps/profiles/src/member-profile/MemberProfilePage.tsx b/src/apps/profiles/src/member-profile/MemberProfilePage.tsx index eebf6e893..fbd5273cd 100644 --- a/src/apps/profiles/src/member-profile/MemberProfilePage.tsx +++ b/src/apps/profiles/src/member-profile/MemberProfilePage.tsx @@ -1,7 +1,9 @@ import { Dispatch, FC, SetStateAction, useCallback, useContext, useEffect, useState } from 'react' import { Params, useNavigate, useParams } from 'react-router-dom' +import { AxiosError } from 'axios' import { profileContext, ProfileContextData, profileGetPublicAsync, UserProfile } from '~/libs/core' +import { TALENT_SEARCH_PATHS } from '~/apps/talent-search' import { LoadingSpinner } from '~/libs/ui' import { notifyUniNavi, triggerSprigSurvey } from '../lib' @@ -34,7 +36,11 @@ const MemberProfilePage: FC<{}> = () => { setProfile({ ...userProfile } as UserProfile) setProfileReady(true) }) - // TODO: NOT FOUND PAGE redirect/dispaly + .catch((e: AxiosError) => { + if (e.code === AxiosError.ERR_BAD_REQUEST && e.response?.status === 404) { + window.location.href = `${TALENT_SEARCH_PATHS.absoluteRootUrl}?memberNotFound` + } + }) } }, [routeParams.memberHandle]) diff --git a/src/apps/talent-search/src/index.ts b/src/apps/talent-search/src/index.ts index f826d5422..19db451f9 100644 --- a/src/apps/talent-search/src/index.ts +++ b/src/apps/talent-search/src/index.ts @@ -1 +1 @@ -export { talentSearchRoutes } from './talent-search.routes' +export { talentSearchRoutes, TALENT_SEARCH_PATHS } from './talent-search.routes' diff --git a/src/apps/talent-search/src/talent-search.routes.tsx b/src/apps/talent-search/src/talent-search.routes.tsx index b1d9e60a5..736ad8412 100644 --- a/src/apps/talent-search/src/talent-search.routes.tsx +++ b/src/apps/talent-search/src/talent-search.routes.tsx @@ -14,11 +14,18 @@ const TalentPage: LazyLoadedComponent = lazyLoad( 'TalentPage', ) +const isOnAppSubdomain = EnvironmentConfig.SUBDOMAIN === AppSubdomain.talentSearch export const rootRoute: string = ( - EnvironmentConfig.SUBDOMAIN === AppSubdomain.talentSearch ? '' : `/${AppSubdomain.talentSearch}` + isOnAppSubdomain ? '' : `/${AppSubdomain.talentSearch}` ) +const absoluteRootUrl = (() => { + const subdomain = isOnAppSubdomain ? AppSubdomain.talentSearch : EnvironmentConfig.SUBDOMAIN + return `//${subdomain}.${EnvironmentConfig.TC_DOMAIN}${rootRoute}` +})() + export const TALENT_SEARCH_PATHS = { + absoluteRootUrl, results: `${rootRoute}/results`, root: rootRoute, talent: `${rootRoute}/talent`,