112 lines
4.5 KiB
PHP

@php
$menu = [
[
'title' => '대시보드',
'items' => [
['label' => '대시보드', 'route' => 'admin.home'],
],
],
[
'title' => '콘솔 관리',
'items' => [
['label' => '내 정보', 'route' => 'admin.me'], // 추후 라우트
['label' => '관리자 계정 관리', 'route' => 'admin.admins.index'],
['label' => '권한/역할 관리', 'route' => 'admin.roles.index'],
['label' => '접근 IP 허용목록', 'route' => 'admin.allowip.index'],
],
],
[
'title' => '알림/메시지',
'items' => [
['label' => '관리자 SMS 발송', 'route' => 'admin.sms.send'],
['label' => 'SMS 발송 이력', 'route' => 'admin.sms.logs'],
['label' => '알림 템플릿', 'route' => 'admin.templates.index'],
],
],
[
'title' => '고객지원',
'items' => [
['label' => '공지사항', 'route' => 'admin.notice.index'],
['label' => '1:1 문의', 'route' => 'admin.inquiry.index'],
['label' => 'FAQ 코드 관리', 'route' => 'admin.faqcodes.index'],
['label' => 'QnA 코드 관리', 'route' => 'admin.qnacodes.index'],
],
],
[
'title' => '상품권 관리',
'items' => [
['label' => '상품 리스트', 'route' => 'admin.products.index'],
['label' => '상품 등록', 'route' => 'admin.products.create'],
['label' => '판매 코드 관리', 'route' => 'admin.sale-codes.index'],
['label' => '핀 번호 관리', 'route' => 'admin.pins.index'],
['label' => '메인 노출 관리', 'route' => 'admin.exposure.index'],
['label' => '결제 수수료/정책', 'route' => 'admin.fees.index'],
],
],
[
'title' => '매입/정산',
'items' => [
['label' => '핀 매입 현황(출금)', 'route' => 'admin.buyback.index'],
['label' => '출금 요청 관리', 'route' => 'admin.withdraw.index'],
['label' => '정산 리포트', 'route' => 'admin.settlement.index'],
],
],
[
'title' => '거래/매출',
'items' => [
['label' => '상품권 거래 장부', 'route' => 'admin.ledger.index'],
['label' => '매출 리포트', 'route' => 'admin.sales.index'],
['label' => '환불/취소 내역', 'route' => 'admin.refunds.index'],
],
],
[
'title' => '회원/정책',
'items' => [
['label' => '회원 관리', 'route' => 'admin.members.index'],
['label' => '회원가입 필터 설정', 'route' => 'admin.signup-filter.index'],
['label' => '블랙리스트/제재', 'route' => 'admin.sanctions.index'],
['label' => '마케팅 수신동의', 'route' => 'admin.marketing.index'],
],
],
[
'title' => '시스템 로그',
'items' => [
['label' => '로그인 로그', 'route' => 'admin.logs.login'],
['label' => '다날 인증 로그', 'route' => 'admin.logs.danal'],
['label' => '결제 로그', 'route' => 'admin.logs.pay'],
['label' => '기타 로그', 'route' => 'admin.logs.misc'],
['label' => '관리자 활동 로그', 'route' => 'admin.logs.audit'],
],
],
];
@endphp
<nav class="a-nav">
@foreach($menu as $group)
<div class="a-nav__group">
<div class="a-nav__title">{{ $group['title'] }}</div>
@foreach($group['items'] as $it)
@php
$has = \Illuminate\Support\Facades\Route::has($it['route']);
// index면 admin.admins.* 전체를 active로 잡아줌
$base = preg_replace('/\.index$/', '', $it['route']);
$isActive = $has ? request()->routeIs($base.'*') : false;
@endphp
@if($has)
<a class="a-nav__item {{ $isActive ? 'is-active' : '' }}" href="{{ route($it['route']) }}">
<span class="a-nav__dot" aria-hidden="true"></span>
<span class="a-nav__label">{{ $it['label'] }}</span>
</a>
@else
<span class="a-nav__item is-disabled" title="준비중">
<span class="a-nav__dot" aria-hidden="true"></span>
<span class="a-nav__label">{{ $it['label'] }}</span>
</span>
@endif
@endforeach
</div>
@endforeach
</nav>