From 763e571cf6cabbe5b69f8177ac5f50e2ff8f554c Mon Sep 17 00:00:00 2001 From: MuzakkiABBAUF Date: Wed, 15 Oct 2025 11:00:46 +0700 Subject: [PATCH] fix --- .../views/admin/pelanggans/show.blade.php | 157 ++++++++++++------ 1 file changed, 104 insertions(+), 53 deletions(-) diff --git a/backend-baru/resources/views/admin/pelanggans/show.blade.php b/backend-baru/resources/views/admin/pelanggans/show.blade.php index 4099e56..d650d9c 100644 --- a/backend-baru/resources/views/admin/pelanggans/show.blade.php +++ b/backend-baru/resources/views/admin/pelanggans/show.blade.php @@ -69,64 +69,115 @@ -
-

- 📋 Detail Form Pemesanan -

+
+

+ 📋 Detail Form Pemesanan +

- @if($pelanggan->form && count($pelanggan->form) > 0) -
- - - @foreach($pelanggan->form as $field => $value) - - - - - @endforeach - -
- {{ ucwords(str_replace('_', ' ', $field)) }} - - @if(is_array($value)) - {{ implode(', ', $value) }} + @if($pelanggan->form && count($pelanggan->form) > 0) + @php + $fotoFields = []; + $textFields = []; - {{-- ✅ Jika value adalah path atau URL gambar --}} - @elseif( - is_string($value) && - (preg_match('/\.(jpg|jpeg|png|gif|webp)$/i', $value) - || Str::startsWith($value, ['storage/', 'uploads/', 'images/'])) - ) - @php - // Cek apakah gambar disimpan di storage Laravel - $imageUrl = Str::startsWith($value, ['http://', 'https://']) - ? $value - : asset($value); - @endphp + foreach ($pelanggan->form as $field => $value) { + $isFoto = false; - - {{ $field }} - + if (is_array($value)) { + // jika array berisi gambar + $isFoto = collect($value)->contains(function ($v) { + return preg_match('/\.(jpg|jpeg|png|gif|webp)$/i', $v) + || Str::startsWith($v, ['storage/', 'photos/', 'uploads/', 'images/']); + }); + } elseif (is_string($value)) { + // jika satu gambar + $isFoto = preg_match('/\.(jpg|jpeg|png|gif|webp)$/i', $value) + || Str::startsWith($value, ['storage/', 'photos/', 'uploads/', 'images/']); + } - {{-- ✅ Jika value adalah URL biasa --}} - @elseif(is_string($value) && filter_var($value, FILTER_VALIDATE_URL)) - - {{ $value }} - + if ($isFoto) { + $fotoFields[$field] = $value; + } else { + $textFields[$field] = $value; + } + } + $orderedFields = array_merge($textFields, $fotoFields); + @endphp - {{-- ✅ Jika teks biasa --}} - @else - {{ $value ?: '-' }} - @endif -
-
- @else -

Tidak ada data form tambahan.

- @endif -
+
+ + + @foreach($orderedFields as $field => $value) + + + + + @endforeach + +
+ {{ ucwords(str_replace('_', ' ', $field)) }} + + {{-- ✅ Jika value adalah array (banyak foto) --}} + @if(is_array($value)) +
+ @foreach($value as $img) + @php + if (Str::startsWith($img, ['http://', 'https://'])) { + $imageUrl = $img; + } elseif (Str::startsWith($img, ['storage/', 'public/'])) { + $imageUrl = asset($img); + } elseif (Str::startsWith($img, 'photos/')) { + $imageUrl = asset('storage/' . $img); + } else { + $imageUrl = asset('storage/' . $img); + } + @endphp + + {{ $field }} + + @endforeach +
+ {{-- ✅ Jika gambar tunggal --}} + @elseif( + is_string($value) && + (preg_match('/\.(jpg|jpeg|png|gif|webp)$/i', $value) + || Str::startsWith($value, ['storage/', 'uploads/', 'images/', 'photos/'])) + ) + @php + if (Str::startsWith($value, ['http://', 'https://'])) { + $imageUrl = $value; + } elseif (Str::startsWith($value, ['storage/', 'public/'])) { + $imageUrl = asset($value); + } elseif (Str::startsWith($value, 'photos/')) { + $imageUrl = asset('storage/' . $value); + } else { + $imageUrl = asset('storage/' . $value); + } + @endphp + + {{ $field }} + + + {{-- ✅ Jika URL biasa --}} + @elseif(is_string($value) && filter_var($value, FILTER_VALIDATE_URL)) + + {{ $value }} + + + {{-- ✅ Jika teks biasa --}} + @else + {{ $value ?: '-' }} + @endif +
+
+ @else +

Tidak ada data form tambahan.

+ @endif +
@endsection