@php $fieldKey = $field['key']; $fieldType = $field['type'] ?? 'text'; $isTranslatable = $field['translatable'] ?? false; $fieldValue = $values[$fieldKey] ?? ($field['default'] ?? null); $currentLocale = current_locale(); if ($isTranslatable && is_array($fieldValue)) { $displayValue = $fieldValue[$currentLocale] ?? ($fieldValue[array_key_first($fieldValue)] ?? ''); } else { $displayValue = $fieldValue; } $fieldLabel = __($field['label'] ?? $fieldKey); $fieldHelp = isset($field['hint']) ? __($field['hint']) : null; $fieldName = $isTranslatable ? "{$fieldKey}[{$currentLocale}]" : $fieldKey; @endphp
@if ($fieldType === 'text' || $fieldType === 'url') @include('admin/shared/input', [ 'label' => $fieldLabel, 'name' => $fieldName, 'value' => $displayValue, 'help' => $fieldHelp, 'type' => $fieldType === 'url' ? 'url' : 'text', 'translatable' => $isTranslatable, 'translatableName' => $fieldKey, ]) @elseif($fieldType === 'textarea') @include('admin/shared/textarea', [ 'label' => $fieldLabel, 'name' => $fieldName, 'value' => $displayValue, 'help' => $fieldHelp, 'rows' => $field['rows'] ?? 3, 'translatable' => $isTranslatable, ]) @elseif($fieldType === 'number') @include('admin/shared/input', [ 'label' => $fieldLabel, 'name' => $fieldName, 'value' => $displayValue, 'help' => $fieldHelp, 'type' => 'number', 'min' => $field['min'] ?? null, 'max' => $field['max'] ?? null, 'step' => $field['step'] ?? null, ]) @elseif($fieldType === 'boolean') @include('admin/shared/checkbox', [ 'label' => $fieldLabel, 'name' => $fieldKey, 'checked' => filter_var($displayValue, FILTER_VALIDATE_BOOLEAN), ]) @elseif($fieldType === 'select') @include('admin/shared/select', [ 'label' => $fieldLabel, 'name' => $fieldKey, 'value' => $displayValue, 'help' => $fieldHelp, 'options' => $field['options'] ?? [], ]) @elseif($fieldType === 'color') @include('admin/shared/color', [ 'label' => $fieldLabel, 'name' => $fieldKey, 'value' => $displayValue, 'help' => $fieldHelp, ]) @elseif($fieldType === 'icon') @include('admin/shared/icon', [ 'label' => $fieldLabel, 'name' => $fieldKey, 'value' => $displayValue, 'help' => $fieldHelp, ]) @elseif($fieldType === 'image') @if ($displayValue)
@endif @include('admin/shared/file', [ 'name' => $fieldKey, 'help' => $fieldHelp, 'canRemove' => $displayValue, 'checked' => $displayValue, ]) @elseif($fieldType === 'repeater') @include('admin/shared/repeater', [ 'label' => $fieldLabel, 'name' => $fieldKey, 'value' => $displayValue, 'help' => $fieldHelp, 'fields' => $field['fields'] ?? ($field['subfields'] ?? []), 'min' => $field['min'] ?? 0, 'max' => $field['max'] ?? 10, ]) @else @include('admin/shared/input', [ 'label' => $fieldLabel, 'name' => $fieldName, 'value' => $displayValue, 'help' => $fieldHelp, 'translatable' => $isTranslatable, 'translatableName' => $fieldKey, ]) @endif