From 52e78d4ea54d97f845ac4695094df902503711e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20H=C3=A1jek?= Date: Sat, 1 Feb 2025 23:42:10 +0100 Subject: [PATCH] =?UTF-8?q?V=C3=BDb=C4=9Br=20ob=C4=9Bdu=20kliknut=C3=ADm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/App.tsx | 21 ++++++++++++++------- types/Types.ts | 1 + 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/client/src/App.tsx b/client/src/App.tsx index 7e5baab..465ecdf 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -190,6 +190,13 @@ function App() { } }, [auth?.login, easterEgg?.duration, easterEgg?.url, eggImage]); + const doAddClickFoodChoice = async (location: Locations, foodIndex: number) => { + const locationKey = Object.keys(Locations).find(key => Locations[key as keyof typeof Locations] === location) as LocationKey; + if (auth?.login) { + await errorHandler(() => addChoice(locationKey, foodIndex, dayIndex)); + } + } + const doAddChoice = async (event: React.ChangeEvent) => { const locationKey = event.target.value as LocationKey; if (auth?.login) { @@ -332,15 +339,15 @@ function App() { } } - const renderFoodTable = (name: string, menu: DayMenu) => { + const renderFoodTable = (name: string, location: Locations, menu: DayMenu) => { let content; if (menu?.closed) { content =

Zavřeno

} else if (menu?.food?.length > 0) { content = - + {menu.food.filter(f => (settings?.hideSoups ? !f.isSoup : true)).map((f: any, index: number) => - + doAddClickFoodChoice(location, index)}> @@ -414,11 +421,11 @@ function App() { } - {food[Restaurants.SLADOVNICKA] && renderFoodTable('Sladovnická', food[Restaurants.SLADOVNICKA])} + {food[Restaurants.SLADOVNICKA] && renderFoodTable('Sladovnická', Locations.SLADOVNICKA, food[Restaurants.SLADOVNICKA])} {/* {food[Restaurants.UMOTLIKU] && renderFoodTable('U Motlíků', food[Restaurants.UMOTLIKU])} */} - {food[Restaurants.TECHTOWER] && renderFoodTable('TechTower', food[Restaurants.TECHTOWER])} - {food[Restaurants.ZASTAVKAUMICHALA] && renderFoodTable('Zastávka u Michala', food[Restaurants.ZASTAVKAUMICHALA])} - {food[Restaurants.SENKSERIKOVA] && renderFoodTable('Pivovarský šenk Šeříková', food[Restaurants.SENKSERIKOVA])} + {food[Restaurants.TECHTOWER] && renderFoodTable('TechTower', Locations.TECHTOWER, food[Restaurants.TECHTOWER])} + {food[Restaurants.ZASTAVKAUMICHALA] && renderFoodTable('Zastávka u Michala', Locations.ZASTAVKAUMICHALA, food[Restaurants.ZASTAVKAUMICHALA])} + {food[Restaurants.SENKSERIKOVA] && renderFoodTable('Pivovarský šenk Šeříková', Locations.SENKSERIKOVA, food[Restaurants.SENKSERIKOVA])}
diff --git a/types/Types.ts b/types/Types.ts index 82112f9..84b91ea 100644 --- a/types/Types.ts +++ b/types/Types.ts @@ -111,6 +111,7 @@ export type Food = { } // TODO tohle je dost špatné pojmenování, vzhledem k tomu co to obsahuje +// TODO pokud by se použilo ovládáni výběru obědu kliknutím, pak bych restaurace z tohoto výčtu vyhodil export enum Locations { SLADOVNICKA = 'Sladovnická', // UMOTLIKU = 'U Motlíků',
{f.amount} {f.name} {f.price}