diff --git a/client/src/App.tsx b/client/src/App.tsx index 086e72c..d642daa 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -287,6 +287,7 @@ function App() { try { await addChoice({ body: { locationKey: location, foodIndex, dayIndex } }); + await tryAutoSelectDepartureTime(); } catch (error: any) { alert(`Chyba při změně volby: ${error.message || error}`); } @@ -313,6 +314,10 @@ function App() { foodChoiceRef.current.value = ""; } choiceRef.current?.blur(); + // Automatický výběr času odchodu pouze pro restaurace s menu + if (Object.keys(Restaurant).includes(locationKey)) { + await tryAutoSelectDepartureTime(); + } } catch (error: any) { alert(`Chyba při změně volby: ${error.message || error}`); // Reset výběru zpět @@ -337,6 +342,7 @@ function App() { const locationKey = choiceRef.current.value as LunchChoice; if (auth?.login) { await addChoice({ body: { locationKey, foodIndex: Number(event.target.value), dayIndex } }); + await tryAutoSelectDepartureTime(); } } } @@ -468,6 +474,16 @@ function App() { } } + // Automaticky nastaví preferovaný čas odchodu 10:45, pokud tento čas ještě nenastal (nebo jde o budoucí den) + const tryAutoSelectDepartureTime = async () => { + const preferredTime = "10:45" as DepartureTime; + const isToday = dayIndex === data?.todayDayIndex; + if ((!isToday || isInTheFuture(preferredTime)) && departureChoiceRef.current) { + departureChoiceRef.current.value = preferredTime; + await changeDepartureTime({ body: { time: preferredTime, dayIndex } }); + } + } + const handleDayChange = async (dayIndex: number) => { setDayIndex(dayIndex); dayIndexRef.current = dayIndex; @@ -629,7 +645,7 @@ function App() {