refactor: convert admin sidebar from accordion to Tabler navbar-vertical pattern with SVG icons
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m1s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m1s
This commit is contained in:
@@ -44,73 +44,86 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row g-2">
|
||||
<aside class="col-12 col-lg-2 col-xxl-2">
|
||||
<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>
|
||||
<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="#navbar-customer" 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>
|
||||
</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>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle @(contentOpen ? string.Empty : "collapsed")" href="#navbar-content" 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>
|
||||
<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>
|
||||
</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>
|
||||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</aside>
|
||||
<main class="col-12 col-lg-10 col-xxl-10">
|
||||
<div class="card shadow-sm border-0 admin-content-card admin-main-surface">
|
||||
|
||||
Reference in New Issue
Block a user