fix(order-form): initialize selected date in DateSelect component if not set

- Added useEffect to set the selected date to the current date if it is not already defined.
- Renamed setDate to setSelectedDate for clarity in state management.
This commit is contained in:
vchikalkin 2025-08-11 15:11:40 +03:00
parent 9dfd2724b6
commit 6df47fdcac

View File

@ -6,16 +6,22 @@ import { Button } from '@repo/ui/components/ui/button';
import { Calendar } from '@repo/ui/components/ui/calendar';
import { formatTime } from '@repo/utils/datetime-format';
import dayjs from 'dayjs';
import { useState } from 'react';
import { useEffect, useState } from 'react';
export function DateSelect() {
const selectedDate = useOrderStore((store) => store.date);
const setDate = useOrderStore((store) => store.setDate);
const setSelectedDate = useOrderStore((store) => store.setDate);
const setTime = useOrderStore((store) => store.setTime);
const setSlot = useOrderStore((store) => store.setSlotId);
const masterId = useOrderStore((store) => store.masterId);
const serviceId = useOrderStore((store) => store.serviceId);
useEffect(() => {
if (!selectedDate) {
setSelectedDate(new Date());
}
}, [selectedDate, setSelectedDate]);
const [selectedMonthDate, setSelectedMonthDate] = useState(new Date());
const { data: { slots } = {} } = useAvailableTimeSlotsQuery(
@ -53,7 +59,7 @@ export function DateSelect() {
mode="single"
onMonthChange={(date) => setSelectedMonthDate(date)}
onSelect={(date) => {
if (date) setDate(date);
if (date) setSelectedDate(date);
setTime(null);
setSlot(null);
}}