@props([ 'name' => 'marketing', 'label' => '갤러리 이미지 관리', 'model' => null, 'maxCount' => 30, 'badgeText' => '최대 30장 등록 가능', 'buttonText' => '사진 추가' ]) @php $slotKey = $name; $existingImages = collect(); if ($model && method_exists($model, 'getSlotImages')) { $existingImages = $model->getSlotImages($slotKey); } $currentCount = $existingImages->count(); // 🌟 본사 관리자 전용 라우트 고정 주입 $adminUploadRoute = '/admin/images'; $adminIndexRoute = '/admin/images/list'; $adminFolderRoute = '/admin/image-folders'; @endphp
{{ $label }} {{ $currentCount }} / {{ $maxCount }}
카드를 꾹 눌러서(롱프레스) 좌우 순서를 변경할 수 있습니다.
@foreach($existingImages as $index => $img) @php $imgSrc = $img->preview_url ?: ($img->thumb_url ?: asset('storage/' . $img->path)); $sortOrder = $index + 1; @endphp
{{ $img->original_name }}
{{ $img->original_name }}
@endforeach
{{-- 1. 본사 전용 이미지 모달 주입 --}} @pushOnce('modals', 'admin-image-modal') @endpushOnce {{-- 2. 이미지 라이브러리 전용 CSS 1회 주입 (싱글/멀티 슬롯 공용 키) --}} @pushOnce('styles', 'admin-image-library-css') @endpushOnce {{-- 3. 이미지 라이브러리 코어 JS --}} @pushOnce('scripts', 'admin-image-library-js') @endpushOnce {{-- 4. 멀티 슬롯 전용 스타일 (Swiper CSS) --}} @pushOnce('styles', 'multi-slot-swiper-css') @endpushOnce {{-- 5. 멀티 슬롯 전용 JS 엔진 --}} @pushOnce('scripts', 'multi-slot-engine-js') @endpushOnce