Poprawka botto bar i wersje językowe
This commit is contained in:
+103
-102
@@ -24,7 +24,7 @@ foreach (($menuConfig['languages'] ?? []) as $code => $meta) {
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<!-- build: css=<?= assetVersionAttr($vCss) ?> js=<?= assetVersionAttr($vJs) ?> -->
|
||||
@@ -54,18 +54,18 @@ foreach (($menuConfig['languages'] ?? []) as $code => $meta) {
|
||||
</div>
|
||||
<div class="geo-icon">📍</div>
|
||||
<h2 class="geo-title" data-i18n="geo.title">Witamy w Karcznie</h2>
|
||||
<p class="geo-lead" id="geoLead" data-i18n="geo.lead">
|
||||
<p class="geo-lead" id="geoLead">
|
||||
Przeglądaj menu od razu — albo potwierdź, że jesteś u nas, aby wezwać kelnera, śledzić zamówienie i poprosić o rachunek.
|
||||
</p>
|
||||
<p class="geo-status" id="geoMsg"></p>
|
||||
|
||||
<div class="geo-actions" id="geoActions">
|
||||
<button type="button" id="geoMenuOnlyBtn" class="geo-btn geo-btn-menu">
|
||||
<span class="geo-btn-main" data-i18n="geo.btn.menu_main">Przejdź do menu</span>
|
||||
<span class="geo-btn-sub" data-i18n="geo.btn.menu_sub">bez lokalizacji</span>
|
||||
<span class="geo-btn-main">Przejdź do menu</span>
|
||||
<span class="geo-btn-sub">bez lokalizacji</span>
|
||||
</button>
|
||||
<button type="button" id="geoActionBtn" class="geo-btn geo-btn-locate btn btn-primary">
|
||||
<span class="geo-btn-main" data-i18n="geo.btn.locate">Zgoda, sprawdź lokalizację</span>
|
||||
<span class="geo-btn-main">Zgoda, sprawdź lokalizację</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -87,114 +87,115 @@ foreach (($menuConfig['languages'] ?? []) as $code => $meta) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<header id="mainHeader">
|
||||
<div class="header-top">
|
||||
<h1 class="logo-text">Karczma Biesiada</h1>
|
||||
<div id="headerLangPickerMount"></div>
|
||||
</div>
|
||||
<div id="tableLabel" class="table-badge" data-i18n="table.choose">Wybierz stolik</div>
|
||||
</header>
|
||||
<div class="app-shell" id="appShell">
|
||||
<div class="app-scroll" id="appScroll">
|
||||
<div class="container">
|
||||
<header id="mainHeader">
|
||||
<div class="header-top">
|
||||
<h1 class="logo-text">Karczma Biesiada</h1>
|
||||
<div id="headerLangPickerMount"></div>
|
||||
</div>
|
||||
<div id="tableLabel" class="table-badge" data-i18n="table.choose">Wybierz stolik</div>
|
||||
</header>
|
||||
|
||||
<main id="mainContent">
|
||||
<div id="statusView" class="view-section active">
|
||||
<main id="mainContent">
|
||||
<div id="statusView" class="view-section active">
|
||||
|
||||
<section class="status-card">
|
||||
<div class="status-header">
|
||||
<div>
|
||||
<span class="status-title" data-i18n="status.title">Aktualny status</span>
|
||||
<div id="prepStatus" class="status-value" data-i18n="status.waiting">Oczekiwanie...</div>
|
||||
<section class="status-card">
|
||||
<div class="status-header">
|
||||
<div>
|
||||
<span class="status-title" data-i18n="status.title">Aktualny status</span>
|
||||
<div id="prepStatus" class="status-value" data-i18n="status.waiting">Oczekiwanie...</div>
|
||||
</div>
|
||||
<div id="statusIcon" style="font-size: 28px;">⏳</div>
|
||||
</div>
|
||||
|
||||
<div class="progress-container">
|
||||
<div id="progressBar" class="progress-bar"></div>
|
||||
</div>
|
||||
|
||||
<div id="statusMeta" style="font-size: 12px; color: var(--text-muted);" data-i18n="status.checking">
|
||||
Sprawdzamy co pysznego się przygotowuje...
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="items-container" id="ordersContainer">
|
||||
<h3 id="ordersTitle" data-i18n="orders.title">Twoje zamówione dania</h3>
|
||||
<div id="emptyState" class="empty-state hidden">
|
||||
<div class="empty-icon">📖</div>
|
||||
<p style="color: var(--text-muted)" data-i18n="orders.empty">Jeśli właśnie złożyłeś zamówienie, daj nam chwilkę na jego
|
||||
przetworzenie.</p>
|
||||
<button class="btn btn-primary" style="margin-top: 15px; padding: 12px 20px; font-size: 15px;"
|
||||
onclick="switchTab('menu')" data-i18n="orders.browse_menu">Przeglądaj menu</button>
|
||||
</div>
|
||||
<div id="itemsList"></div>
|
||||
</section>
|
||||
|
||||
<section id="historySection" class="items-container history-section hidden">
|
||||
<h3 data-i18n="history.title">Twoje poprzednie zamówienia</h3>
|
||||
<p class="history-note" data-i18n="history.note">To są pozycje z innych wizyt, które były widoczne na tym telefonie po zeskanowaniu
|
||||
kodów QR. Jeśli kiedyś byłeś w restauracji bez skanowania kodu, tych pozycji tu nie będzie 🙂</p>
|
||||
<div id="historyList"></div>
|
||||
<div style="text-align: center; margin-top: 15px;">
|
||||
<a href="#" onclick="clearGlobalHistory(event)"
|
||||
style="font-size: 12px; color: var(--text-muted); text-decoration: underline;" data-i18n="history.clear">Usuń historię</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div id="metaFooter" class="meta-footer"></div>
|
||||
</div>
|
||||
|
||||
<div id="menuView" class="view-section hidden">
|
||||
<div id="menuOnlyBanner" class="menu-only-banner is-hidden">
|
||||
<span data-i18n="menu.banner">Potwierdź lokalizację, aby wezwać kelnera lub poprosić o rachunek.</span>
|
||||
<button type="button" class="menu-only-banner-btn" onclick="promptGeoForFullAccess()" data-i18n="menu.banner_btn">Sprawdź teraz</button>
|
||||
</div>
|
||||
<div class="menu-search-container">
|
||||
<input type="text" id="menuSearchInput" data-i18n-placeholder="menu.search" placeholder="Szukaj dania..." oninput="filterMenu()" />
|
||||
<div id="menuLangPickerMount"></div>
|
||||
</div>
|
||||
|
||||
<div class="restaurant-menu-container">
|
||||
<nav class="menu-categories-nav">
|
||||
<ul>
|
||||
<!-- Dynamic categories -->
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="restaurant-menu-scroll" id="menuContainer">
|
||||
<!-- Dynamiczne menu załaduje się tutaj -->
|
||||
</div>
|
||||
</div>
|
||||
<div id="statusIcon" style="font-size: 28px;">⏳</div>
|
||||
</div>
|
||||
|
||||
<div class="progress-container">
|
||||
<div id="progressBar" class="progress-bar"></div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div id="statusMeta" style="font-size: 12px; color: var(--text-muted);" data-i18n="status.checking">
|
||||
Sprawdzamy co pysznego się przygotowuje...
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="items-container" id="ordersContainer">
|
||||
<h3 id="ordersTitle" data-i18n="orders.title">Twoje zamówione dania</h3>
|
||||
<div id="emptyState" class="empty-state hidden">
|
||||
<div class="empty-icon">📖</div>
|
||||
<p style="color: var(--text-muted)" data-i18n="orders.empty">Jeśli właśnie złożyłeś zamówienie, daj nam chwilkę na jego
|
||||
przetworzenie.</p>
|
||||
<button class="btn btn-primary" style="margin-top: 15px; padding: 12px 20px; font-size: 15px;"
|
||||
onclick="switchTab('menu')" data-i18n="orders.browse_menu">Przeglądaj menu</button>
|
||||
</div>
|
||||
<div id="itemsList"></div>
|
||||
</section>
|
||||
|
||||
<section id="historySection" class="items-container history-section hidden">
|
||||
<h3 data-i18n="history.title">Twoje poprzednie zamówienia</h3>
|
||||
<p class="history-note" data-i18n="history.note">To są pozycje z innych wizyt, które były widoczne na tym telefonie po zeskanowaniu
|
||||
kodów QR. Jeśli kiedyś byłeś w restauracji bez skanowania kodu, tych pozycji tu nie będzie 🙂</p>
|
||||
<div id="historyList"></div>
|
||||
<div style="text-align: center; margin-top: 15px;">
|
||||
<a href="#" onclick="clearGlobalHistory(event)"
|
||||
style="font-size: 12px; color: var(--text-muted); text-decoration: underline;" data-i18n="history.clear">Usuń historię</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div id="metaFooter" class="meta-footer"></div>
|
||||
<footer class="app-footer">
|
||||
<a href="https://magico.pl" target="_blank">© Magico Software</a>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="menuView" class="view-section hidden">
|
||||
<div id="menuOnlyBanner" class="menu-only-banner is-hidden">
|
||||
<span data-i18n="menu.banner">Potwierdź lokalizację, aby wezwać kelnera lub poprosić o rachunek.</span>
|
||||
<button type="button" class="menu-only-banner-btn" onclick="promptGeoForFullAccess()" data-i18n="menu.banner_btn">Sprawdź teraz</button>
|
||||
</div>
|
||||
<div class="menu-search-container">
|
||||
<input type="text" id="menuSearchInput" data-i18n-placeholder="menu.search" placeholder="Szukaj dania..." oninput="filterMenu()" />
|
||||
<div id="menuLangPickerMount"></div>
|
||||
</div>
|
||||
|
||||
<div class="restaurant-menu-container">
|
||||
<nav class="menu-categories-nav">
|
||||
<ul>
|
||||
<!-- Dynamic categories -->
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="restaurant-menu-scroll" id="menuContainer">
|
||||
<!-- Dynamiczne menu załaduje się tutaj -->
|
||||
</div>
|
||||
</div>
|
||||
<nav class="bottom-nav" id="bottomNav" hidden>
|
||||
<div class="nav-item active" onclick="switchTab('status')" id="navStatus">
|
||||
<span class="nav-icon">🍽️</span>
|
||||
<span class="nav-label" data-i18n="nav.order">Zamówienie</span>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<footer style="text-align: center; padding: 10px 0 20px; margin-top: 5px;">
|
||||
<a href="https://magico.pl" target="_blank"
|
||||
style="font-size: 12px; color: var(--text-muted); text-decoration: none;">
|
||||
© Magico Software
|
||||
</a>
|
||||
</footer>
|
||||
<div class="nav-item" onclick="switchTab('menu')" id="navMenu">
|
||||
<span class="nav-icon">📖</span>
|
||||
<span class="nav-label" data-i18n="nav.menu">Menu</span>
|
||||
</div>
|
||||
<div class="nav-item action-call" onclick="openWaiterDialog()" id="navWaiter">
|
||||
<span class="nav-icon">🛎️</span>
|
||||
<span class="nav-label" data-i18n="nav.waiter">Kelner</span>
|
||||
</div>
|
||||
<div class="nav-item action-bill" onclick="openBillDialog()" id="navBill">
|
||||
<span class="nav-icon">💳</span>
|
||||
<span class="nav-label" data-i18n="nav.bill">Rachunek</span>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<nav class="bottom-nav" id="bottomNav" style="display: none;">
|
||||
<div class="nav-item active" onclick="switchTab('status')" id="navStatus">
|
||||
<span class="nav-icon">🍽️</span>
|
||||
<span class="nav-label" data-i18n="nav.order">Zamówienie</span>
|
||||
</div>
|
||||
<div class="nav-item" onclick="switchTab('menu')" id="navMenu">
|
||||
<span class="nav-icon">📖</span>
|
||||
<span class="nav-label" data-i18n="nav.menu">Menu</span>
|
||||
</div>
|
||||
<div class="nav-item action-call" onclick="openWaiterDialog()" id="navWaiter">
|
||||
<span class="nav-icon">🛎️</span>
|
||||
<span class="nav-label" data-i18n="nav.waiter">Kelner</span>
|
||||
</div>
|
||||
<div class="nav-item action-bill" onclick="openBillDialog()" id="navBill">
|
||||
<span class="nav-icon">💳</span>
|
||||
<span class="nav-label" data-i18n="nav.bill">Rachunek</span>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="modal-overlay" id="waiterModal">
|
||||
<div class="modal-content" style="text-align: center;">
|
||||
<div style="font-size: 48px; margin-bottom: 15px;">🛎️</div>
|
||||
|
||||
Reference in New Issue
Block a user