리브랜딩 - 서비스명 "종량제 시스템" → "GBLS", 헤더 로고에 풀네임(Garbage Bag Logistics System) 병기 (gov-portal·공통 브랜드·로그인/welcome 셸·타이틀·푸터 전반) 매뉴얼 - 신규 페이지 [로그인·회원가입·계정](01_account.md): 가입 항목·관리자 승인·2차 인증 흐름 - [화면 구성·워크스페이스·단축키]에 계정 전환 시 탭 초기화 안내 추가 워크스페이스(탭) - 탭 전환 시 좌측 사이드바 강조 동기화(메뉴 없는 화면은 강조 해제, 경로 폴백 매칭) - 소메뉴 좌측 아이콘(▸/·) 전부 제거 — 활성 메뉴는 배경 강조로만 구분 - 탭을 사용자(mb_idx)별로 격리: 다른 아이디 로그인 시 이전 탭 복원 안 함 - 사이드바 FAQ 링크 제거(자주 묻는 질문은 매뉴얼에 통합) 기본 코드관리 화면 - 업무현황 카드 스타일로 재디자인(가벼운 표·상태/범위 pill·단일 구분선) - render()에 $bare 옵션 추가 → 이미 카드형인 화면은 바깥 래퍼 생략 기타 - .claude/settings.local.json(개인 권한 설정) .gitignore 추가 - e2e: 워크스페이스(동기화·계정격리) + 매뉴얼(계정·단축키·검색) 케이스 보강 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
2.1 KiB
PHP
57 lines
2.1 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
/** @var list<array> $govNavItems */
|
|
/** @var int $govActiveParentIdx */
|
|
/** @var string $govActiveChildHref */
|
|
$activeParent = $govNavItems[$govActiveParentIdx] ?? $govNavItems[0] ?? null;
|
|
$sidebarTitle = $activeParent['name'] ?? 'MY MENU';
|
|
$activeChildHref = strtolower(ltrim((string) ($govActiveChildHref ?? ''), '/'));
|
|
?>
|
|
<aside class="sidebar">
|
|
<div class="my-menu-hd" id="portalSidebarTitle"><?= esc($sidebarTitle) ?></div>
|
|
<ul class="my-menu-list" id="portalSidebarList">
|
|
<?php if ($activeParent !== null): ?>
|
|
<?php if (! empty($activeParent['hasChildren'])): ?>
|
|
<?php foreach ($activeParent['children'] as $ci => $child): ?>
|
|
<?php
|
|
$childHref = strtolower(ltrim((string) ($child['href'] ?? ''), '/'));
|
|
$isChildActive = $activeChildHref !== ''
|
|
? ($childHref === $activeChildHref)
|
|
: ($ci === 0);
|
|
?>
|
|
<li>
|
|
<?php if ($child['href'] !== ''): ?>
|
|
<a href="<?= esc($child['url']) ?>" class="<?= $isChildActive ? 'active' : '' ?>">
|
|
<?= esc($child['name']) ?>
|
|
</a>
|
|
<?php else: ?>
|
|
<span class="menu-sub" style="opacity:.65;cursor:default;">
|
|
<?= esc($child['name']) ?>
|
|
</span>
|
|
<?php endif; ?>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
<?php elseif ($activeParent['href'] !== ''): ?>
|
|
<li>
|
|
<a href="<?= esc($activeParent['url']) ?>" class="active">
|
|
<?= esc($activeParent['name']) ?>
|
|
</a>
|
|
</li>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
</ul>
|
|
<div class="sidebar-blocks">
|
|
<div class="sb-teal">
|
|
<i class="fa-solid fa-mobile-screen"></i>
|
|
모바일 앱(예정)<br/>지정판매소 판매·스캔 연동
|
|
</div>
|
|
<div class="sb-gray">
|
|
<i class="fa-solid fa-repeat"></i> 통합 전환<br/>
|
|
<a href="<?= base_url('admin/select-local-government') ?>" style="color:#fff;text-decoration:underline;">지자체 선택</a>
|
|
</div>
|
|
<div class="sb-links">
|
|
<a href="<?= base_url('bag/manual') ?>">사용자 매뉴얼</a>
|
|
</div>
|
|
</div>
|
|
</aside>
|