diff --git a/app/Views/home/_dashboard_gov_portal_nav_script_base.php b/app/Views/home/_dashboard_gov_portal_nav_script_base.php index 8e8409d..a2630c4 100644 --- a/app/Views/home/_dashboard_gov_portal_nav_script_base.php +++ b/app/Views/home/_dashboard_gov_portal_nav_script_base.php @@ -6,6 +6,29 @@ var listEl = document.getElementById('portalSidebarList'); var titleEl = document.getElementById('portalSidebarTitle'); + // 기본정보관리 소메뉴 아이콘(Font Awesome solid) — 이름 키워드 기준(구체적인 것 먼저) + function sidebarIcon(name) { + var n = String(name || ''); + var rules = [ + ['바코드', 'fa-barcode'], ['조회', 'fa-magnifying-glass'], + ['신규', 'fa-chart-column'], ['현황', 'fa-chart-column'], + ['판매소', 'fa-store'], ['대행소', 'fa-handshake'], + ['담당자', 'fa-user-tie'], ['업체', 'fa-building'], + ['무료', 'fa-gift'], ['포장', 'fa-box'], + ['단가', 'fa-won-sign'], ['코드', 'fa-list-ol'], + ['비밀번호', 'fa-key'], ['설정', 'fa-gear'] + ]; + for (var i = 0; i < rules.length; i++) { + if (n.indexOf(rules[i][0]) !== -1) return rules[i][1]; + } + if (n.toLowerCase().indexOf('password') !== -1) return 'fa-key'; + return 'fa-angle-right'; + } + function iconHtml(parentName, childName) { + if (String(parentName || '').replace(/\s/g, '') !== '기본정보관리') return ''; + return ''; + } + if (listEl && navData.length) { function renderSidebar(idx, overrideHref) { var parent = navData[idx]; @@ -29,10 +52,11 @@ var li = document.createElement('li'); var chHref = (child.href || '').toLowerCase().replace(/^\//, ''); var on = activeHref ? (chHref === activeHref) : (hasOverride ? false : ci === 0); + var ic = iconHtml(parent.name, child.name); if (child.href) { - li.innerHTML = '' + child.name + ''; + li.innerHTML = '' + ic + child.name + ''; } else { - li.innerHTML = '' + child.name + ''; + li.innerHTML = '' + ic + child.name + ''; } listEl.appendChild(li); }); diff --git a/app/Views/home/_dashboard_gov_portal_sidebar.php b/app/Views/home/_dashboard_gov_portal_sidebar.php index b555a22..97e92dd 100644 --- a/app/Views/home/_dashboard_gov_portal_sidebar.php +++ b/app/Views/home/_dashboard_gov_portal_sidebar.php @@ -6,6 +6,36 @@ declare(strict_types=1); $activeParent = $govNavItems[$govActiveParentIdx] ?? $govNavItems[0] ?? null; $sidebarTitle = $activeParent['name'] ?? 'MY MENU'; $activeChildHref = strtolower(ltrim((string) ($govActiveChildHref ?? ''), '/')); + +// 기본정보관리 소메뉴에 어울리는 아이콘(Font Awesome solid) 매핑 — 이름 키워드 기준(구체적인 것 먼저) +$showSidebarIcons = (str_replace(' ', '', (string) $sidebarTitle) === '기본정보관리'); +$sidebarIconFor = static function (string $name): string { + $rules = [ + '바코드' => 'fa-barcode', // 지정판매소 바코드 출력 + '조회' => 'fa-magnifying-glass', // 지정 판매소 조회 + '신규' => 'fa-chart-column', // 지정 판매소 신규/취소 현황 + '현황' => 'fa-chart-column', + '판매소' => 'fa-store', // 지정 판매소 관리 + '대행소' => 'fa-handshake', + '담당자' => 'fa-user-tie', + '업체' => 'fa-building', + '무료' => 'fa-gift', + '포장' => 'fa-box', + '단가' => 'fa-won-sign', + '코드' => 'fa-list-ol', + '비밀번호' => 'fa-key', + '설정' => 'fa-gear', + ]; + foreach ($rules as $kw => $icon) { + if (mb_stripos($name, $kw) !== false) { + return $icon; + } + } + if (stripos($name, 'password') !== false) { + return 'fa-key'; + } + return 'fa-angle-right'; +}; ?>