<?php
declare(strict_types=1);
helper('admin');
$siteNavTree = get_site_nav_tree();
$uriObj = service('request')->getUri();
$currentPath = trim((string) $uriObj->getPath(), '/');
if (str_starts_with($currentPath, 'index.php/')) {
    $currentPath = substr($currentPath, strlen('index.php/'));
}
$mbLevel = (int) session()->get('mb_level');
$isAdmin = ($mbLevel === \Config\Roles::LEVEL_SUPER_ADMIN || $mbLevel === \Config\Roles::LEVEL_LOCAL_ADMIN);
$effectiveLgIdx = admin_effective_lg_idx();
$effectiveLgName = null;
if ($effectiveLgIdx) {
    $lgRow = model(\App\Models\LocalGovernmentModel::class)->find($effectiveLgIdx);
    $effectiveLgName = $lgRow ? $lgRow->lg_name : null;
}
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title><?= esc($title ?? '쓰레기봉투 물류시스템') ?></title>
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&amp;display=swap" rel="stylesheet"/>
<script>
tailwind.config = {
  theme: {
    extend: {
      fontFamily: { sans: ['"Malgun Gothic"', '"Noto Sans KR"', 'sans-serif'] },
      colors: {
        'system-header': '#ffffff',
        'title-bar': '#2c3e50',
        'control-panel': '#f8f9fa',
        'btn-search': '#1c4e80',
        'btn-excel-border': '#28a745',
        'btn-excel-text': '#28a745',
        'btn-print-border': '#ced4da',
        'btn-exit': '#d9534f',
      },
      fontSize: { 'xxs': '0.65rem' }
    }
  }
}
</script>
<style data-purpose="table-layout">
.data-table { width: 100%; border-collapse: collapse; font-family: 'Malgun Gothic', 'Noto Sans KR', sans-serif; }
.data-table th, .data-table td { border: 1px solid #ccc; padding: 4px 8px; white-space: nowrap; font-size: 13px; }
.data-table th { background-color: #e9ecef; text-align: center; vertical-align: middle; font-weight: bold; color: #333; }
.data-table tbody tr:nth-child(even) td { background-color: #f9f9f9; }
.data-table tbody tr:hover td { background-color: #e6f7ff !important; }
.main-content-area { height: calc(100vh - 130px); overflow: auto; }
body { overflow: hidden; }
@media print {
  header, footer, .no-print, nav { display: none !important; }
  .main-content-area { height: auto !important; overflow: visible !important; }
  body { overflow: visible !important; }
  .bg-title-bar { display: none !important; }
  .bg-control-panel { break-inside: avoid; }
  .print-header { display: block !important; }
}
</style>
</head>
<body class="bg-gray-100 text-gray-800 flex flex-col h-screen font-sans antialiased select-none">
<!-- BEGIN: Top Navigation -->
<header class="relative bg-white border-b border-gray-300 h-12 flex items-center justify-between px-4 shrink-0 z-50">
<div class="flex items-center gap-4">
  <div class="flex items-center gap-2">
    <div class="w-6 h-6 flex items-center justify-center shrink-0">
      <svg class="h-5 w-5" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
        <rect width="16" height="16" fill="#2563eb"/><rect x="2" y="2" width="7" height="7" fill="white"/><rect x="5" y="5" width="9" height="9" fill="white"/>
      </svg>
    </div>
    <a href="<?= base_url() ?>" class="text-base font-semibold text-gray-800 tracking-tight hover:text-blue-600">쓰레기봉투 물류시스템</a>
  </div>
</div>
<nav class="hidden md:flex gap-5 text-sm font-medium text-gray-600">
<?php if (! empty($siteNavTree)): ?>
  <?php foreach ($siteNavTree as $navItem): ?>
  <?php
  $navLink = trim((string) $navItem->mm_link, '/');
  $isActive = ($currentPath === $navLink);
  if (! $isActive && ! empty($navItem->children)) {
      foreach ($navItem->children as $ch) {
          $childPath = trim((string) $ch->mm_link, '/');
          if ($currentPath === $childPath) {
              $isActive = true;
              break;
          }
          // 기본코드 세부는 메뉴에 직접 링크 없음 → 기본코드관리(bag/code-kinds)와 동일 메뉴군으로 표시
          if ($childPath === 'bag/code-kinds' && str_starts_with($currentPath, 'bag/code-details')) {
              $isActive = true;
              break;
          }
      }
  }
  ?>
  <div class="relative group">
    <a class="<?= $isActive ? 'text-blue-700 font-bold border-b-2 border-blue-700 pb-3 -mb-3' : 'hover:text-blue-600' ?>"
       href="<?= base_url($navItem->mm_link) ?>">
      <?= esc($navItem->mm_name) ?>
    </a>
    <?php if (! empty($navItem->children)): ?>
    <?php /* pt-1: 부모와 패널 사이 호버 끊김 방지. z-50: 제목 바보다 위 */ ?>
    <div class="absolute left-0 top-full z-50 hidden pt-1 min-w-[12rem] group-hover:block group-focus-within:block">
      <div class="bg-white border border-gray-200 rounded shadow-lg py-1">
      <?php foreach ($navItem->children as $child): ?>
      <?php
        $childLink = trim((string) ($child->mm_link ?? ''));
      ?>
      <?php if ($childLink !== ''): ?>
      <a href="<?= base_url($childLink) ?>"
         class="block px-3 py-1.5 text-sm text-gray-700 hover:bg-blue-50 whitespace-nowrap">
        <?= esc($child->mm_name) ?>
      </a>
      <?php else: ?>
      <span class="block px-3 py-1.5 text-sm text-gray-400 cursor-default whitespace-nowrap" title="관리자 메뉴 관리에서 링크를 설정해 주세요">
        <?= esc($child->mm_name) ?>
      </span>
      <?php endif; ?>
      <?php endforeach; ?>
      </div>
    </div>
    <?php endif; ?>
  </div>
  <?php endforeach; ?>
<?php endif; ?>
</nav>
<div class="flex items-center gap-2">
  <?php if ($effectiveLgName !== null): ?>
  <span class="text-sm text-gray-600" title="현재 작업 지자체"><?= esc($effectiveLgName) ?></span>
  <?php endif; ?>
  <?php if ($isAdmin): ?>
  <a href="<?= base_url('admin') ?>" class="text-gray-500 hover:text-blue-600 text-sm">관리자</a>
  <?php endif; ?>
  <a href="<?= base_url('logout') ?>" class="text-gray-500 hover:text-red-600 transition-colors inline-block p-1 rounded hover:bg-red-50" title="로그아웃">
    <svg class="h-5 w-5 inline" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M6 18L18 6M6 6l12 12" stroke-linecap="round" stroke-linejoin="round"/></svg> 종료
  </a>
</div>
</header>
<!-- END: Top Navigation -->
<div class="bg-title-bar text-white px-4 py-2 text-sm font-medium shrink-0">
  <?= esc($title ?? '') ?>
</div>
<?php if (session()->getFlashdata('success')): ?>
<div class="mx-4 mt-2 p-3 rounded-lg bg-green-50 text-green-700 text-sm" role="alert"><?= esc(session()->getFlashdata('success')) ?></div>
<?php endif; ?>
<?php if (session()->getFlashdata('error')): ?>
<div class="mx-4 mt-2 p-3 rounded-lg bg-red-50 text-red-700 text-sm" role="alert"><?= esc(session()->getFlashdata('error')) ?></div>
<?php endif; ?>
<main class="main-content-area flex-grow bg-white p-4">
<?= $content ?>
</main>
<footer class="bg-gray-200 border-t border-gray-300 px-4 py-1 text-xs text-gray-600 flex items-center justify-between shrink-0">
  <span>쓰레기봉투 물류시스템</span>
  <span><?= date('Y.m.d (D) g:i:sA') ?></span>
</footer>
</body>
</html>
