From 06d550724d8c3a60501b9461b235287ccf627593 Mon Sep 17 00:00:00 2001 From: BrianJiang2021 Date: Tue, 2 Jan 2024 09:55:22 +0800 Subject: [PATCH] fix: junior can not access account pages https://bigc-b2b.atlassian.net/browse/BUN-1877 --- apps/storefront/src/utils/b3AccountItem.ts | 15 +++++++++++++-- packages/global-b3/index.ts | 1 + packages/hooks/useB3AppOpen.ts | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/apps/storefront/src/utils/b3AccountItem.ts b/apps/storefront/src/utils/b3AccountItem.ts index a8023bee..9c750e67 100644 --- a/apps/storefront/src/utils/b3AccountItem.ts +++ b/apps/storefront/src/utils/b3AccountItem.ts @@ -68,7 +68,7 @@ const redirectBcMenus = ( : '/dashboard' } - if (+role === 2 && currentItem?.newTargetUrl.includes('order_status')) { + if (+role === 2 && currentItem?.newTargetUrl?.includes('order_status')) { return '/accountSettings' } @@ -76,7 +76,7 @@ const redirectBcMenus = ( return currentItem.newTargetUrl } - return '/orders' + return +role === 2 ? '/accountSettings' : '/orders' } const getCurrentLoginUrl = (href: string): string => { @@ -101,6 +101,17 @@ const openPageByClick = ({ if (href?.includes('/orders')) { return role !== 100 ? '/orders' : '/login' } + + if ( + +role === 2 && + (href?.includes('/orders') || + href?.includes('/accountSettings') || + href?.includes('/login') || + href?.includes('/account')) && + !href?.includes('logout') + ) { + return '/accountSettings' + } // register and login click if (href?.includes('/login') || isRegisterAndLogin || role === 100) { return getCurrentLoginUrl(href) diff --git a/packages/global-b3/index.ts b/packages/global-b3/index.ts index 176e9684..b685cda3 100644 --- a/packages/global-b3/index.ts +++ b/packages/global-b3/index.ts @@ -39,6 +39,7 @@ const themeOtherElementConfig = () => { '.navUser-item--more, #navUser-more-toggle, #navUser-more-toggle .navUser-item-icon, #navUser-more-toggle .navUser-item-icon svg, #navUser-more-toggle .navUser-item-icon svg use, #navUser-more-toggle .navUser-item-moreLabel, .header-top-item--login, .header-top-item--login .header-top-action, .header-top-item--logout, .header-top-item--logout [href^="/login.php?action=logout"]', HaloOne: '[href^="/account.php"] svg, [href^="/account.php"] svg path, [href="/login.php"] svg path', + FinchUS: '[href^="/account.php"] img', } if (window?.B3CustomConfig) { diff --git a/packages/hooks/useB3AppOpen.ts b/packages/hooks/useB3AppOpen.ts index 796ef262..1db4c76c 100644 --- a/packages/hooks/useB3AppOpen.ts +++ b/packages/hooks/useB3AppOpen.ts @@ -98,8 +98,9 @@ export const useB3AppOpen = (initOpenState: OpenPageState) => { !href.includes('action=create_account') && !href.includes('action=logout') ) { - href = '/orders' + href = +B3Role === 2 ? '/accountSettings' : '/orders' } + if (initOpenState?.handleEnterClick) { initOpenState.handleEnterClick( href,