Checkpoint: V1.18 - Correction définitive et robuste de l'erreur "(void 0) is not a function" lors de la suppression de dates. Utilisation de useCallback pour stabiliser la référence de la fonction removeDate et éviter les problèmes de closure React. Préservation des signatures lors de l'ajout de dates grâce au champ id dans le schéma Zod.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useState, useMemo } from "react";
|
||||
import { useState, useMemo, useCallback } from "react";
|
||||
import DashboardLayout from "@/components/DashboardLayout";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
@@ -282,16 +282,18 @@ export default function AdminSequences() {
|
||||
});
|
||||
};
|
||||
|
||||
const removeDate = (index: number) => {
|
||||
if (formData.dates.length <= 1) {
|
||||
toast.error("Au moins une date est requise");
|
||||
return;
|
||||
}
|
||||
const newDates = formData.dates.filter((_, i) => i !== index);
|
||||
// Réordonner les dates
|
||||
newDates.forEach((d, i) => d.ordre = i + 1);
|
||||
setFormData({ ...formData, dates: newDates });
|
||||
};
|
||||
const removeDate = useCallback((index: number) => {
|
||||
setFormData(prev => {
|
||||
if (prev.dates.length <= 1) {
|
||||
toast.error("Au moins une date est requise");
|
||||
return prev;
|
||||
}
|
||||
const newDates = prev.dates.filter((_, i) => i !== index);
|
||||
// Réordonner les dates
|
||||
newDates.forEach((d, i) => d.ordre = i + 1);
|
||||
return { ...prev, dates: newDates };
|
||||
});
|
||||
}, []);
|
||||
|
||||
const updateDate = (index: number, field: "dateDebut" | "dateFin", value: string) => {
|
||||
const newDates = [...formData.dates];
|
||||
|
||||
Reference in New Issue
Block a user