@if($value === null || $value === '')
No data provided
@else
@switch($field->field_type)
{{-- Text-based fields --}}
@case('text')
@case('textarea')
@if($field->field_type === 'textarea')
{{ $value }}
@else
{{ $value }}
@endif
@break
{{-- Email field --}}
@case('email')
@break
{{-- URL field --}}
@case('url')
@break
{{-- Phone field --}}
@case('tel')
@break
{{-- Password field --}}
@case('password')
Password Set
@break
{{-- Number fields --}}
@case('number')
{{ number_format($value) }}
@break
@case('decimal')
{{ number_format($value, 2) }}
@break
{{-- Currency field --}}
@case('currency')
{{ ($field->configuration['currency_symbol'] ?? '$') . number_format($value, 2) }}
@break
{{-- Select and Radio --}}
@case('select')
@case('radio')
{{ $value }}
@break
{{-- Multi-select and Checkbox --}}
@case('multiselect')
@case('checkbox')
@php
$values = is_string($value) ? json_decode($value, true) : $value;
$values = is_array($values) ? $values : [$value];
@endphp
@if(count($values) > 0)
@foreach($values as $item)
{{ $item }}
@endforeach
@else
No selections
@endif
@break
{{-- Single Checkbox --}}
@case('single_checkbox')
@if($value)
Yes
@else
No
@endif
@break
{{-- Date fields --}}
@case('date')
{{ \Carbon\Carbon::parse($value)->format('F j, Y') }}
({{ \Carbon\Carbon::parse($value)->diffForHumans() }})
@break
@case('datetime')
{{ \Carbon\Carbon::parse($value)->format('F j, Y \a\t g:i A') }}
({{ \Carbon\Carbon::parse($value)->diffForHumans() }})
@break
@case('time')
{{ \Carbon\Carbon::parse($value)->format('g:i A') }}
@break
{{-- File fields --}}
@case('file')
@if(Storage::disk('public')->exists($value))
@php
$fileName = basename($value);
$fileSize = Storage::disk('public')->size($value);
$fileSizeFormatted = number_format($fileSize / 1024, 2) . ' KB';
if ($fileSize > 1024 * 1024) {
$fileSizeFormatted = number_format($fileSize / (1024 * 1024), 2) . ' MB';
}
@endphp
{{ $fileName }}
{{ $fileSizeFormatted }}
Download
@else
File not found
@endif
@break
{{-- Image field --}}
@case('image')
@if(Storage::disk('public')->exists($value))
@php
$fileName = basename($value);
$fileSize = Storage::disk('public')->size($value);
$fileSizeFormatted = number_format($fileSize / 1024, 2) . ' KB';
if ($fileSize > 1024 * 1024) {
$fileSizeFormatted = number_format($fileSize / (1024 * 1024), 2) . ' MB';
}
@endphp
{{ $fileName }} ({{ $fileSizeFormatted }})
@else
Image not found
@endif
@break
{{-- JSON field --}}
@case('json')
{{ json_encode(json_decode($value), JSON_PRETTY_PRINT) }}
@break
{{-- Color field --}}
@case('color')
{{ strtoupper($value) }}
Color Value
@break
{{-- Hidden field --}}
@case('hidden')
Hidden: {{ $value }}
@break
{{-- Default case for unknown field types --}}
@default
Unknown field type: {{ $field->field_type }}
Raw value: {{ $value }}
@endswitch
@endif