@extends('web.layouts.layout') @section('content')
{{-- Breadcrumb --}} @isset($breadcrumbs) @include('web.partials.breadcrumb', ['items' => $breadcrumbs]) @endisset @php $heroSlides = config('web.hero_slides', []); // 섹션 감지 $isCsPage = request()->is('cs') || request()->is('cs/*') || request()->routeIs('web.cs.*'); $isMypagePage = request()->is('mypage') || request()->is('mypage/*') || request()->routeIs('web.mypage.*'); $isPolicyPage = request()->is('policy') || request()->is('policy/*') || request()->routeIs('web.policy.*'); // [추가] 상품 페이지 섹션 감지 $isShopPage = request()->is('product') || request()->is('product/*') || request()->routeIs('web.product.*'); // CS subnav 자동 주입 if ($isCsPage && empty($subnavItems)) { $subnavItems = collect(config('web.cs_tabs', []))->map(function ($t) { return ['label' => $t['label'] ?? '', 'url' => Route::has($t['route'] ?? '') ? route($t['route']) : '#', 'key' => $t['key'] ?? null]; })->all(); } // MYPAGE subnav 자동 주입 if ($isMypagePage && empty($subnavItems)) { $subnavItems = collect(config('web.mypage_tabs', []))->map(function ($t) { return ['label' => $t['label'] ?? '', 'url' => Route::has($t['route'] ?? '') ? route($t['route']) : '#', 'key' => $t['key'] ?? null]; })->all(); } // active key 설정 $subnavActive = $csActive ?? $mypageActive ?? ($subnavActive ?? null); @endphp @if(!empty($heroSlides)) @include('web.partials.hero-slider', ['slides' => $heroSlides, 'variant' => 'compact', 'id' => 'hero-sub']) @endif
@if($isCsPage) @include('web.partials.cs-tabs', ['activeKey' => $subnavActive]) @elseif($isMypagePage) @include('web.partials.mypage-tabs', ['activeKey' => $subnavActive]) @elseif($isPolicyPage) @include('web.partials.policy-tabs', ['activeKey' => $subnavActive]) @else {{-- Mobile Tabs --}}
@include('web.partials.subpage-sidenav', [ 'items' => $subnavItems ?? [], 'active' => $subnavActive, 'mode' => 'tabs' ])
{{-- Desktop Side --}} @endif
@include('web.partials.subpage-header', [ 'title' => $pageTitle ?? '페이지 제목', 'desc' => $pageDesc ?? null ]) @yield('subcontent')
@endsection