mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
fix: Bug lorsqu'on déselectionne un paiementPlan
This commit is contained in:
@ -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 }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user