242 lines
9.3 KiB
PHP
242 lines
9.3 KiB
PHP
<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 {
|
|
width: 300px;
|
|
height: 300px;
|
|
object-fit: contain;
|
|
background-color: #f0f0f0;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
/* Clearfix */
|
|
.clearfix::after {
|
|
content: "";
|
|
clear: both;
|
|
display: table;
|
|
}
|
|
|
|
/* Media Print */
|
|
@media print {
|
|
.photo-item {
|
|
width: 48%;
|
|
margin-right: 2%;
|
|
float: left;
|
|
padding: 5px;
|
|
box-sizing: border-box;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.photo-item img {
|
|
width: 300px;
|
|
height: 300px;
|
|
object-fit: contain;
|
|
background-color: #f0f0f0;
|
|
border-radius: 5px;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.photo-container {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
.photo-row {
|
|
page-break-inside: avoid;
|
|
}
|
|
}
|
|
</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');
|
|
$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)
|
|
@php
|
|
$groupedBySubcategory = $photos->groupBy('sub');
|
|
@endphp
|
|
|
|
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
|
|
@if (count($subPhotos) > 0)
|
|
<table width="100%" border="0" style="align-content: center; text-align: center">
|
|
<tr>
|
|
@if (count($subPhotos) === 1)
|
|
@php
|
|
$item = $subPhotos->first();
|
|
$imagePath = storage_path('app/public/' . $item['path']);
|
|
@endphp
|
|
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2"
|
|
class="photo-item border">
|
|
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
|
|
|
@isset($subcategory)
|
|
@if (trim($subcategory) !== '')
|
|
{{ $subcategory }} -
|
|
@endif
|
|
@endisset
|
|
|
|
{{ $item['name'] ?? '' }}
|
|
</p>
|
|
@if ($statusLpj || file_exists($imagePath))
|
|
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image"
|
|
style="width: 100%; max-width: 300px;">
|
|
@endif
|
|
@isset($item['description'])
|
|
<p style="font-size:9px">{{ $item['description'] }}</p>
|
|
@endisset
|
|
</td>
|
|
@else
|
|
@foreach ($subPhotos as $index => $item)
|
|
@php
|
|
$imagePath = storage_path('app/public/' . $item['path']);
|
|
@endphp
|
|
<td style="width: 50%; vertical-align: top; text-align: center"
|
|
class="photo-item border">
|
|
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
|
|
|
@isset($subcategory)
|
|
@if (trim($subcategory) !== '')
|
|
{{ $subcategory }} -
|
|
@endif
|
|
@endisset
|
|
|
|
{{ $item['name'] ?? '' }}
|
|
</p>
|
|
@if ($statusLpj || file_exists($imagePath))
|
|
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image"
|
|
style="width: 100%; max-width: 300px;">
|
|
@endif
|
|
@isset($item['description'])
|
|
<p style="font-size:9px">{{ $item['description'] }}</p>
|
|
@endisset
|
|
</td>
|
|
@if (($index + 1) % 2 == 0)
|
|
</tr>
|
|
<tr>
|
|
@endif
|
|
@endforeach
|
|
@if (count($subPhotos) % 2 != 0)
|
|
<td style="width: 50%;"></td>
|
|
@endif
|
|
@endif
|
|
</tr>
|
|
</table>
|
|
@endif
|
|
@endforeach
|
|
@endforeach
|
|
@endif
|
|
|
|
<div class="page-break"></div>
|
|
|
|
@if (!$otherPhotos->isEmpty())
|
|
@foreach ($otherPhotos->groupBy('sub') as $subcategory => $subPhotos)
|
|
@if (count($subPhotos) > 0)
|
|
<table width="100%" border="0" style="align-content: center; text-align: center">
|
|
<tr>
|
|
@if (count($subPhotos) === 1)
|
|
@php
|
|
$item = $subPhotos->first();
|
|
$imagePath = storage_path('app/public/' . $item['path']);
|
|
@endphp
|
|
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2"
|
|
class="photo-item border">
|
|
<p style="font-weight: medium; font-size: 10px">Lainnya -
|
|
|
|
@isset($subcategory)
|
|
@if (trim($subcategory) !== '')
|
|
{{ $subcategory }} -
|
|
@endif
|
|
@endisset
|
|
|
|
{{ $item['name'] ?? '' }}
|
|
</p>
|
|
@if ($statusLpj || file_exists($imagePath))
|
|
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image"
|
|
style="width: 100%; max-width: 300px;">
|
|
@endif
|
|
@isset($item['description'])
|
|
<p style="font-size:9px">{{ $item['description'] }}</p>
|
|
@endisset
|
|
</td>
|
|
@else
|
|
@foreach ($subPhotos as $index => $item)
|
|
@php
|
|
$imagePath = storage_path('app/public/' . $item['path']);
|
|
@endphp
|
|
<td style="width: 50%; vertical-align: top; text-align: center" class="photo-item border">
|
|
<p style="font-weight: medium; font-size: 10px">Lainnya -
|
|
|
|
@isset($subcategory)
|
|
@if (trim($subcategory) !== '')
|
|
{{ $subcategory }} -
|
|
@endif
|
|
@endisset
|
|
|
|
{{ $item['name'] ?? '' }}
|
|
</p>
|
|
@if ($statusLpj || file_exists($imagePath))
|
|
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image"
|
|
style="width: 100%; max-width: 300px;">
|
|
@endif
|
|
@isset($item['description'])
|
|
<p style="font-size:9px">{{ $item['description'] }}</p>
|
|
@endisset
|
|
</td>
|
|
@if (($index + 1) % 2 == 0)
|
|
</tr>
|
|
<tr>
|
|
@endif
|
|
@endforeach
|
|
@if (count($subPhotos) % 2 != 0)
|
|
<td style="width: 50%;"></td>
|
|
@endif
|
|
@endif
|
|
</tr>
|
|
</table>
|
|
@endif
|
|
@endforeach
|
|
@endif
|
|
@endisset
|