diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-24 18:46:52 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-24 18:46:52 +0900 |
| commit | b284a6e07c2dd03d10eb471d69457e92bcc0ac76 (patch) | |
| tree | 4cbd62ae15dcdf318f24f88f479c946c08aacf87 /components | |
| parent | 57e3a696f4bdee665cf592463acf48ba83a6e2cd (diff) | |
(김준회) 메뉴: 파트너인 경우에만 시스템 설정 숨기도록 로직 수정
Diffstat (limited to 'components')
| -rw-r--r-- | components/layout/Header.tsx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/components/layout/Header.tsx b/components/layout/Header.tsx index b12c673c..b70749c7 100644 --- a/components/layout/Header.tsx +++ b/components/layout/Header.tsx @@ -53,7 +53,8 @@ const HIDDEN_MENU_SECTION_KEYS = [ "menu.vendor.procurement.title", ]; -const HIDDEN_ADDITIONAL_MENU_KEYS = [ +// partners 도메인에서만 숨길 추가 메뉴 키 목록 +const HIDDEN_ADDITIONAL_MENU_KEYS_PARTNERS = [ "menu.additional.system_settings", ]; @@ -72,15 +73,22 @@ const filterMenusByEnvironment = (sections: MenuSection[]): MenuSection[] => { /** * 환경변수에 따라 추가 메뉴 항목을 필터링하는 함수 + * @param items 필터링할 메뉴 항목 배열 + * @param isPartners partners 도메인 여부 */ -const filterAdditionalMenusByEnvironment = (items: MenuItem[]): MenuItem[] => { +const filterAdditionalMenusByEnvironment = (items: MenuItem[], isPartners: boolean): MenuItem[] => { const shouldHideMenus = process.env.NEXT_PUBLIC_HIDE_PARTNERS_MENU_BEFORE_OPEN === 'true'; if (!shouldHideMenus) { return items; } - return items.filter(item => !HIDDEN_ADDITIONAL_MENU_KEYS.includes(item.titleKey)); + // partners 도메인일 때만 system_settings 필터링 + if (isPartners) { + return items.filter(item => !HIDDEN_ADDITIONAL_MENU_KEYS_PARTNERS.includes(item.titleKey)); + } + + return items; }; export function Header() { @@ -168,9 +176,12 @@ export function Header() { const { main: originalMain, additional: originalAdditional, logoHref, brandNameKey, basePath } = getDomainConfig(pathname); + // partners 도메인 여부 확인 + const isPartners = pathname?.includes("/partners") ?? false; + // 1단계: 환경변수에 따른 메뉴 필터링 const envFilteredMain = filterMenusByEnvironment(originalMain); - const envFilteredAdditional = filterAdditionalMenusByEnvironment(originalAdditional); + const envFilteredAdditional = filterAdditionalMenusByEnvironment(originalAdditional, isPartners); // 2단계: 활성 메뉴만 필터링 (로딩 중이거나 에러 시에는 환경변수 필터링만 적용) const main = isLoading ? envFilteredMain : filterActiveMenus(envFilteredMain, activeMenus); |
