@php $goal = $goal ?? null; $mode = $mode ?? ($goal === null ? 'create' : 'edit'); $method = $method ?? 'POST'; $submitLabel = $submitLabel ?? 'Enregistrer'; $cancelUrl = $cancelUrl ?? null; $modalName = $modalName ?? null; $resetOnOpen = $resetOnOpen ?? ($goal === null); $activityTypeOptions = collect($types)->map(fn ($type) => [ 'id' => (string) data_get($type, 'id'), 'category_id' => (string) data_get($type, 'activity_category_id'), 'name' => (string) data_get($type, 'name'), 'allows_deepwork' => (bool) data_get($type, 'allows_deepwork', false), 'metric_definitions' => collect(data_get($type, 'metricDefinitions', []))->map(fn ($definition) => [ 'key' => 'activity_metric:' . data_get($definition, 'name'), 'name' => (string) data_get($definition, 'name'), 'label' => (string) data_get($definition, 'label'), 'unit' => (string) data_get($definition, 'unit', ''), ])->values(), ])->values(); $globalGoalKeyOptions = collect($goalKeyOptions) ->except(['activity_session_count', 'deepwork_sessions_count', 'sport_duration', 'reading_duration', 'writing_duration', 'activity_duration']) ->map(fn ($label, $key) => ['key' => $key, 'label' => $label]) ->values(); $activityGoalKeyOptions = [ ['key' => 'activity_session_count', 'label' => 'Nombre de sessions activité', 'unit' => 'sessions'], ['key' => 'deepwork_sessions_count', 'label' => 'Nombre de sessions deepwork', 'unit' => 'sessions deepwork'], ['key' => 'activity_duration', 'label' => 'Durée activité filtrée', 'unit' => 'minutes'], ]; $useOldInput = $modalName ? old('_modal') === $modalName : $errors->any(); $initialGoalCategoryId = (string) ($useOldInput ? old('activity_category_id', data_get($goal, 'activity_category_id', '')) : data_get($goal, 'activity_category_id', '')); $initialGoalTypeId = (string) ($useOldInput ? old('activity_type_id', data_get($goal, 'activity_type_id', '')) : data_get($goal, 'activity_type_id', '')); $initialGoalKey = (string) ($useOldInput ? old('goal_key', data_get($goal, 'goal_key', '')) : data_get($goal, 'goal_key', '')); $initialGoalUnit = (string) ($useOldInput ? old('unit', data_get($goal, 'unit', '')) : data_get($goal, 'unit', '')); $initialGoalPeriod = (string) ($useOldInput ? old('period', data_get($goal, 'period', 'daily')) : data_get($goal, 'period', 'daily')); $initialScheduleDays = $useOldInput ? old('schedule_days', []) : collect(data_get($goal, 'scheduleDays', []))->mapWithKeys(fn ($day) => [(int) data_get($day, 'period_day') => data_get($day, 'expected_progress')])->all(); $initialSocialContextId = (string) ($useOldInput ? old('activity_social_context_id', data_get($goal, 'activity_social_context_id', '')) : data_get($goal, 'activity_social_context_id', '')); @endphp
@csrf @if ($modalName) @endif @if (strtoupper($method) !== 'POST') @method($method) @endif @if ($errors->any())

{{ __('Certains champs obligatoires sont manquants ou invalides.') }}

@endif

{{ __('Planification journalière') }}

{{ __('Renseigne uniquement les jours où une progression est attendue.') }}

@for ($day = 1; $day <= 31; $day++) @endfor
@error('schedule_days'){{ $message }}@enderror
@if (collect($socialContexts ?? [])->isNotEmpty()) @endif
@if ($cancelUrl) {{ __('Annuler') }} @elseif ($modalName) @endif