From a4b56a8dc924a520645b5489e4aa09a29a0ff2c4 Mon Sep 17 00:00:00 2001 From: avi Date: Mon, 28 Sep 2026 15:31:38 -0500 Subject: [PATCH] Add placeholder pickup locations per stand MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit STAND_LOCATIONS map in server.js keyed by menu item name; every order now carries a 'where to find it' line (PLACEHOLDER — edit when the site map is final). Staff can override per order when marking ready. --- server/server.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/server/server.js b/server/server.js index 575a5b0..4f4259e 100644 --- a/server/server.js +++ b/server/server.js @@ -24,6 +24,28 @@ const STAFF_PASSCODE = process.env['ST'+'AFF_PASSCODE'] || ''; // Each menu item is its own stand; mixed orders consolidate at Kitchen 484. const DEFAULT_STAND = 'Kitchen 484'; const DEFAULT_LOCATION = 'Center of camp, by the big solar dish'; + +// PLACEHOLDER stand locations — edit these when the site map is final. +// Keyed by menu item name; orders for that item show this text wherever +// the app says where to pick up (success screen, orders view, staff board). +const STAND_LOCATIONS = { + 'Coffee Station': 'PLACEHOLDER — east path, next to the water station', + 'Sweets Cart': 'PLACEHOLDER — north gate, under the yellow canopy', + 'Taco Stand': 'PLACEHOLDER — main lawn, food row #1', + 'BBQ Pit': 'PLACEHOLDER — downwind corner behind the wood pile', + 'Chicken Grill': 'PLACEHOLDER — main lawn, food row #2', + 'Pasta Bar': 'PLACEHOLDER — west tent, near the stage', + 'Drinks': 'PLACEHOLDER — center of camp, big cooler', + 'Garden Burgers': 'PLACEHOLDER — main lawn, food row #2', + 'Grill 484': 'PLACEHOLDER — center of camp, by the big solar dish', + 'Ramen Tent': 'PLACEHOLDER — south tent, steam visible from path', + 'Flatbread Oven': 'PLACEHOLDER — east tent, smell the bread', + 'Dumpling Bar': 'PLACEHOLDER — west tent, next to Pasta Bar', + 'Farewell Feast · BBQ': 'PLACEHOLDER — main lawn, long tables', +}; +function locationFor(stand) { + return STAND_LOCATIONS[stand] || STAND_LOCATIONS[DEFAULT_STAND] || DEFAULT_LOCATION; +} // --- order store --------------------------------------------------------- fs.mkdirSync(DATA_DIR, { recursive: true }); let orders = []; @@ -132,7 +154,7 @@ async function handle(req, res) { const ids = Object.keys(items); if (!ids.length) return json(res, 400, { error: 'cart is empty' }); const stand = String(b.stand || DEFAULT_STAND).trim().slice(0, 40) || DEFAULT_STAND; - const standLocation = String(b.standLocation || DEFAULT_LOCATION).trim().slice(0, 80); + const standLocation = String(b.standLocation || locationFor(stand)).trim().slice(0, 80); const order = { code: makeCode(), status: 'PREPARING',