{{-- Dynamic Edit Field Partial --}} @switch($field->field_type) {{-- Text Input --}} @case('text') required) required @endif @if($field->min_length) minlength="{{ $field->min_length }}" @endif @if($field->max_length) maxlength="{{ $field->max_length }}" @endif> @break {{-- Email Input --}} @case('email') required) required @endif> @break {{-- URL Input --}} @case('url') required) required @endif> @break {{-- Tel Input --}} @case('tel') required) required @endif> @break {{-- Password Input --}} @case('password')
required) required @endif @if($field->min_length) minlength="{{ $field->min_length }}" @endif>
@if($value)
Leave blank to keep current password
@endif @break {{-- Number Input --}} @case('number') required) required @endif @if($field->min_value !== null) min="{{ $field->min_value }}" @endif @if($field->max_value !== null) max="{{ $field->max_value }}" @endif step="1"> @break {{-- Decimal Input --}} @case('decimal') required) required @endif @if($field->min_value !== null) min="{{ $field->min_value }}" @endif @if($field->max_value !== null) max="{{ $field->max_value }}" @endif step="0.01"> @break {{-- Currency Input --}} @case('currency')
{{ $field->configuration['currency_symbol'] ?? '$' }} required) required @endif @if($field->min_value !== null) min="{{ $field->min_value }}" @endif @if($field->max_value !== null) max="{{ $field->max_value }}" @endif step="0.01">
@break {{-- Textarea --}} @case('textarea') @if($field->max_length)
{{ strlen($value ?? '') }} / {{ $field->max_length }} characters
@endif @break {{-- Select Dropdown --}} @case('select') @break {{-- Multi-select --}} @case('multiselect') @php $selectedValues = is_string($value) ? json_decode($value, true) : $value; $selectedValues = is_array($selectedValues) ? $selectedValues : []; @endphp
Hold Ctrl (or Cmd) to select multiple options
@break {{-- Radio Buttons --}} @case('radio') @if($field->options) @foreach($field->options as $index => $option)
required) required @endif>
@endforeach @endif @break {{-- Checkboxes --}} @case('checkbox') @php $selectedValues = is_string($value) ? json_decode($value, true) : $value; $selectedValues = is_array($selectedValues) ? $selectedValues : []; @endphp @if($field->options) @foreach($field->options as $index => $option)
@endforeach @endif @break {{-- Single Checkbox --}} @case('single_checkbox')
required) required @endif>
@break {{-- Date Input --}} @case('date') required) required @endif> @break {{-- DateTime Input --}} @case('datetime') required) required @endif> @break {{-- Time Input --}} @case('time') required) required @endif> @break {{-- File Upload --}} @case('file') configuration['accept']) accept="{{ $field->configuration['accept'] }}" @endif> @if($field->configuration['max_size'])
Maximum file size: {{ $field->configuration['max_size'] }}MB
@endif {{-- Show current file if exists --}} @if($value && Storage::disk('public')->exists($value))
Current file:
{{ basename($value) }}
Upload a new file to replace the current one
@endif @break {{-- Image Upload --}} @case('image')
Supported formats: JPG, PNG, GIF, WebP
@if($field->configuration['max_size'])
Maximum file size: {{ $field->configuration['max_size'] }}MB
@endif {{-- Show current image if exists --}} @if($value && Storage::disk('public')->exists($value))
Current image:
Current image
{{ basename($value) }}
Upload a new image to replace the current one
@endif {{-- Image Preview for new upload --}} @break {{-- JSON Input --}} @case('json')
Enter valid JSON format
@break {{-- Color Picker --}} @case('color')
required) required @endif>
@break {{-- Hidden Input --}} @case('hidden')
Hidden field: {{ $field->label }} = {{ $value }}
@break {{-- Default case for unknown field types --}} @default
Unsupported field type: {{ $field->field_type }}
@endswitch {{-- Error Message --}} @error($field->name)
{{ $message }}
@enderror {{-- Field Description --}} @if($field->description)
{{ $field->description }}
@endif {{-- Add field-specific JavaScript for edit form --}} @push('scripts') @endpush