fix: Bug lorsqu'on déselectionne un paiementPlan

This commit is contained in:
N3WT DE COMPET
2025-05-06 21:00:51 +02:00
parent 760ee0009e
commit d64500f402

View File

@ -124,25 +124,40 @@ const PaymentPlanSelector = ({
const handleRowClick = (row) => { const handleRowClick = (row) => {
const value = row.id; const value = row.id;
if (selectedFrequency === value) { if (selectedFrequency === value) {
setSelectedFrequency(null); // Désélectionner l'onglet si la ligne est déjà sélectionnée setSelectedFrequency(null); // Désélectionner l'onglet si la ligne est déjà sélectionnée
} else { } else {
setSelectedFrequency(value); setSelectedFrequency(value);
if (!dates[value]) { if (!dates[value]) {
const frequencyValue = const frequencyValue =
paymentPlansOptions.find((plan) => plan.id === value)?.frequency || 1; paymentPlansOptions.find((plan) => plan.id === value)?.frequency || 1;
const newDates = Array(frequencyValue) const newDates = Array(frequencyValue)
.fill('') .fill('')
.map((_, index) => { .map((_, index) => {
const newDate = new Date(); const newDate = new Date();
newDate.setDate(defaultDay);
// Validate defaultDay
const day =
typeof defaultDay === 'number' &&
defaultDay >= 1 &&
defaultDay <= 31
? defaultDay
: 1; // Fallback to 1 if defaultDay is invalid
newDate.setDate(day);
if (value === 1) { if (value === 1) {
newDate.setMonth(newDate.getMonth() + index * 4); // Espacer de 4 mois pour le paiement en 3 fois newDate.setMonth(newDate.getMonth() + index * 4); // Espacer de 4 mois pour le paiement en 3 fois
} else { } else {
newDate.setMonth(newDate.getMonth() + index); newDate.setMonth(newDate.getMonth() + index);
} }
return newDate.toISOString().split('T')[0]; return newDate.toISOString().split('T')[0];
}); });
setDates((prevDates) => ({ ...prevDates, [value]: newDates })); setDates((prevDates) => ({ ...prevDates, [value]: newDates }));
} }
} }