From f5736b85cb641115faf0184c5ce1af0089bf6801 Mon Sep 17 00:00:00 2001 From: bonamin Date: Sun, 19 Jul 2026 10:22:43 +0300 Subject: [PATCH] fix(menu-app): crash when tagline/hours fields are null The API now always sends restaurant.tagline/blurb as {en, gr} objects, including when a site hasn't set them yet (both null). The old `?? r.tagline` fallback rendered the whole object as a React child in that case (React error #31) instead of falling back to a display string. Fall back to the localized fallback string instead. Co-Authored-By: Claude Sonnet 5 --- connect_frontend/menu-app/src/pages/MenuPage.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/connect_frontend/menu-app/src/pages/MenuPage.jsx b/connect_frontend/menu-app/src/pages/MenuPage.jsx index 60cc1a3..6528956 100644 --- a/connect_frontend/menu-app/src/pages/MenuPage.jsx +++ b/connect_frontend/menu-app/src/pages/MenuPage.jsx @@ -12,7 +12,7 @@ import { eur, discountedPrice, discountPct, } from '../components/primitives' -// TODO: Replace with real data from API once backend includes restaurant info +// Used when a site hasn't configured a field yet (API sends nulls until set in sysadmin) const RESTAURANT_FALLBACK = { name: 'Our Menu', tagline: { en: 'Kitchen & Bar', gr: 'Κουζίνα & Μπαρ' }, @@ -160,7 +160,7 @@ function Hero({ lang, setLang, restaurant }) { )}
- {r.tagline?.[lang] ?? r.tagline ?? ''} + {r.tagline?.[lang] || RESTAURANT_FALLBACK.tagline[lang] || ''}
{/* Ornament */} @@ -171,7 +171,7 @@ function Hero({ lang, setLang, restaurant }) {

- {r.blurb?.[lang] ?? r.blurb ?? ''} + {r.blurb?.[lang] || RESTAURANT_FALLBACK.blurb[lang] || ''}

{r.hours?.[lang] && (