summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/layout/Header.tsx19
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);