fix: revert navbar-vertical to accordion structure to prevent dropdown closure
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m15s

This commit is contained in:
2026-07-09 23:34:12 +09:00
parent 5e0a4c07d2
commit c569f32c03
+62 -84
View File
@@ -44,86 +44,73 @@
<div class="container-fluid">
<div class="row g-2">
<aside class="col-12 col-lg-2 col-xxl-2">
<nav class="navbar navbar-vertical navbar-expand-lg navbar-dark admin-sidebar-nav sticky-top">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu">
<span class="navbar-toggler-icon"></span>
</button>
<h1 class="navbar-brand navbar-brand-autodark">
<a href="/admin/dashboard">관리 메뉴</a>
</h1>
<div class="collapse navbar-collapse" id="navbar-menu">
<ul class="navbar-nav pt-lg-3">
<!-- 기본 -->
<li class="nav-item">
<a class="nav-link @activeClass("/admin/dashboard")" href="/admin/dashboard">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M5 12l-2 0l9 -9l9 9l-2 0"></path><path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6"></path></svg>
</span>
<span class="nav-link-title">대시보드</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link @activeClass("/admin/settings")" href="/admin/settings">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37 .996 .608 2.296 .07 2.572 -1.065z"></path><path d="M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"></path></svg>
</span>
<span class="nav-link-title">설정</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link @activeClass("/admin/clientlogs")" href="/admin/clientlogs">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"></path><path d="M9 11l3 3l5 -5"></path></svg>
</span>
<span class="nav-link-title">클라이언트 로그</span>
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @(customerOpen ? string.Empty : "collapsed")" href="javascript:void(0)" data-bs-toggle="dropdown" data-bs-auto-close="false" role="button" aria-expanded="@(customerOpen ? "true" : "false")">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0"></path><path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path><path d="M16 11h6"></path><path d="M19 8v6"></path></svg>
</span>
<span class="nav-link-title">고객/상담</span>
</a>
<div class="dropdown-menu">
<a class="dropdown-item @activeClass("/admin/customers")" href="/admin/customers">고객</a>
<a class="dropdown-item @activeClass("/admin/clients")" href="/admin/clients">고객사</a>
<a class="dropdown-item @activeClass("/admin/inquiries")" href="/admin/inquiries">문의</a>
<a class="dropdown-item @activeClass("/admin/consultingactivities")" href="/admin/consultingactivities">상담 활동</a>
<div class="card shadow-sm border-0 admin-sidebar-card sticky-top">
<div class="card-header admin-sidebar-header">
<h3 class="card-title mb-0 admin-sidebar-title">관리 메뉴</h3>
</div>
<div class="card-body p-0 admin-sidebar-body">
<div class="accordion accordion-flush" id="adminSidebarAccordion">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button @(coreOpen ? string.Empty : "collapsed")" type="button" data-bs-toggle="collapse" data-bs-target="#adminMenuCore" aria-expanded="@(coreOpen ? "true" : "false")">
기본
</button>
</h2>
<div id="adminMenuCore" class="accordion-collapse collapse @(coreOpen ? "show" : string.Empty)" data-bs-parent="#adminSidebarAccordion">
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action @activeClass("/admin/dashboard")" href="/admin/dashboard">▣ 대시보드</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/settings")" href="/admin/settings">⚙ 설정</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/clientlogs")" href="/admin/clientlogs">⌘ 클라이언트 로그</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @(contentOpen ? string.Empty : "collapsed")" href="javascript:void(0)" data-bs-toggle="dropdown" data-bs-auto-close="false" role="button" aria-expanded="@(contentOpen ? "true" : "false")">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M4 19.5a2.5 2.5 0 0 1 2.5 -2.5h3l4 -4m0 0l4 -4h3a2.5 2.5 0 0 1 2.5 2.5v9.5a2.5 2.5 0 0 1 -2.5 2.5h-15a2.5 2.5 0 0 1 -2.5 -2.5v-7.5"></path></svg>
</span>
<span class="nav-link-title">콘텐츠</span>
</a>
<div class="dropdown-menu">
<a class="dropdown-item @activeClass("/admin/blog")" href="/admin/blog">블로그</a>
<a class="dropdown-item @activeClass("/admin/announcements")" href="/admin/announcements">공지사항</a>
<a class="dropdown-item @activeClass("/admin/faqs")" href="/admin/faqs">FAQ</a>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button @(customerOpen ? string.Empty : "collapsed")" type="button" data-bs-toggle="collapse" data-bs-target="#adminMenuCustomer" aria-expanded="@(customerOpen ? "true" : "false")">
고객/상담
</button>
</h2>
<div id="adminMenuCustomer" class="accordion-collapse collapse @(customerOpen ? "show" : string.Empty)" data-bs-parent="#adminSidebarAccordion">
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action @activeClass("/admin/customers")" href="/admin/customers">◫ 고객</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/clients")" href="/admin/clients">◫ 고객사</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/inquiries")" href="/admin/inquiries">◫ 문의</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/consultingactivities")" href="/admin/consultingactivities">◫ 상담 활동</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @(financeOpen ? string.Empty : "collapsed")" href="#navbar-finance" data-bs-toggle="dropdown" data-bs-auto-close="false" role="button" aria-expanded="@(financeOpen ? "true" : "false")">
<span class="nav-link-icon d-md-none d-lg-inline-block">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path><path d="M12 9v3m0 3v.01"></path></svg>
</span>
<span class="nav-link-title">세무 관리</span>
</a>
<div class="dropdown-menu">
<a class="dropdown-item @activeClass("/admin/taxprofiles")" href="/admin/taxprofiles">세무 프로필</a>
<a class="dropdown-item @activeClass("/admin/taxfilings")" href="/admin/taxfilings">신고 관리</a>
<a class="dropdown-item @activeClass("/admin/taxfilingschedules")" href="/admin/taxfilingschedules">신고 일정</a>
<a class="dropdown-item @activeClass("/admin/revenuetrackings")" href="/admin/revenuetrackings">매출 추적</a>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button @(contentOpen ? string.Empty : "collapsed")" type="button" data-bs-toggle="collapse" data-bs-target="#adminMenuContent" aria-expanded="@(contentOpen ? "true" : "false")">
콘텐츠
</button>
</h2>
<div id="adminMenuContent" class="accordion-collapse collapse @(contentOpen ? "show" : string.Empty)" data-bs-parent="#adminSidebarAccordion">
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action @activeClass("/admin/blog")" href="/admin/blog">✎ 블로그</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/announcements")" href="/admin/announcements">★ 공지사항</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/faqs")" href="/admin/faqs">? FAQ</a>
</div>
</li>
</ul>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button @(financeOpen ? string.Empty : "collapsed")" type="button" data-bs-toggle="collapse" data-bs-target="#adminMenuFinance" aria-expanded="@(financeOpen ? "true" : "false")">
세무 관리
</button>
</h2>
<div id="adminMenuFinance" class="accordion-collapse collapse @(financeOpen ? "show" : string.Empty)" data-bs-parent="#adminSidebarAccordion">
<div class="list-group list-group-flush list-group-transparent">
<a class="list-group-item list-group-item-action @activeClass("/admin/taxprofiles")" href="/admin/taxprofiles">◧ 세무 프로필</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/taxfilings")" href="/admin/taxfilings">◧ 신고 관리</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/taxfilingschedules")" href="/admin/taxfilingschedules">◧ 신고 일정</a>
<a class="list-group-item list-group-item-action @activeClass("/admin/revenuetrackings")" href="/admin/revenuetrackings">◧ 매출 추적</a>
</div>
</div>
</div>
</div>
</div>
</nav>
</div>
</aside>
<main class="col-12 col-lg-10 col-xxl-10">
<div class="card shadow-sm border-0 admin-content-card admin-main-surface">
@@ -140,12 +127,3 @@
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>