Ukrycie opcji wzywania kelnera
This commit is contained in:
52
parse.js
Normal file
52
parse.js
Normal file
@@ -0,0 +1,52 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const html = fs.readFileSync('menu.txt', 'utf8');
|
||||
|
||||
const items = [];
|
||||
const regexCategory = /<div class="rm-category">([\s\S]*?)<\/div>\s*<\/div>/g;
|
||||
const regexTitle = /class="restaurant-menu-category">([^<]+)<\/a>/;
|
||||
const regexPosition = /<div class="rmc-position" data-position="([^"]*)" data-category-id="([^"]*)" data-tag="([^"]*)">([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>/g; // wait, the structure is a bit complex for simple regex.
|
||||
|
||||
// Let's use basic string splitting.
|
||||
|
||||
const cats = html.split('<div class="rm-category">');
|
||||
cats.shift(); // remove first empty
|
||||
|
||||
const result = [];
|
||||
|
||||
cats.forEach(catHtml => {
|
||||
const titleMatch = catHtml.match(/class="restaurant-menu-category">([^<]+)<\/a>/);
|
||||
const categoryName = titleMatch ? titleMatch[1].trim() : '';
|
||||
|
||||
const itemsMatches = catHtml.split('<div class="rmc-position"');
|
||||
itemsMatches.shift();
|
||||
|
||||
const categoryItems = [];
|
||||
itemsMatches.forEach(itemHtml => {
|
||||
const idMatch = itemHtml.match(/data-position="([^"]*)"/);
|
||||
const catIdMatch = itemHtml.match(/data-category-id="([^"]*)"/);
|
||||
const tagMatch = itemHtml.match(/data-tag="([^"]*)"/);
|
||||
const imgMatch = itemHtml.match(/<img[^>]+src="([^"]+)"/);
|
||||
const titleTextMatch = itemHtml.match(/<h4>([^<]+)/);
|
||||
const descMatch = itemHtml.match(/<span>([^<]*)<\/span>/);
|
||||
const priceMatch = itemHtml.match(/<div class="rmc-other">\s*<span>([^<]+)<\/span>/);
|
||||
|
||||
categoryItems.push({
|
||||
position: idMatch ? idMatch[1] : '',
|
||||
categoryId: catIdMatch ? catIdMatch[1] : '',
|
||||
tag: tagMatch ? tagMatch[1] : '',
|
||||
image: imgMatch ? imgMatch[1] : '',
|
||||
title: titleTextMatch ? titleTextMatch[1].trim() : '',
|
||||
description: descMatch ? descMatch[1].trim() : '',
|
||||
price: priceMatch ? priceMatch[1].trim() : ''
|
||||
});
|
||||
});
|
||||
|
||||
result.push({
|
||||
categoryName,
|
||||
items: categoryItems
|
||||
});
|
||||
});
|
||||
|
||||
fs.writeFileSync('public/menu.json', JSON.stringify(result, null, 2));
|
||||
console.log('Saved public/menu.json');
|
||||
@@ -113,67 +113,8 @@
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="restaurant-menu-scroll">
|
||||
<div class="rm-category" data-cat-id="1">
|
||||
<div class="restaurant-menu-category">Na dobry początek</div>
|
||||
<div class="rmc-positions">
|
||||
<div class="rmc-position" data-position="331" data-category-id="1">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/losos-na-placku.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Wędzony łosoś na chrupkim placku ziemniaczanym<span>ze śmietaną i sosem a'la duńskim</span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>31,00</span></div>
|
||||
</div>
|
||||
<div class="rmc-position" data-position="11" data-category-id="1">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/smalczyk.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Skiśnięte ogórki i smolec swojej roboty z pieczywem<span></span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>28,00</span></div>
|
||||
</div>
|
||||
<div class="rmc-position" data-position="12" data-category-id="1">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/przystawki-Tatar-siekany.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Tatar siekany z wołowiny z piklami i pieczywem<span></span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>62,00</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rm-category" data-cat-id="2">
|
||||
<div class="restaurant-menu-category">Polywki</div>
|
||||
<div class="rmc-positions">
|
||||
<div class="rmc-position" data-position="18" data-category-id="2">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/wielkanocne-2020/400_320_crop/Karczma-biesiada-stalowa-wola-dania-na-wielkanoc.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Żurek na wędzonce z jajkiem w chlebie<span></span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>31,00</span></div>
|
||||
</div>
|
||||
<div class="rmc-position" data-position="22" data-category-id="2">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/rosol-z-makaronem.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Rosół wiejski z trzech rodzajów mięs z makaronem<span></span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>19,00</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rm-category" data-cat-id="3">
|
||||
<div class="restaurant-menu-category">Co przez gospodarza lubiane</div>
|
||||
<div class="rmc-positions">
|
||||
<div class="rmc-position" data-position="363" data-category-id="3">
|
||||
<img class="rmc-image" src="https://www.karczmabiesiada.eu/cache/images/files/aktualnosci/nowe-smaki-lato-2024/400_320_crop/pyszne-jedzenie-karczma-biesiada-6.webp" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>Schab po zbóju z ogórkiem kiszonym podany z białym sosem i ziemniakami opiekanymi<span></span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>53,00</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="restaurant-menu-scroll" id="menuContainer">
|
||||
<!-- Dynamiczne menu załaduje się tutaj -->
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- Koniec menuView -->
|
||||
@@ -198,10 +139,10 @@
|
||||
<span class="nav-icon">📖</span>
|
||||
<span class="nav-label">Menu</span>
|
||||
</div>
|
||||
<div class="nav-item action-call" onclick="openWaiterDialog()">
|
||||
<!-- <div class="nav-item action-call" onclick="openWaiterDialog()">
|
||||
<span class="nav-icon">🛎️</span>
|
||||
<span class="nav-label">Kelner</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="nav-item action-bill" onclick="openBillDialog()">
|
||||
<span class="nav-icon">💳</span>
|
||||
<span class="nav-label">Rachunek</span>
|
||||
@@ -280,7 +221,7 @@
|
||||
<div style="display:flex; gap:12px;">
|
||||
<button class="btn btn-secondary" style="flex:1;" onclick="goBackToBillList()"
|
||||
id="btnBackToBills">Wróć</button>
|
||||
<button class="btn btn-primary" style="flex:2;" onclick="goToStep('stepPayment')">Poproś rachunek</button>
|
||||
<!-- <button class="btn btn-primary" style="flex:2;" onclick="goToStep('stepPayment')">Poproś rachunek</button> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -557,11 +557,13 @@ header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.toast.active {
|
||||
transform: translateX(-50%) translateY(0);
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* --- KITCHEN ANIMATION --- */
|
||||
|
||||
@@ -798,6 +798,55 @@ window.fetchGUS = function () {
|
||||
}, 1200);
|
||||
};
|
||||
|
||||
// --- DYNAMIC MENU LOADING ---
|
||||
async function loadMenu() {
|
||||
try {
|
||||
const response = await fetch('menu.json');
|
||||
if (!response.ok) throw new Error('Nie udało się załadować menu');
|
||||
const menuData = await response.json();
|
||||
const container = document.getElementById('menuContainer');
|
||||
if (!container) return;
|
||||
|
||||
container.innerHTML = '';
|
||||
|
||||
menuData.forEach(category => {
|
||||
const catId = category.items.length > 0 ? category.items[0].categoryId : '';
|
||||
|
||||
const catDiv = document.createElement('div');
|
||||
catDiv.className = 'rm-category';
|
||||
catDiv.setAttribute('data-cat-id', catId);
|
||||
|
||||
let html = `<div class="restaurant-menu-category">${category.categoryName}</div>
|
||||
<div class="rmc-positions">`;
|
||||
|
||||
category.items.forEach(item => {
|
||||
html += `
|
||||
<div class="rmc-position" data-position="${item.position}" data-category-id="${item.categoryId}">
|
||||
<img class="rmc-image" src="${item.image}" alt="" loading="lazy">
|
||||
<div class="rmc-title">
|
||||
<h4>${item.title}<span>${item.description}</span></h4>
|
||||
</div>
|
||||
<div class="rmc-other"><span>${item.price}</span></div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
|
||||
html += `</div>`;
|
||||
catDiv.innerHTML = html;
|
||||
container.appendChild(catDiv);
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('Błąd ładowania menu:', err);
|
||||
const container = document.getElementById('menuContainer');
|
||||
if (container) {
|
||||
container.innerHTML = '<p style="text-align:center; padding: 20px; color: var(--text-muted);">Nie udało się załadować menu.</p>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Inicjalizacja ładowania menu
|
||||
loadMenu();
|
||||
|
||||
window.editCompanyData = function () {
|
||||
const n = document.getElementById("cmpName");
|
||||
const s = document.getElementById("cmpStreet");
|
||||
@@ -910,7 +959,7 @@ window.initGeolocation = function () {
|
||||
|
||||
if (dist <= MAX_DISTANCE_METERS) {
|
||||
startApp();
|
||||
setTimeout(() => showToast(`Lokalizacja zweryfikowana (Dystans: ${Math.round(dist)}m, Dokładność: ${Math.round(accuracy)}m)`), 2000);
|
||||
// setTimeout(() => showToast(`Lokalizacja zweryfikowana (Dystans: ${Math.round(dist)}m, Dokładność: ${Math.round(accuracy)}m)`), 2000);
|
||||
} else {
|
||||
geoMsg.innerHTML = `Wydaje się, że jesteś poza restauracją (ok. ${Math.round(dist)}m od nas).<br>Nasza aplikacja działa tylko na miejscu.<br><br>
|
||||
<small style="color: #888;">Debug: Twoja odległość: ${Math.round(dist)}m, Dokładność sygnału: ${Math.round(accuracy)}m</small><br><br>
|
||||
|
||||
828
public/menu.json
Normal file
828
public/menu.json
Normal file
@@ -0,0 +1,828 @@
|
||||
[
|
||||
{
|
||||
"categoryName": "Na dobry początek",
|
||||
"items": [
|
||||
{
|
||||
"position": "331",
|
||||
"categoryId": "1",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/losos-na-placku.webp",
|
||||
"title": "Wędzony łosoś na chrupkim placku ziemniaczanym",
|
||||
"description": "ze śmietaną i sosem a'la duńskim",
|
||||
"price": "31,00"
|
||||
},
|
||||
{
|
||||
"position": "11",
|
||||
"categoryId": "1",
|
||||
"tag": "kiszone,smalec",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/smalczyk.webp",
|
||||
"title": "Skiśnięte ogórki i smolec swojej roboty z pieczywem",
|
||||
"description": "",
|
||||
"price": "28,00"
|
||||
},
|
||||
{
|
||||
"position": "12",
|
||||
"categoryId": "1",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/przystawki-Tatar-siekany.webp",
|
||||
"title": "Tatar siekany z wołowiny z piklami i pieczywem",
|
||||
"description": "",
|
||||
"price": "62,00"
|
||||
},
|
||||
{
|
||||
"position": "332",
|
||||
"categoryId": "1",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/sledz-w-oleju.webp",
|
||||
"title": "Śledź w oleju z kwaśnym dżemem morelowo-żurawinowym podany z pieczywem",
|
||||
"description": "",
|
||||
"price": "29,00"
|
||||
},
|
||||
{
|
||||
"position": "260",
|
||||
"categoryId": "1",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/oscypki.webp",
|
||||
"title": "Grillowane serki góralskie",
|
||||
"description": "z żurawiną z Podhala",
|
||||
"price": "21,00"
|
||||
},
|
||||
{
|
||||
"position": "187",
|
||||
"categoryId": "1",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/rydze-z-cebula-na-grzance.webp",
|
||||
"title": "Rydze z cebulą na grzance",
|
||||
"description": "",
|
||||
"price": "33,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Polywki",
|
||||
"items": [
|
||||
{
|
||||
"position": "18",
|
||||
"categoryId": "2",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/wielkanocne-2020/400_320_crop/Karczma-biesiada-stalowa-wola-dania-na-wielkanoc.webp",
|
||||
"title": "Żurek na wędzonce z jajkiem w chlebie",
|
||||
"description": "",
|
||||
"price": "31,00"
|
||||
},
|
||||
{
|
||||
"position": "22",
|
||||
"categoryId": "2",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/rosol-z-makaronem.webp",
|
||||
"title": "Rosół wiejski z trzech rodzajów mięs z makaronem",
|
||||
"description": "",
|
||||
"price": "19,00"
|
||||
},
|
||||
{
|
||||
"position": "25",
|
||||
"categoryId": "2",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/zupy-Obszar-kompozycji-5.webp",
|
||||
"title": "Barszcz czerwony ze swojskimi uszkami",
|
||||
"description": "",
|
||||
"price": "26,00"
|
||||
},
|
||||
{
|
||||
"position": "374",
|
||||
"categoryId": "2",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Krem z pomidorów z mozzarellą",
|
||||
"description": "",
|
||||
"price": "22,00"
|
||||
},
|
||||
{
|
||||
"position": "377",
|
||||
"categoryId": "2",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Kwaśnica z żeberkiem",
|
||||
"description": "",
|
||||
"price": "26,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Co przez gospodarza lubiane, a i Wam polecane",
|
||||
"items": [
|
||||
{
|
||||
"position": "363",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/aktualnosci/nowe-smaki-lato-2024/400_320_crop/pyszne-jedzenie-karczma-biesiada-6.webp",
|
||||
"title": "Schab po zbóju z ogórkiem kiszonym podany z białym sosem i ziemniakami opiekanymi",
|
||||
"description": "",
|
||||
"price": "53,00"
|
||||
},
|
||||
{
|
||||
"position": "324",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-Roladki-z-suszonymi-pomidorami.webp",
|
||||
"title": "Kurczak z mozarellą i suszonymi pomidorami",
|
||||
"description": "zawinięty boczkiem z dipem buraczkowym podany z kopytkami",
|
||||
"price": "41,00"
|
||||
},
|
||||
{
|
||||
"position": "379",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Polędwiczki w sosie kurkowym z kopytkami i ogórkiem kiszonym",
|
||||
"description": "",
|
||||
"price": "54,00"
|
||||
},
|
||||
{
|
||||
"position": "188",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/kaczka.webp",
|
||||
"title": "Soczysta pierś z kaczki",
|
||||
"description": "z sosem porzeczkowym z kopytkami i bukietem surówek",
|
||||
"price": "69,00"
|
||||
},
|
||||
{
|
||||
"position": "351",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/nowosci-2024/400_320_crop/1-1.webp",
|
||||
"title": "Stek z polędwicy wołowej",
|
||||
"description": "z puree ziemniaczanym i sosem z zielonego pieprzu",
|
||||
"price": "99,00"
|
||||
},
|
||||
{
|
||||
"position": "238",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/syte-koryto.webp",
|
||||
"title": "Syte koryto (micha mięs na stół)",
|
||||
"description": "W zestawie podwójna porcja: golonki, karkówki, schabu z kością, kiełbaski baraniej, szaszłyka, bekonu, ziemniaków opiekanych i kapusty zasmażanej,",
|
||||
"price": "275,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Dania mięsne",
|
||||
"items": [
|
||||
{
|
||||
"position": "325",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-karczek-grillowany.webp",
|
||||
"title": "Karczek grillowany z sosem BBQ",
|
||||
"description": "z ziemniakami opiekanymi i sałatką wiosenną",
|
||||
"price": "51,00"
|
||||
},
|
||||
{
|
||||
"position": "272",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-filet-w-sosie-smietanowo_.webp",
|
||||
"title": "Filet drobiowy w sosie śmietanowo-koperkowym",
|
||||
"description": "z ziemniakami gotowanymi i bukietem surówek",
|
||||
"price": "42,00"
|
||||
},
|
||||
{
|
||||
"position": "273",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/filet.webp",
|
||||
"title": "Filet z kurczaka panierowany",
|
||||
"description": "z frytkami i surówką z białej kapusty",
|
||||
"price": "39,00"
|
||||
},
|
||||
{
|
||||
"position": "274",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-schabowy2.webp",
|
||||
"title": "Kotlet schabowy panierowany",
|
||||
"description": "z ziemniakami opiekanymi i kapustą zasmażaną",
|
||||
"price": "40,00"
|
||||
},
|
||||
{
|
||||
"position": "326",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-golonka1.webp",
|
||||
"title": "Golonka po chłopsku z rusztu",
|
||||
"description": "(z kością) z ziemniakami opiekanymi i kapustą zasmażaną",
|
||||
"price": "58,00"
|
||||
},
|
||||
{
|
||||
"position": "364",
|
||||
"categoryId": "3",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/aktualnosci/nowe-smaki-lato-2024/400_320_crop/pyszne-jedzenie-karczma-biesiada-8.webp",
|
||||
"title": "Żeberka pieczone podane na kapuście zasmażanej z ziemniakami opiekanymi",
|
||||
"description": "",
|
||||
"price": "56,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "To co w wodzie pływo",
|
||||
"items": [
|
||||
{
|
||||
"position": "39",
|
||||
"categoryId": "5",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/pstrag_nowy.webp",
|
||||
"title": "Pstrąg pieczony",
|
||||
"description": "z warzywami sezonowymi i ziemniakami",
|
||||
"price": "57,00"
|
||||
},
|
||||
{
|
||||
"position": "284",
|
||||
"categoryId": "5",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/morszczuk.webp",
|
||||
"title": "Morszczuk w panierce",
|
||||
"description": "z frytkami i surówką z marchwii i ananasa",
|
||||
"price": "40,00"
|
||||
},
|
||||
{
|
||||
"position": "352",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/sandacz-na-sosie-cytrynowym-karczma-biesiada-stalowa-wola.webp",
|
||||
"title": "Sandacz podany na sosie śmietanowo-cytrynowym",
|
||||
"description": "z zapiekanką ziemniaczaną i warzywami sezonowymi",
|
||||
"price": "75,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Dania swojskie",
|
||||
"items": [
|
||||
{
|
||||
"position": "45",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/miesa-placek-po-wiejsku.webp",
|
||||
"title": "Placek po wiejsku z gulaszem",
|
||||
"description": "i surówką z białej kapusty",
|
||||
"price": "40,00"
|
||||
},
|
||||
{
|
||||
"position": "46",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/nalesniki-ze-szpinakiem.webp",
|
||||
"title": "Naleśniki ze szpinakiem",
|
||||
"description": "",
|
||||
"price": "27,00"
|
||||
},
|
||||
{
|
||||
"position": "47",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/pierogi-ruskie.webp",
|
||||
"title": "Pierogi ruskie",
|
||||
"description": "z omastą lub z patelni",
|
||||
"price": "27,00"
|
||||
},
|
||||
{
|
||||
"position": "365",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/aktualnosci/nowe-smaki-lato-2024/400_320_crop/pyszne-jedzenie-karczma-biesiada-3.webp",
|
||||
"title": "Pierogi z oscypkiem, żurawiną i chipsami z cebulki",
|
||||
"description": "",
|
||||
"price": "31,00"
|
||||
},
|
||||
{
|
||||
"position": "353",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/pierogi-z-miesem.webp",
|
||||
"title": "Pierogi z mięsem z omastą lub z patelni",
|
||||
"description": "",
|
||||
"price": "29,00"
|
||||
},
|
||||
{
|
||||
"position": "51",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/golabki-w-sosie-pomidorowym.webp",
|
||||
"title": "Gołąbki w sosie pomidorowym",
|
||||
"description": "",
|
||||
"price": "31,00"
|
||||
},
|
||||
{
|
||||
"position": "52",
|
||||
"categoryId": "4",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/placki_z_wedzonka.webp",
|
||||
"title": "Placki ziemniaczane ze śmietaną",
|
||||
"description": "",
|
||||
"price": "31,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Makarony",
|
||||
"items": [
|
||||
{
|
||||
"position": "373",
|
||||
"categoryId": "6",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Makaron tagliatelle z kurczakiem i szpinakiem w sosie śmietanowym",
|
||||
"description": "",
|
||||
"price": "41,00"
|
||||
},
|
||||
{
|
||||
"position": "355",
|
||||
"categoryId": "6",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/nowosci-2024/400_320_crop/5.webp",
|
||||
"title": "Makaron tagliatelle z podgrzybkami, gorgonzolą i boczkiem",
|
||||
"description": "",
|
||||
"price": "44,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Sałatki",
|
||||
"items": [
|
||||
{
|
||||
"position": "321",
|
||||
"categoryId": "7",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/Salatka-z-ananasem-grillowanym-kurczakiem.webp",
|
||||
"title": "Sałatka z grillowanym kurczakiem i ananasem",
|
||||
"description": "Kurczak, ananas, sałata lodowa, jajo, ogórek, pomidor, sos ogrodowy, sos słodkie chili",
|
||||
"price": "39,00"
|
||||
},
|
||||
{
|
||||
"position": "320",
|
||||
"categoryId": "7",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/salatka-grecka.webp",
|
||||
"title": "Sałatka Grecka",
|
||||
"description": "Ser favita, oliwki, cebula, ogórek, pomidor, sałata lodowa, sos ogrodowy",
|
||||
"price": "37,00"
|
||||
},
|
||||
{
|
||||
"position": "322",
|
||||
"categoryId": "7",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/salatka-cezar.webp",
|
||||
"title": "Sałatka Cezar",
|
||||
"description": "Z kurczakiem, sosem czosnkowym, sałatą lodową, ser corregio i grzankami",
|
||||
"price": "44,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Burgery",
|
||||
"items": [
|
||||
{
|
||||
"position": "361",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/Burger-wolowy-karczma-biesiada-stalowa-wola.webp",
|
||||
"title": "Buła z wołowiną",
|
||||
"description": "",
|
||||
"price": "41,00"
|
||||
},
|
||||
{
|
||||
"position": "362",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/nowosci-2024/400_320_crop/3.webp",
|
||||
"title": "Buła z kurczakiem",
|
||||
"description": "",
|
||||
"price": "38,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Dania dla dzieci",
|
||||
"items": [
|
||||
{
|
||||
"position": "287",
|
||||
"categoryId": "9",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/rosol-dla-dzieci.webp",
|
||||
"title": "Rosół z makaronem",
|
||||
"description": "porcja dziecięca",
|
||||
"price": "14,00"
|
||||
},
|
||||
{
|
||||
"position": "293",
|
||||
"categoryId": "9",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/dzieci-nuggetsy-z-kurczaka.webp",
|
||||
"title": "Nuggetsy z kurczaka",
|
||||
"description": "z frytkami i surówką z marchwii i ananasa",
|
||||
"price": "33,00"
|
||||
},
|
||||
{
|
||||
"position": "294",
|
||||
"categoryId": "9",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/filet-z-frytkami-dla-dzieci.webp",
|
||||
"title": "Filet z kurczaka z frytkami i bukietem surówek",
|
||||
"description": "porcja dziecięca",
|
||||
"price": "27,00"
|
||||
},
|
||||
{
|
||||
"position": "295",
|
||||
"categoryId": "9",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/morszczuk-w-panierce-dla-dzieci.webp",
|
||||
"title": "Morszczuk w panierce",
|
||||
"description": "z ziemniakami i surówką z białej kapusty (porcja dziecięca)",
|
||||
"price": "27,00"
|
||||
},
|
||||
{
|
||||
"position": "296",
|
||||
"categoryId": "9",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/filet-w-sosie-dla-dzieci.webp",
|
||||
"title": "Filet w sosie śmietanowo-koperkowym",
|
||||
"description": "z ziemniakami gotowanymi (porcja dziecięca)",
|
||||
"price": "28,00"
|
||||
},
|
||||
{
|
||||
"position": "298",
|
||||
"categoryId": "9",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/nalesniki.webp",
|
||||
"title": "Naleśniki z serem",
|
||||
"description": "",
|
||||
"price": "24,00"
|
||||
},
|
||||
{
|
||||
"position": "299",
|
||||
"categoryId": "9",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/dzieci-Nalesniki-z-nutella.webp",
|
||||
"title": "Naleśniki z nutellą",
|
||||
"description": "",
|
||||
"price": "28,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Dodatki do drugich dań",
|
||||
"items": [
|
||||
{
|
||||
"position": "56",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/DSC088432.webp",
|
||||
"title": "Ziemniaki gotowane",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "57",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/dodatki-ziemniaki-opiekane.webp",
|
||||
"title": "Ziemniaki opiekane",
|
||||
"description": "",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "58",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/frytki.webp",
|
||||
"title": "Frytki",
|
||||
"description": "",
|
||||
"price": "12,00"
|
||||
},
|
||||
{
|
||||
"position": "380",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Kopytka",
|
||||
"description": "",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "61",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/bukiet.webp",
|
||||
"title": "Bukiet surówek",
|
||||
"description": "",
|
||||
"price": "12,00"
|
||||
},
|
||||
{
|
||||
"position": "279",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/salatka-wiosenna.webp",
|
||||
"title": "Sałatka wiosenna",
|
||||
"description": "Pomidor, ogórek, papryka na liściu sałaty z lekkim sosem ogrodowym",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "62",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/3.webp",
|
||||
"title": "Surówka z białej kapusty",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "67",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/buraczki.webp",
|
||||
"title": "Surówka z buraczków",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "63",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/2.webp",
|
||||
"title": "Surówka z marchwi i ananasa",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "65",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/kapusta-zasmazana.webp",
|
||||
"title": "Kapusta zasmażana",
|
||||
"description": "",
|
||||
"price": "12,00"
|
||||
},
|
||||
{
|
||||
"position": "381",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Mizeria",
|
||||
"description": "",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "66",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/ogorek-kiszony.webp",
|
||||
"title": "Ogórek kiszony",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "68",
|
||||
"categoryId": "8",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/dodatki-Chlebek-swojski-z-ziarnami.webp",
|
||||
"title": "Chlebek swojski",
|
||||
"description": "",
|
||||
"price": "6,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Cosik na słodko",
|
||||
"items": [
|
||||
{
|
||||
"position": "77",
|
||||
"categoryId": "10",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/szarlotka.webp",
|
||||
"title": "Szarlotka na gorąco z gałką lodów",
|
||||
"description": "",
|
||||
"price": "26,00"
|
||||
},
|
||||
{
|
||||
"position": "78",
|
||||
"categoryId": "10",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/photo_2024-07-17_13-24-30.webp",
|
||||
"title": "Sernik na musie truskawkowym",
|
||||
"description": "",
|
||||
"price": "24,00"
|
||||
},
|
||||
{
|
||||
"position": "382",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Fondant czekoladowy na ciepło podany na sosie wiśniowym z gałką lodów",
|
||||
"description": "",
|
||||
"price": "31,00"
|
||||
},
|
||||
{
|
||||
"position": "327",
|
||||
"categoryId": "10",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/deser-3.webp",
|
||||
"title": "Deser lodowy",
|
||||
"description": "3 gałki, smaki do wyboru",
|
||||
"price": "20,00"
|
||||
},
|
||||
{
|
||||
"position": "292",
|
||||
"categoryId": "10",
|
||||
"tag": "deser",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/deser-lodowy-dla-dzieci.webp",
|
||||
"title": "Mini deser lodowy",
|
||||
"description": "2 gałki, smaki do wyboru",
|
||||
"price": "17,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Napitki",
|
||||
"items": [
|
||||
{
|
||||
"position": "81",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/photo_2024-07-17_13-24-04.webp",
|
||||
"title": "Espresso",
|
||||
"description": "",
|
||||
"price": "9,00"
|
||||
},
|
||||
{
|
||||
"position": "82",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/kawa-czarna.webp",
|
||||
"title": "Kawa czarna",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "83",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/kawa-biala1.webp",
|
||||
"title": "Kawa biała",
|
||||
"description": "",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "84",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/napoje-kawa-cappuccino.webp",
|
||||
"title": "Cappuccino",
|
||||
"description": "",
|
||||
"price": "14,00"
|
||||
},
|
||||
{
|
||||
"position": "86",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/latte.webp",
|
||||
"title": "Latte Machiato",
|
||||
"description": "",
|
||||
"price": "14,00"
|
||||
},
|
||||
{
|
||||
"position": "90",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/herbata-czarna.webp",
|
||||
"title": "Herbata czarna",
|
||||
"description": "",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "202",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/herbata1.webp",
|
||||
"title": "Herbata Richmont",
|
||||
"description": "",
|
||||
"price": "14,00"
|
||||
},
|
||||
{
|
||||
"position": "329",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/herbata-owocowa1.webp",
|
||||
"title": "Herbata owocowa Richmont",
|
||||
"description": "",
|
||||
"price": "14,00"
|
||||
},
|
||||
{
|
||||
"position": "330",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/menu/400_320_crop/photo_2024-07-19_08-00-49.webp",
|
||||
"title": "Herbata zielona Richmont",
|
||||
"description": "",
|
||||
"price": "14,00"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"categoryName": "Napitki dla wysusonyk",
|
||||
"items": [
|
||||
{
|
||||
"position": "301",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/potrawy/400_320_crop/napoje-lemoniady.webp",
|
||||
"title": "Orzeźwiająca lemoniada",
|
||||
"description": "",
|
||||
"price": "18,00"
|
||||
},
|
||||
{
|
||||
"position": "302",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/modzajto-light.webp",
|
||||
"title": "Modżajto light",
|
||||
"description": "Drink bezalkoholowy",
|
||||
"price": "20,00"
|
||||
},
|
||||
{
|
||||
"position": "304",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/400_320_crop/sok-wyciskany.webp",
|
||||
"title": "Sok wyciskany ze świeżych pomarańczy lub grejpfrutów",
|
||||
"description": "",
|
||||
"price": "20,00"
|
||||
},
|
||||
{
|
||||
"position": "305",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/logo-cocacola.webp",
|
||||
"title": "Coca-Cola, Coca-Cola zero, Fanta, Sprite",
|
||||
"description": "",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "309",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/Kinley.webp",
|
||||
"title": "Tonic Kinley",
|
||||
"description": "Tonic Water",
|
||||
"price": "11,00"
|
||||
},
|
||||
{
|
||||
"position": "310",
|
||||
"categoryId": "11",
|
||||
"tag": "woda",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/logo-kropla.webp",
|
||||
"title": "Kropla Beskidu 330ml",
|
||||
"description": "gazowana, niegazowana",
|
||||
"price": "9,00"
|
||||
},
|
||||
{
|
||||
"position": "359",
|
||||
"categoryId": "",
|
||||
"tag": "",
|
||||
"image": "/themes/karczmabiesiadanew/images/icon-menu.jpg",
|
||||
"title": "Dzbanek wody gazowana/niegazowana",
|
||||
"description": "",
|
||||
"price": "19,00"
|
||||
},
|
||||
{
|
||||
"position": "307",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/logo-fuzetea.webp",
|
||||
"title": "Fuzetea",
|
||||
"description": "cytrynowa z trawą cytrynową, brzoskwiniowa z hibiskusem",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "308",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/logo-cappy.webp",
|
||||
"title": "Cappy",
|
||||
"description": "pomarańcza, jabłko, multiwitamina, czarna porzeczka, grejpfrut",
|
||||
"price": "10,00"
|
||||
},
|
||||
{
|
||||
"position": "312",
|
||||
"categoryId": "11",
|
||||
"tag": "",
|
||||
"image": "https://www.karczmabiesiada.eu/cache/images/files/logos/400_320_crop/logo-burn.webp",
|
||||
"title": "Burn",
|
||||
"description": "napój energetyczny",
|
||||
"price": "13,00"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -5,7 +5,7 @@ $tsql = "SELECT ID, Nazwa FROM dbo.NGastroStolik ORDER BY Nazwa";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
|
||||
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
|
||||
$baseUrl = "http://$host/karczma-stoliki/public/stolik2_api.html?h=";
|
||||
$baseUrl = "https://$host/app/public/app.html?h=";
|
||||
|
||||
echo "<!DOCTYPE html>
|
||||
<html lang='pl'>
|
||||
|
||||
@@ -293,6 +293,7 @@
|
||||
orders[orderId] = {
|
||||
number: orderId,
|
||||
stolik: item.NazwaStolika || item.StolikID,
|
||||
stolikId: item.StolikID,
|
||||
time: item.DataDodania,
|
||||
groups: {}
|
||||
};
|
||||
@@ -327,7 +328,8 @@
|
||||
|
||||
sortedOrders.forEach(order => {
|
||||
const timeStr = new Date(order.time).toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
|
||||
const stolikText = order.stolik ? `STOLIK: ${order.stolik}` : 'BRAK STOLIKA';
|
||||
const stolikLink = order.stolikId ? `<a href="../app.html?h=${order.stolikId}" target="_blank" style="color: var(--accent); text-decoration: underline;">STOLIK: ${order.stolik}</a>` : `STOLIK: ${order.stolik}`;
|
||||
const stolikText = order.stolik ? stolikLink : 'BRAK STOLIKA';
|
||||
|
||||
let itemsHtml = '';
|
||||
|
||||
|
||||
26
verify.js
Normal file
26
verify.js
Normal file
@@ -0,0 +1,26 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const txt = fs.readFileSync('menu.txt', 'utf8');
|
||||
const json = JSON.parse(fs.readFileSync('public/menu.json', 'utf8'));
|
||||
|
||||
const txtItemCount = (txt.match(/<div class="rmc-position"/g) || []).length;
|
||||
const txtCategoryCount = (txt.match(/<div class="rm-category">/g) || []).length - 1; // -1 because the first split in the previous script had an empty category if there was a preceding tag? Actually, let's just count `class="restaurant-menu-category"`
|
||||
|
||||
const txtCatNameCount = (txt.match(/class="restaurant-menu-category">/g) || []).length;
|
||||
|
||||
|
||||
let jsonItemCount = 0;
|
||||
json.forEach(cat => {
|
||||
jsonItemCount += cat.items.length;
|
||||
});
|
||||
|
||||
console.log(`Menu.txt item count: ${txtItemCount}`);
|
||||
console.log(`JSON item count: ${jsonItemCount}`);
|
||||
console.log(`Menu.txt category count: ${txtCatNameCount}`);
|
||||
console.log(`JSON category count: ${json.length}`);
|
||||
|
||||
if (txtItemCount === jsonItemCount && txtCatNameCount === json.length) {
|
||||
console.log("MATCH: Wszystkie pozycje i kategorie zostały prawidłowo przeniesione.");
|
||||
} else {
|
||||
console.log("MISMATCH: Występują braki!");
|
||||
}
|
||||
Reference in New Issue
Block a user