diff --git a/src/App.tsx b/src/App.tsx index aaedbcf7..980be833 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -23,7 +23,7 @@ export default function App() { const locations = data?.map((location) => ({ ...location, name: toTitleCase(location.name ?? 'Untitled'), // Convert names to title case - })) satisfies ILocation_FromAPI[] | undefined; + })) as ILocation_FromAPI[] | undefined; const [cardViewPreferences, setCardViewPreferences] = useUserCardViewPreferences(); useRefreshWhenBackOnline(); diff --git a/src/assets/menu_images/capital_grains_1.png b/src/assets/menu_images/capital_grains_1.png new file mode 100644 index 00000000..239a3325 Binary files /dev/null and b/src/assets/menu_images/capital_grains_1.png differ diff --git a/src/assets/menu_images/capital_grains_2.png b/src/assets/menu_images/capital_grains_2.png new file mode 100644 index 00000000..24f61d6d Binary files /dev/null and b/src/assets/menu_images/capital_grains_2.png differ diff --git a/src/assets/menu_images/ciao_bella_1.png b/src/assets/menu_images/ciao_bella_1.png new file mode 100644 index 00000000..50e32cbb Binary files /dev/null and b/src/assets/menu_images/ciao_bella_1.png differ diff --git a/src/assets/menu_images/ciao_bella_2.png b/src/assets/menu_images/ciao_bella_2.png new file mode 100644 index 00000000..aab1ddea Binary files /dev/null and b/src/assets/menu_images/ciao_bella_2.png differ diff --git a/src/assets/menu_images/crisp_and_crust_1.png b/src/assets/menu_images/crisp_and_crust_1.png new file mode 100644 index 00000000..9ebbcb60 Binary files /dev/null and b/src/assets/menu_images/crisp_and_crust_1.png differ diff --git a/src/assets/menu_images/crisp_and_crust_2.png b/src/assets/menu_images/crisp_and_crust_2.png new file mode 100644 index 00000000..a02d3a29 Binary files /dev/null and b/src/assets/menu_images/crisp_and_crust_2.png differ diff --git a/src/assets/menu_images/exchange_1.png b/src/assets/menu_images/exchange_1.png new file mode 100644 index 00000000..9a2ade3f Binary files /dev/null and b/src/assets/menu_images/exchange_1.png differ diff --git a/src/assets/menu_images/exchange_2.png b/src/assets/menu_images/exchange_2.png new file mode 100644 index 00000000..e67a9b02 Binary files /dev/null and b/src/assets/menu_images/exchange_2.png differ diff --git a/src/assets/menu_images/exchange_3.png b/src/assets/menu_images/exchange_3.png new file mode 100644 index 00000000..6e74856d Binary files /dev/null and b/src/assets/menu_images/exchange_3.png differ diff --git a/src/assets/menu_images/exchange_4.png b/src/assets/menu_images/exchange_4.png new file mode 100644 index 00000000..85ab0b38 Binary files /dev/null and b/src/assets/menu_images/exchange_4.png differ diff --git a/src/assets/menu_images/exchange_5.png b/src/assets/menu_images/exchange_5.png new file mode 100644 index 00000000..71e7c511 Binary files /dev/null and b/src/assets/menu_images/exchange_5.png differ diff --git a/src/assets/menu_images/exchange_6.png b/src/assets/menu_images/exchange_6.png new file mode 100644 index 00000000..0294f164 Binary files /dev/null and b/src/assets/menu_images/exchange_6.png differ diff --git a/src/assets/menu_images/exchange_7.png b/src/assets/menu_images/exchange_7.png new file mode 100644 index 00000000..ab65cf77 Binary files /dev/null and b/src/assets/menu_images/exchange_7.png differ diff --git a/src/assets/menu_images/exchange_8.png b/src/assets/menu_images/exchange_8.png new file mode 100644 index 00000000..125f7ab2 Binary files /dev/null and b/src/assets/menu_images/exchange_8.png differ diff --git a/src/assets/menu_images/forbes_ave_subs_1.png b/src/assets/menu_images/forbes_ave_subs_1.png new file mode 100644 index 00000000..da649393 Binary files /dev/null and b/src/assets/menu_images/forbes_ave_subs_1.png differ diff --git a/src/assets/menu_images/forbes_ave_subs_2.png b/src/assets/menu_images/forbes_ave_subs_2.png new file mode 100644 index 00000000..7727ffd7 Binary files /dev/null and b/src/assets/menu_images/forbes_ave_subs_2.png differ diff --git a/src/assets/menu_images/gallo_1.png b/src/assets/menu_images/gallo_1.png new file mode 100644 index 00000000..5fff4bf3 Binary files /dev/null and b/src/assets/menu_images/gallo_1.png differ diff --git a/src/assets/menu_images/gallo_2.png b/src/assets/menu_images/gallo_2.png new file mode 100644 index 00000000..e2d1badf Binary files /dev/null and b/src/assets/menu_images/gallo_2.png differ diff --git a/src/assets/menu_images/gallo_3.png b/src/assets/menu_images/gallo_3.png new file mode 100644 index 00000000..e71ea0c9 Binary files /dev/null and b/src/assets/menu_images/gallo_3.png differ diff --git a/src/assets/menu_images/gallo_4.png b/src/assets/menu_images/gallo_4.png new file mode 100644 index 00000000..d3b3cc3f Binary files /dev/null and b/src/assets/menu_images/gallo_4.png differ diff --git a/src/assets/menu_images/hunan_1.png b/src/assets/menu_images/hunan_1.png new file mode 100644 index 00000000..01b9f50d Binary files /dev/null and b/src/assets/menu_images/hunan_1.png differ diff --git a/src/assets/menu_images/hunan_2.png b/src/assets/menu_images/hunan_2.png new file mode 100644 index 00000000..181d36e1 Binary files /dev/null and b/src/assets/menu_images/hunan_2.png differ diff --git a/src/assets/menu_images/hunan_3.png b/src/assets/menu_images/hunan_3.png new file mode 100644 index 00000000..31e56b4f Binary files /dev/null and b/src/assets/menu_images/hunan_3.png differ diff --git a/src/assets/menu_images/la_prima_gates_1.png b/src/assets/menu_images/la_prima_gates_1.png new file mode 100644 index 00000000..1061b310 Binary files /dev/null and b/src/assets/menu_images/la_prima_gates_1.png differ diff --git a/src/assets/menu_images/la_prima_gates_2.png b/src/assets/menu_images/la_prima_gates_2.png new file mode 100644 index 00000000..d6f6a756 Binary files /dev/null and b/src/assets/menu_images/la_prima_gates_2.png differ diff --git a/src/assets/menu_images/la_prima_gates_3.png b/src/assets/menu_images/la_prima_gates_3.png new file mode 100644 index 00000000..3fc1277b Binary files /dev/null and b/src/assets/menu_images/la_prima_gates_3.png differ diff --git a/src/assets/menu_images/la_prima_wean_1.png b/src/assets/menu_images/la_prima_wean_1.png new file mode 100644 index 00000000..1061b310 Binary files /dev/null and b/src/assets/menu_images/la_prima_wean_1.png differ diff --git a/src/assets/menu_images/la_prima_wean_2.png b/src/assets/menu_images/la_prima_wean_2.png new file mode 100644 index 00000000..d6f6a756 Binary files /dev/null and b/src/assets/menu_images/la_prima_wean_2.png differ diff --git a/src/assets/menu_images/millies_1.png b/src/assets/menu_images/millies_1.png new file mode 100644 index 00000000..5bbd5be3 Binary files /dev/null and b/src/assets/menu_images/millies_1.png differ diff --git a/src/assets/menu_images/millies_2.png b/src/assets/menu_images/millies_2.png new file mode 100644 index 00000000..d523799c Binary files /dev/null and b/src/assets/menu_images/millies_2.png differ diff --git a/src/assets/menu_images/ola_ola_1.png b/src/assets/menu_images/ola_ola_1.png new file mode 100644 index 00000000..1da7ce39 Binary files /dev/null and b/src/assets/menu_images/ola_ola_1.png differ diff --git a/src/assets/menu_images/ola_ola_2.png b/src/assets/menu_images/ola_ola_2.png new file mode 100644 index 00000000..cbbe5cb5 Binary files /dev/null and b/src/assets/menu_images/ola_ola_2.png differ diff --git a/src/assets/menu_images/redhawk_1.png b/src/assets/menu_images/redhawk_1.png new file mode 100644 index 00000000..91d9ae51 Binary files /dev/null and b/src/assets/menu_images/redhawk_1.png differ diff --git a/src/assets/menu_images/redhawk_2.png b/src/assets/menu_images/redhawk_2.png new file mode 100644 index 00000000..a2cc02b2 Binary files /dev/null and b/src/assets/menu_images/redhawk_2.png differ diff --git a/src/assets/menu_images/rev_1.png b/src/assets/menu_images/rev_1.png new file mode 100644 index 00000000..16091b4f Binary files /dev/null and b/src/assets/menu_images/rev_1.png differ diff --git a/src/assets/menu_images/rev_2.png b/src/assets/menu_images/rev_2.png new file mode 100644 index 00000000..8a61e836 Binary files /dev/null and b/src/assets/menu_images/rev_2.png differ diff --git a/src/assets/menu_images/shake_smart_1.png b/src/assets/menu_images/shake_smart_1.png new file mode 100644 index 00000000..83dd56ae Binary files /dev/null and b/src/assets/menu_images/shake_smart_1.png differ diff --git a/src/assets/menu_images/shake_smart_2.png b/src/assets/menu_images/shake_smart_2.png new file mode 100644 index 00000000..a565673d Binary files /dev/null and b/src/assets/menu_images/shake_smart_2.png differ diff --git a/src/assets/menu_images/stackd_1.png b/src/assets/menu_images/stackd_1.png new file mode 100644 index 00000000..4e115ae7 Binary files /dev/null and b/src/assets/menu_images/stackd_1.png differ diff --git a/src/assets/menu_images/stackd_2.png b/src/assets/menu_images/stackd_2.png new file mode 100644 index 00000000..7975dd2b Binary files /dev/null and b/src/assets/menu_images/stackd_2.png differ diff --git a/src/assets/menu_images/stackd_desser_1.png b/src/assets/menu_images/stackd_desser_1.png new file mode 100644 index 00000000..8182e171 Binary files /dev/null and b/src/assets/menu_images/stackd_desser_1.png differ diff --git a/src/assets/menu_images/tepper_taqueria_1.png b/src/assets/menu_images/tepper_taqueria_1.png new file mode 100644 index 00000000..f2e815e5 Binary files /dev/null and b/src/assets/menu_images/tepper_taqueria_1.png differ diff --git a/src/assets/menu_images/tepper_taqueria_2.png b/src/assets/menu_images/tepper_taqueria_2.png new file mode 100644 index 00000000..57f1864d Binary files /dev/null and b/src/assets/menu_images/tepper_taqueria_2.png differ diff --git a/src/assets/menu_images/tepper_taqueria_express_1.png b/src/assets/menu_images/tepper_taqueria_express_1.png new file mode 100644 index 00000000..4d327c5f Binary files /dev/null and b/src/assets/menu_images/tepper_taqueria_express_1.png differ diff --git a/src/assets/menu_images/wild_blue_1.png b/src/assets/menu_images/wild_blue_1.png new file mode 100644 index 00000000..b9434a40 Binary files /dev/null and b/src/assets/menu_images/wild_blue_1.png differ diff --git a/src/assets/menu_images/wild_blue_2.png b/src/assets/menu_images/wild_blue_2.png new file mode 100644 index 00000000..1e36c024 Binary files /dev/null and b/src/assets/menu_images/wild_blue_2.png differ diff --git a/src/assets/menu_images/wild_blue_3.png b/src/assets/menu_images/wild_blue_3.png new file mode 100644 index 00000000..d86f09f3 Binary files /dev/null and b/src/assets/menu_images/wild_blue_3.png differ diff --git a/src/components/DrawerTabContent.module.css b/src/components/DrawerTabContent.module.css index 6aec1af7..1ecbc600 100644 --- a/src/components/DrawerTabContent.module.css +++ b/src/components/DrawerTabContent.module.css @@ -94,3 +94,21 @@ text-decoration: underline; } } + +.menu-images-gallery { + display: flex; + flex-direction: column; + gap: 16px; +} + +.menu-image { + width: 100%; + max-width: 100%; + height: auto; + border-radius: 8px; + object-fit: contain; +} + +.hidden-menu-text { + display: none; +} diff --git a/src/components/DrawerTabContent.tsx b/src/components/DrawerTabContent.tsx index 219e4829..6ecc08bd 100644 --- a/src/components/DrawerTabContent.tsx +++ b/src/components/DrawerTabContent.tsx @@ -65,11 +65,23 @@ function DrawerTabContent() { } function renderMenu() { + const images = location.images ?? []; + const menuItemsString = location.menuItemsString ?? ''; + return ( <>

Menu

- {menu ? ( + {images.length > 0 ? ( + <> +
+ {images.map((menuUrl) => ( + {menuUrl} + ))} +
+ {menuItemsString &&
{menuItemsString}
} + + ) : menu ? ( View menu online diff --git a/src/types/api.d.ts b/src/types/api.d.ts index 51cef2a8..759a7ad3 100644 --- a/src/types/api.d.ts +++ b/src/types/api.d.ts @@ -271,6 +271,8 @@ export interface operations { acceptsOnlineOrders: boolean; id: string; conceptId: (string | null) | null; + images: string[]; + menuItemsString: (string | null) | null; }[]; }; }; diff --git a/src/types/locationTypes.ts b/src/types/locationTypes.ts index fab367d9..600dfe86 100644 --- a/src/types/locationTypes.ts +++ b/src/types/locationTypes.ts @@ -66,6 +66,9 @@ export interface ILocation_FromAPI { todaysSoups: ISpecial[]; /** The id provided on the dining services website */ conceptId: string | null; + /** List of menu image filenames */ + images: string[]; + menuItemsString: string | null; } export interface IStatusMessage { shortStatus: [string, string]; diff --git a/src/util/useFilteredLocations.ts b/src/util/useFilteredLocations.ts index 2c3ef983..8bb09561 100644 --- a/src/util/useFilteredLocations.ts +++ b/src/util/useFilteredLocations.ts @@ -5,7 +5,7 @@ import assert from './assert'; const FUSE_OPTIONS: IFuseOptions = { // keys to perform the search on - keys: ['name', 'location', 'shortDescription', 'description'], + keys: ['name', 'location', 'shortDescription', 'description', 'menuItemsString'], ignoreLocation: true, threshold: 0.2, };