@php $isEdit = isset($client) && $client->exists; $pageTitle = $isEdit ? __('clients.edit_title') : __('clients.create_title'); $formAction = $isEdit ? route('clients.update', $client->id) : route('clients.store'); $formMethod = $isEdit ? 'PUT' : 'POST'; $submitText = $isEdit ? __('clients.form.update_button') : __('clients.form.create_button'); $clientName = $isEdit ? $client->name : __('clients.create_title'); // Ottieni le azioni predefinite del cliente $predefinedActions = $isEdit ? $client->getPredefinedActions() : ($defaultPredefinedActions ?? []); // Assicurati che actionsMetadata e actionsByCategory siano sempre definiti $actionsMetadata = $actionsMetadata ?? []; $actionsByCategory = $actionsByCategory ?? []; @endphp @extends('layouts.app') @section('title', $pageTitle) @section('breadcrumbs') @if($isEdit) @include('components.breadcrumbs', ['items' => [ ['title' => $client->name, 'url' => route('clients.show', $client->id)], ['title' => __('clients.edit_title'), 'active' => true] ]]) @else @include('components.breadcrumbs', ['items' => [ ['title' => __('clients.create_title'), 'active' => true] ]]) @endif @endsection @section('content')

{{ $pageTitle }}@if($isEdit): {{ $client->name }}@endif

@if($isEdit) Gestisci le configurazioni e le impostazioni avanzate @else Configura un nuovo cliente per il monitoraggio dell'accessibilità @endif

@if (session('success')) @endif @if (session('error')) @endif @if ($errors->any()) @endif @if (config('app.debug') && $errors->any()) @endif
@csrf @if($isEdit) @method('PUT') @endif

{{ __('clients.form.basic_info') }}

{{ __('clients.form.client_identification') }}
{{ __('clients.form.client_name_help') }}

{{ __('clients.form.scan_config') }}

{{ __('clients.form.advanced_config') }}
{{ __('clients.form.action_domain_help') }}
@error('action_domain')
{{ $message }}
@enderror
{{ __('clients.form.auto_scans') }}
scan_every > 0) ? 'checked' : '' }} onchange="$('#autoScanInterval').toggle($(this).is(':checked'))">
{{ __('clients.form.auto_scans_help') }}
{{ __('clients.form.scan_interval_help') }}

{{ __('clients.form.notifications') }}

{{ __('clients.form.email_notifications') }}
{{ __('clients.form.notification_email_help') }}
@if(count($actionsByCategory) > 0)

{{ __('clients.form.predefined_actions') }}

@php $firstAction = true; @endphp @foreach($actionsByCategory as $category => $actions)
{{ $category }}
@foreach($actions as $actionName => $metadata)
@php // Controlla se almeno una configurazione è abilitata $hasEnabledConfig = false; foreach ($predefinedActions[$actionName] ?? [] as $config) { if ($config['enabled'] ?? false) { $hasEnabledConfig = true; break; } } @endphp
{{ $metadata['display_name'] }}
@php $firstAction = false; @endphp @endforeach @endforeach
@php $firstAction = true; @endphp @foreach($actionsByCategory as $category => $actions) @foreach($actions as $actionName => $metadata)
@php // Definisci le variabili all'inizio per evitare errori $template = app('App\Services\PredefinedActionsService')->getTemplate($actionName); // I metadati tradotti sono già disponibili in $actionsMetadata $metadata = $actionsMetadata[$actionName] ?? []; $actionConfigs = $predefinedActions[$actionName] ?? []; @endphp

{{ $metadata['description'] }}

@foreach($actionConfigs as $configIndex => $actionConfig) @php $enableDesktop = $actionConfig['enable_desktop'] ?? true; $enableMobile = $actionConfig['enable_mobile'] ?? true; // Imposta il device mode basato sui valori esistenti if ($enableDesktop && $enableMobile) { $deviceMode = 'both'; } elseif ($enableDesktop && !$enableMobile) { $deviceMode = 'desktop'; } elseif (!$enableDesktop && $enableMobile) { $deviceMode = 'mobile'; } else { $deviceMode = 'both'; // default } $defaultConfig = $template ? $template->getDefaultConfig() : []; // Usa il servizio per ottenere i metadati tradotti $fieldsMetadata = app('App\Services\PredefinedActionsService')->getFieldsMetadata($actionName); $desktopConfig = $actionConfig['desktop_config'] ?? []; $mobileConfig = $actionConfig['mobile_config'] ?? []; @endphp
 Desktop
@foreach($defaultConfig as $fieldName => $defaultValue) @continue(in_array($fieldName, ['is_before_scan'])) @include('clients.partials.action-field', [ 'actionName' => $actionName, 'configIndex' => $configIndex, 'fieldName' => $fieldName, 'defaultValue' => $defaultValue, 'currentValue' => $desktopConfig[$fieldName] ?? $defaultValue, 'fieldMetadata' => $fieldsMetadata[$fieldName] ?? [], 'device' => 'desktop' ]) @endforeach
 Mobile
@foreach($defaultConfig as $fieldName => $defaultValue) @continue(in_array($fieldName, ['is_before_scan'])) @include('clients.partials.action-field', [ 'actionName' => $actionName, 'configIndex' => $configIndex, 'fieldName' => $fieldName, 'defaultValue' => $defaultValue, 'currentValue' => $mobileConfig[$fieldName] ?? $defaultValue, 'fieldMetadata' => $fieldsMetadata[$fieldName] ?? [], 'device' => 'mobile' ]) @endforeach
@endforeach
@php $firstAction = false; @endphp @endforeach @endforeach
@endif
@if($isEdit) {{ __('app.buttons.cancel') }} @else {{ __('app.buttons.cancel') }} @endif
@endsection