@extends('layouts.app') @section('titre', 'Jours fériés') @section('contenu')

Jours fériés — calendrier personnalisable

Fériés nationaux (France) + locaux (La Réunion : 20 décembre, Fèt Kaf) générés automatiquement, puis personnalisables. Un férié marqué « travaillé » reste un jour de production.

@csrf
{{-- Calendrier annuel : visualisation des jours fériés (sans JS, compatible CSP) --}} @php $parDate = $feries->keyBy(fn ($f) => $f->date->format('Y-m-d')); $badges = ['national' => 'nat', 'reunion' => 'reu', 'local' => 'loc']; $joursSem = ['L', 'M', 'M', 'J', 'V', 'S', 'D']; @endphp

Calendrier {{ $annee }}

National La Réunion Personnalisé Férié travaillé (jour de production)
@for ($mois = 1; $mois <= 12; $mois++) @php $premier = \Carbon\Carbon::create($annee, $mois, 1); $nbJours = $premier->daysInMonth; $decalage = $premier->dayOfWeekIso - 1; // lundi = 0 @endphp
{{ ucfirst($premier->translatedFormat('F')) }}
@foreach ($joursSem as $js) {{ $js }} @endforeach @for ($v = 0; $v < $decalage; $v++) @endfor @for ($j = 1; $j <= $nbJours; $j++) @php $date = \Carbon\Carbon::create($annee, $mois, $j); $ferie = $parDate[$date->format('Y-m-d')] ?? null; $weekend = $date->isWeekend(); @endphp @if ($ferie) {{ $j }} @else {{ $j }} @endif @endfor
@endfor
@forelse($feries as $f) @csrf @method('PUT') @empty @endforelse
DateLibelléSourceTravaillé
{{ $f->date->translatedFormat('l d F Y') }} @php $badges = ['national' => 'nat', 'reunion' => 'reu', 'local' => 'loc']; @endphp {{ \App\Models\JourFerie::SOURCES[$f->source] ?? $f->source }}
@csrf @method('DELETE')
Aucun jour férié pour {{ $annee }} — utiliser le bouton « Générer ».

Ajouter un jour férié / fermeture personnalisé(e)

@csrf
@endsection