diff --git a/components/staff/contracts/ContractEditor.tsx b/components/staff/contracts/ContractEditor.tsx
index e0a2a9c..3f9aafd 100644
--- a/components/staff/contracts/ContractEditor.tsx
+++ b/components/staff/contracts/ContractEditor.tsx
@@ -10,7 +10,7 @@ import { Textarea } from "@/components/ui/textarea";
import { Separator } from "@/components/ui/separator";
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from "@/components/ui/sheet";
import { toast } from "sonner";
-import { CalendarRange, FilePlus2, FileText, Save, Search, FileDown, PenTool, RefreshCw, Mail, Clock, CheckCircle2, XCircle, Users, Send, Check, Upload, Ban } from "lucide-react";
+import { CalendarRange, FilePlus2, FileText, Save, Search, FileDown, PenTool, RefreshCw, Mail, Clock, CheckCircle2, XCircle, Users, Send, Check, Upload, Ban, Euro, StickyNote } from "lucide-react";
import PayslipForm from "./PayslipForm";
import { api } from "@/lib/fetcher";
import { PROFESSIONS_ARTISTE } from "@/components/constants/ProfessionsArtiste";
@@ -1911,17 +1911,16 @@ export default function ContractEditor({
-
-
-
- Contrat
-
-
-
- {/* États du contrat en haut */}
-
-
États du contrat
-
+
+ {/* Card 1: États et Statuts - Le plus important */}
+
+
+
+ États et statuts
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
- {/* Section CDDU modifiable avec recherche */}
-
-
Informations CDDU
-
-
- {/* Spectacle avec recherche */}
+ {/* Card 2: Informations principales du contrat */}
+
+
+
+ Informations du contrat
+
+
+
+
+ {/* Spectacle et Référence */}
+
{spectaclePick ? (
@@ -2036,16 +2065,57 @@ export default function ContractEditor({
)}
- {/* Référence */}
+ {/* Analytique */}
-
+
setReference(e.target.value)}
- placeholder="Référence du contrat"
+ value={analytique}
+ onChange={(e) => setAnalytique(e.target.value)}
+ placeholder="Code analytique"
/>
+
+ {/* Période du contrat */}
+
+
+
+
+
+ {/* Card 3: Salarié et Profession */}
+
+
+
+ Salarié et profession
+
+
+
+
{/* Salarié avec recherche */}
@@ -2105,26 +2175,7 @@ export default function ContractEditor({
)}
- {/* Catégorie professionnelle */}
-
-
-
-
-
- {/* Profession, Profession féminin, Analytique - 3 colonnes */}
+ {/* Profession, Profession féminin, Catégorie professionnelle - 3 colonnes */}
{/* Profession avec recherche conditionnelle */}
@@ -2256,18 +2307,40 @@ export default function ContractEditor({
)}
- {/* Analytique */}
+ {/* Catégorie professionnelle */}
-
- setAnalytique(e.target.value)}
- placeholder="Code analytique"
- />
+
+
+
+
+
+ {/* Card 4: Rémunération */}
+
+
+
+ Rémunération
+
+
+
+
+
{/* Champs CDDU modifiables */}
@@ -2360,6 +2433,13 @@ export default function ContractEditor({
)}
+
+
+ handleContractChange("gross_pay", e.target.value)}
+ />
+
+
+
-
- setDateSignature(e.target.value)}
+
+
+
+
+ {/* Card 5: Temps de travail */}
+
+
+
+ Temps de travail
+
+
+
+
{/* Champs conditionnels selon la catégorie professionnelle */}
{!useHeuresMode ? (
@@ -2573,34 +2667,20 @@ export default function ContractEditor({
>
)}
-
-
-
+
+
+
+ {/* Card 6: Informations complémentaires */}
+
+
+
+ Informations complémentaires
+
+
+
+
-
- handleContractChange("start_date", e.target.value)}
- />
-
-
-
- handleContractChange("end_date", e.target.value)}
- />
-
-
-
- handleContractChange("gross_pay", e.target.value)}
- />
-
-
-
-
-
+
+
+
-
-
-
-
-
-
- {joursTravailDisplay || "Cliquez pour sélectionner…"}
-
-
-
-
-
- {/* Calendrier pour dates travaillées */}
-
setJoursTravailOpen(false)}
- onApply={handleJoursTravailApply}
- initialDates={joursTravail ? joursTravail.split(", ") : []}
- title="Sélectionner les dates travaillées"
- minDate={contract.date_debut}
- maxDate={contract.date_fin}
- />
-
-
-
-
-
- {/* Champs de signature */}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ {/* Calendrier pour dates travaillées - Modal global */}
+ setJoursTravailOpen(false)}
+ onApply={handleJoursTravailApply}
+ initialDates={joursTravail ? joursTravail.split(", ") : []}
+ title="Sélectionner les dates travaillées"
+ minDate={contract.date_debut}
+ maxDate={contract.date_fin}
+ />
+
{/* Card de suivi de signature électronique */}