feat: automatický výběr výchozího času
Some checks failed
ci/woodpecker/push/workflow Pipeline failed

This commit is contained in:
2026-03-09 10:16:14 +01:00
parent fdeb2636c2
commit e9696f722c
2 changed files with 20 additions and 1 deletions

View File

@@ -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() {
<Form.Select ref={departureChoiceRef} onChange={handleChangeDepartureTime}>
<option value="">Vyber čas...</option>
{Object.values(DepartureTime)
.filter(time => isInTheFuture(time))
.filter(time => dayIndex !== data.todayDayIndex || isInTheFuture(time))
.map(time => <option key={time} value={time}>{time}</option>)}
</Form.Select>
</>}

View File

@@ -0,0 +1,3 @@
[
"Automatický výběr výchozího času preferovaného odchodu"
]