Skip to content

Commit cd24d05

Browse files
committed
fix: update refund date selection logic to allow null and handle date changes
1 parent 94ba961 commit cd24d05

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

client/src/components/modals/refund-purchase-modal.tsx

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ export default function RefundPurchaseModal({
4949
const { postJson } = useSecuredApi();
5050
const [isSubmitting, setIsSubmitting] = useState(false);
5151
const [amount, setAmount] = useState<number>(defaultAmount);
52-
const [selectedDate, setSelectedDate] = useState<CalendarDate | null>(
53-
today(getLocalTimeZone()),
54-
);
52+
const [selectedDate, setSelectedDate] = useState<string | null>(null);
5553
const [transactionId, setTransactionId] = useState<string>("");
5654
const formRef = useRef<HTMLFormElement>(null);
5755
const refundDatePickerRef = useRef<HTMLInputElement>(null);
@@ -87,7 +85,7 @@ export default function RefundPurchaseModal({
8785
setIsSubmitting(true);
8886

8987
try {
90-
const refundDate = selectedDate.toDate("UTC").toISOString().split("T")[0];
88+
const refundDate = selectedDate || new Date().toISOString().split("T")[0];
9189
// Use the selected date or today
9290
const date = new Date().toISOString().split("T")[0];
9391
const data = {
@@ -137,9 +135,24 @@ export default function RefundPurchaseModal({
137135
}
138136
};
139137

138+
/**
139+
* Handles date selection events from the DatePicker component
140+
* Converts the selected date to a string format and updates state
141+
*
142+
* @param {any} date - The date object from the date picker
143+
*/
144+
const handleDateChange = (date: any) => {
145+
// Convert date to YYYY-MM-DD format
146+
if (date) {
147+
const formattedDate = date.toString();
148+
149+
setSelectedDate(formattedDate);
150+
}
151+
};
152+
140153
const resetForm = () => {
141154
setAmount(defaultAmount);
142-
setSelectedDate(today(getLocalTimeZone()));
155+
setSelectedDate(null);
143156
if (formRef.current) {
144157
formRef.current.reset();
145158
}
@@ -182,6 +195,7 @@ export default function RefundPurchaseModal({
182195
maxValue={today(getLocalTimeZone()).add({ days: 10 })}
183196
minValue={today(getLocalTimeZone()).add({ months: -12 })}
184197
name="refundDate"
198+
onChange={handleDateChange}
185199
/>
186200
</I18nProvider>
187201
</div>

0 commit comments

Comments
 (0)