<style>
    /* General Styles */
    body {
        margin: 0;
        padding: 0;
    }

    .photo-container {
        width: 100%;
        margin-bottom: 10px;
        clear: both;
        page-break-inside: avoid;
    }

    .photo-row {
        width: 100%;
        clear: both;
        page-break-inside: avoid;
    }

    .photo-item {

        box-sizing: border-box;
        page-break-inside: avoid;
    }

    .photo-item:nth-child(2n) {
        margin-right: 0;
    }

    /* Image Styling */
    .photo-item img {
        display: block;
        margin: auto;
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 400px;
        object-fit: contain;
        background-color: #f0f0f0;
        border-radius: 5px;
    }

    /* Clearfix */
    .clearfix::after {
        content: "";
        clear: both;
        display: table;
    }

    /* Media Print */
    @media print {
        table {
            width: 100%;
            border-collapse: collapse;
        }

        td {
            vertical-align: top;
            text-align: center;
            page-break-inside: avoid;
        }

        .photo-image {
            height: 400px;
            max-height: 400px;
        }

        .page-break {
            page-break-after: always;
        }
    }
</style>

@isset($basicData['foto'])
    @php
        $photos = $formFoto['upload_foto'] ?? [];
        if (!is_array($photos)) {
            $photos = [];
        }
        $groupedPhotos = collect($photos)->groupBy('category');

        $mainPhotos = $groupedPhotos->filter(fn($_, $key) => strtolower($key) !== 'lainnya');

        // Definisikan urutan yang diinginkan
        $desiredOrder = [
            'PETA LOKASI',
            'GAMBAR SITUASI / SURAT UKUR',
            'BLAD TATA KOTA',
            'FOTO JAMINAN',
            'DOKUMEN PENDUKUNG'
        ];

        // Urutkan ulang $mainPhotos sesuai urutan yang diinginkan
        $orderedMainPhotos = collect();
        foreach ($desiredOrder as $category) {
            if ($mainPhotos->has($category)) {
                $orderedMainPhotos->put($category, $mainPhotos->get($category));
            }
        }

        // Tambahkan kategori lain yang tidak ada dalam urutan yang diinginkan
        foreach ($mainPhotos as $category => $photos) {
            if (!in_array($category, $desiredOrder)) {
                $orderedMainPhotos->put($category, $photos);
            }
        }

        $mainPhotos = $orderedMainPhotos;
        $otherPhotos = $groupedPhotos->get('lainnya', collect());
    @endphp

    @if ($groupedPhotos->isEmpty())
        <p class="text-gray-500">Tidak ada foto yang tersedia.</p>
    @else
        @foreach ($mainPhotos as $category => $photos)
            @if($category=='DOKUMEN PENDUKUNG')
                @php continue; @endphp
            @endif
            @php
                $groupedBySubcategory = $photos->groupBy('sub');
            @endphp

            @foreach ($groupedBySubcategory as $subcategory => $subPhotos)
                @if (count($subPhotos) > 0)
                    @foreach ($subPhotos->chunk(2) as $chunkedPhotos)
                        @if(!$loop->first)
                        <div class="page-break"></div>
                        @endif
                        <table width="100%" border="0"
                            style="align-content: center; text-align: center; margin-bottom: 20px">
                            @foreach ($chunkedPhotos as $item)
                                @php
                                    // Logika fallback untuk path file
                                    $originalPath = $item['path'];
                                    $fallbackPath = null;

                                    // Jika file asli tidak ditemukan, buat fallback path
                                    if ($statusLpj == 1) {
                                        $fullOriginalPath = storage_path('app/public/' . $originalPath);

                                        if (!file_exists($fullOriginalPath)) {
                                            // Ekstrak bagian akhir path (contoh: 251051/251051_2_2.png)
                                            $pathParts = explode('/', $originalPath);
                                            if (count($pathParts) >= 2) {
                                                $lastTwoParts = array_slice($pathParts, -2);
                                                $fallbackPath = 'surveyor/001/' . implode('/', $lastTwoParts);
                                            }
                                        }
                                    }

                                    // Tentukan path yang akan digunakan
                                    $pathToUse = ($fallbackPath && $statusLpj == 1 && file_exists(storage_path('app/public/' . $fallbackPath)))
                                        ? $fallbackPath
                                        : $originalPath;

                                    $filePath =
                                        $statusLpj == 1
                                            ? storage_path('app/public/' . $pathToUse)
                                            : asset('storage/' . $pathToUse);

                                    $extension = strtolower(pathinfo($pathToUse, PATHINFO_EXTENSION));
                                    $isImage = in_array($extension, [
                                        'jpg',
                                        'jpeg',
                                        'png',
                                        'gif',
                                        'bmp',
                                        'svg',
                                        'webp',
                                        'tiff',
                                    ]);
                                    $isPdf = $extension === 'pdf';
                                @endphp
                                @if ($statusLpj == 1)
                                @if ($isImage && $filePath)
                                    <tr>
                                        <td style="width: 100%; padding: 10px; align-content: center; text-align: center"
                                            class="border photo-item">
                                            <p style="font-weight: medium; font-size: 10px">{{ $category }} -
                                                @isset($subcategory)
                                                    @if (trim($subcategory) !== '')
                                                        {{ $subcategory }} -
                                                    @endif
                                                @endisset
                                                {{ $item['name'] ?? '' }}
                                            </p>
                                            <img src="{{ $filePath }}" alt="{{ $pathToUse }}" class="photo-image"
                                                style="align-content: center; text-align: center; max-width: 100%; height: auto;">
                                        </td>
                                    </tr>
                                 @endif
                                @elseif ($statusLpj != 1)
                                    <tr>
                                        <td style="width: 100%; padding: 10px; align-content: center; text-align: center"
                                            class="border photo-item">

                                            <p style="font-weight: medium; font-size: 10px">{{ $category }} -
                                                @isset($subcategory)
                                                    @if (trim($subcategory) !== '')
                                                        {{ $subcategory }} -
                                                    @endif
                                                @endisset

                                                {{ $item['name'] ?? '' }}

                                            </p>
                                            @if ($statusLpj || file_exists(public_path('storage/' . $item['path'])))
                                                @if ($isImage)
                                                    <img src="{{ $filePath }}" alt="{{ $item['path'] }}"
                                                        class="photo-image"
                                                        style="align-content: center; text-align: center;">
                                                @elseif ($isPdf)
                                                    <a href="{{ $filePath }}" download="{{ basename($filePath) }}"
                                                        style="font-size:12px; color:#1a73e8; text-decoration: underline;">
                                                        ⬇️ Unduh File PDF
                                                    </a>
                                                @else
                                                    <a href="{{ $filePath }}" download="{{ basename($filePath) }}"
                                                        style="font-size:12px; color:#1a73e8; text-decoration: underline;">
                                                        ⬇️ Unduh File
                                                    </a>
                                                @endif
                                            @endif

                                            @isset($item['description'])
                                                <p style="font-size:9px">{{ $item['description'] }}</p>
                                            @endisset

                                        </td>
                                    </tr>
                                @endif
                            @endforeach
                            @if (count($chunkedPhotos) < 2)
                                <tr style="width: 100%;"></tr>
                            @endif
                        </table>
                    @endforeach
                @endif
            @endforeach
        @endforeach

        @if (!$otherPhotos->isEmpty())
            @foreach ($otherPhotos->groupBy('sub') as $subcategory => $subPhotos)
                @if (count($subPhotos) > 0)
                    @foreach ($subPhotos->chunk(2) as $chunkedPhotos)
                        <table width="100%" border="0"
                            style="align-content: center; text-align: center; margin-bottom: 20px">
                            @foreach ($chunkedPhotos as $item)
                                @php
                                    $filePath =
                                        $statusLpj == 1
                                            ? storage_path('app/public/' . $item['path'])
                                            : asset('storage/' . $item['path']);

                                    $extension = strtolower(pathinfo($item['path'], PATHINFO_EXTENSION));
                                    $isImage = in_array($extension, [
                                        'jpg',
                                        'jpeg',
                                        'png',
                                        'gif',
                                        'bmp',
                                        'svg',
                                        'webp',
                                        'tiff',
                                    ]);
                                    $isPdf = $extension === 'pdf';
                                @endphp
                                @if ($statusLpj == 1)
                                  @if ($isImage && $filePath)
                                    <tr>
                                        <td style="width: 100%; padding: 10px; align-content: center; text-align: center"
                                            class="border photo-item">
                                            <p style="font-weight: medium; font-size: 10px">{{ $category }} -
                                                @isset($subcategory)
                                                    @if (trim($subcategory) !== '')
                                                        {{ $subcategory }} -
                                                    @endif
                                                @endisset
                                                {{ $item['name'] ?? '' }}
                                            </p>
                                            <img src="{{ $filePath }}" alt="{{ $item['path'] }}" class="photo-image"
                                                style="align-content: center; text-align: center; max-width: 100%; height: auto;">
                                        </td>
                                    </tr>
                                  @endif
                                @elseif ($statusLpj != 1)
                                    <tr>
                                        <td style="width: 100%; padding: 10px;" class="border photo-item">
                                            <p style="font-weight: medium; font-size: 10px">Lainnya -
                                                @isset($subcategory)
                                                    @if (trim($subcategory) !== '')
                                                        {{ $subcategory }} -
                                                    @endif
                                                @endisset
                                                {{ $item['name'] ?? '' }}
                                            </p>
                                            @if ($statusLpj || file_exists(public_path('storage/' . $item['path'])))
                                                @if ($isImage)
                                                    <img src="{{ $filePath }}" alt="{{ $item['path'] }}"
                                                        class="photo-image" style="text-align: center;">
                                                @elseif ($isPdf)
                                                    <a href="{{ $filePath }}" download="{{ basename($filePath) }}"
                                                        style="font-size:12px; color:#1a73e8; text-decoration: underline;">
                                                        ⬇️ Unduh File PDF
                                                    </a>
                                                @else
                                                    <a href="{{ $filePath }}" download="{{ basename($filePath) }}"
                                                        style="font-size:12px; color:#1a73e8; text-decoration: underline;">
                                                        ⬇️ Unduh File
                                                    </a>
                                                @endif
                                            @endif

                                            @isset($item['description'])
                                                <p style="font-size:9px">{{ $item['description'] }}</p>
                                            @endisset

                                        </td>
                                    </tr>
                                @endif
                            @endforeach
                            @if (count($chunkedPhotos) < 2)
                                <tr style="width: 100%;"></tr>
                            @endif
                        </table>
                    @endforeach
                @endif
            @endforeach
        @endif
    @endif
@endisset
