{{-- Variables expected: $groupDisplayName (string) - The display name of the main group (e.g., "General", "Mail Settings") $originalGroupName (string) - The original key of the main group $settingsGroupedBySubGroup (Collection) - Collection of [SubGroupName => CollectionOfSettings] $groupDescription (string|null) - Description for the main group $canEditGroup (bool) - Whether the current user can edit settings in this main group --}} {{-- This whole block is for ONE main group (e.g., "General Settings" sub-tab) --}} {{-- Display Main Group Title and Description --}}
{{-- This div will be a child of the space-y-6 parent from index.blade.php --}}

{{ $groupDisplayName }}

@if($groupDescription)

{{ $groupDescription }}

@endif
{{-- Separator if there are sub-groups to follow --}} @if($settingsGroupedBySubGroup->count() > 0)
{{-- This hr will also get space-y-6 margin from parent --}} @endif {{-- Loop through Sub-Groups. Each sub-group is its own card. --}} @forelse($settingsGroupedBySubGroup as $subGroupName => $settingsInSubGroup)

{{ $subGroupName }}

{{-- Optional: Sub-group description can be stored on the Setting model if needed, or derived --}}
@foreach ($settingsInSubGroup as $setting) @php $settingKeyName = 'settings_values[' . $setting->key . ']'; @endphp
@if ($setting->type !== 'checkbox') @endif @if ($setting->type === 'text' || $setting->type === 'number' || $setting->type === 'email' || $setting->type === 'password') @elseif ($setting->type === 'textarea') @elseif ($setting->type === 'checkbox')
value) == '1' ? 'checked' : '' }} class="focus:ring-blue-500 h-4 w-4 text-blue-600 border-gray-300 dark:border-gray-600 rounded dark:bg-gray-700 disabled:opacity-60 disabled:cursor-not-allowed" {{ !$canEditGroup ? 'disabled' : '' }}>
@elseif ($setting->type === 'file') @if ($setting->value && Storage::disk('public')->exists($setting->value))
Current: @if(in_array(strtolower(pathinfo($setting->value, PATHINFO_EXTENSION)), ['png', 'jpg', 'jpeg', 'gif', 'svg', 'ico', 'webp'])) {{ $setting->name }} @else {{ basename($setting->value) }} @endif
@endif @elseif ($setting->type === 'select' && isset($setting->options) && is_array($setting->options)) @else {{-- Fallback for unknown types or simple text --}} @endif
@error($settingKeyName)

{{ $message }}

@enderror @error('settings_files.' . $setting->key)

{{ $message }}

@enderror
@if($setting->description)

{{ $setting->description }}

@endif
@endforeach
@empty {{-- This block is rendered if $settingsGroupedBySubGroup is empty. --}} {{-- The main group title/description div above would have already been rendered. --}}

No settings are available in the '{{ $groupDisplayName }}' group.

@endforelse