diff --git a/admin/includes/header.php b/admin/includes/header.php index f2ee021..d4f3b03 100644 --- a/admin/includes/header.php +++ b/admin/includes/header.php @@ -230,7 +230,7 @@ function getGroupToggleClass($pages) { - + diff --git a/ads.php b/ads.php index 11d15da..70c205b 100644 --- a/ads.php +++ b/ads.php @@ -9,6 +9,7 @@ $ads = $stmt->fetchAll(PDO::FETCH_ASSOC); // Get current outlet (default to 1 if not specified) $outlet_id = isset($_GET['outlet_id']) ? (int)$_GET['outlet_id'] : 1; +$debug = isset($_GET['debug']) ? true : false; // Fetch company settings for branding $stmt = $pdo->query("SELECT * FROM company_settings LIMIT 1"); @@ -38,13 +39,19 @@ $companyName = $company['company_name'] ?? 'Foody'; background-color: var(--bg-dark); color: white; overflow: hidden; - height: 100vh; + height: 100vh !important; + width: 100vw !important; margin: 0; + padding: 0; } .main-container { display: flex; - height: 100vh; - width: 100vw; + height: 100vh !important; + width: 100vw !important; + transition: all 0.5s ease; + position: relative; + border: ; + box-sizing: border-box; } .serving-board { flex: 0 0 35%; @@ -53,250 +60,277 @@ $companyName = $company['company_name'] ?? 'Foody'; display: flex; flex-direction: column; padding: 2rem; + transition: all 0.5s ease; + z-index: 20; + overflow: hidden; } .ads-slider { flex: 1; position: relative; - background-color: black; - } - .board-header { - text-align: center; - margin-bottom: 2rem; - border-bottom: 1px solid #333; - padding-bottom: 1rem; - } - .board-title { - font-size: 2.5rem; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 2px; - margin: 0; - } - .section-title { - font-size: 1.5rem; - font-weight: 700; - text-transform: uppercase; - margin-bottom: 1rem; - display: flex; - align-items: center; - gap: 10px; - } - .order-grid { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); - gap: 15px; - margin-bottom: 3rem; - } - .order-number { - font-size: 2.5rem; - font-weight: 800; - padding: 1rem 0.5rem; - border-radius: 10px; - text-align: center; - line-height: 1; - } - .order-ready { - background-color: var(--ready-color); - color: white; - animation: pulse 2s infinite; - } - .order-preparing { - background-color: #333; - color: #aaa; - border: 1px solid #444; - } - @keyframes pulse { - 0% { transform: scale(1); } - 50% { transform: scale(1.05); } - 100% { transform: scale(1); } - } - .carousel-item img { - width: 100%; - height: 100vh; - object-fit: cover; - } - .carousel-caption { - background: rgba(0,0,0,0.6); - backdrop-filter: blur(10px); - border-radius: 20px; - padding: 1.5rem 2rem; - bottom: 5%; - left: 50%; - transform: translateX(-50%); - width: fit-content; - max-width: 80%; - } - .caption-title { - font-size: 2.5rem; - font-weight: 800; - margin: 0; + background-color: ; + overflow: hidden; + height: 100vh !important; + z-index: 10; + border: ; + box-sizing: border-box; } - /* Toggle View Button */ - #toggle-view { - position: fixed; - bottom: 20px; - right: 20px; - z-index: 1000; - opacity: 0.3; - transition: opacity 0.3s; + #adCarousel, .carousel-inner { + height: 100% !important; + width: 100% !important; + position: relative; + margin: 0 !important; + padding: 0 !important; + } + + .carousel-item { + height: 100% !important; + width: 100% !important; + background-color: ; + } + + .carousel-item.active { + display: block !important; /* Ensure active item is visible */ + } + + .carousel-item img { + display: block !important; + width: 100% !important; + height: 100% !important; + max-width: none !important; + max-height: none !important; + object-fit: contain !important; + opacity: 1 !important; + visibility: visible !important; + border: ; + box-sizing: border-box; + background-color: ; + position: relative; + z-index: 50; } - #toggle-view:hover { opacity: 1; } /* Fullscreen Ads Class */ - .fullscreen-ads .serving-board { display: none; } - .fullscreen-ads .ads-slider { flex: 0 0 100%; } + .fullscreen-ads .serving-board { + flex: 0 0 0% !important; + width: 0 !important; + padding: 0 !important; + margin: 0 !important; + border: none !important; + overflow: hidden !important; + opacity: 0 !important; + } + .fullscreen-ads .ads-slider { flex: 0 0 100% !important; width: 100% !important; } - .empty-msg { - font-size: 1.2rem; - color: #555; - font-style: italic; + /* Debug styling */ + .debug-panel { + position: absolute; + top: 20px; + left: 20px; + background: rgba(255,0,0,0.95); + color: white; + padding: 15px; + font-family: monospace; + font-size: 14px; + z-index: 999999; + border-radius: 8px; + max-width: 500px; + box-shadow: 0 0 20px rgba(0,0,0,0.5); + } + #on-screen-console { + position: absolute; + bottom: 20px; + left: 20px; + width: 550px; + max-height: 400px; + background: rgba(0,0,0,0.95); + color: #0f0; + font-size: 13px; + padding: 15px; + overflow-y: auto; + z-index: 999999; + border: 3px solid #0f0; + display: ; + } + .debug-marker { + position: absolute; + top: 40px; + right: 40px; + font-size: 4rem; + font-weight: 900; + color: #fff; + z-index: 1000; + background: rgba(0,0,0,0.7); + padding: 20px; + pointer-events: none; + border: 4px solid white; } + +
+ STRICT DEBUG PANEL
+ Ads Found:
+ Viewport: ?
+
+
+ + + +
+
+
+ +
-

Order Status

-

Outlet #

+

#

-
-

- Now Serving -

-
- -
No orders ready
-
+

Ready

+
...
-
-

- Preparing -

-
- -
No orders preparing
-
-
- -
- +

Preparing

+
...
+
-
- - \ No newline at end of file diff --git a/api/kitchen.php b/api/kitchen.php index 12da0af..9c1f795 100644 --- a/api/kitchen.php +++ b/api/kitchen.php @@ -57,8 +57,29 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { } if ($_SERVER['REQUEST_METHOD'] === 'POST') { - // Update order status + // Update order status or bulk action $data = json_decode(file_get_contents('php://input'), true); + $action = $data['action'] ?? null; + $outletId = $data['outlet_id'] ?? null; + + if ($action === 'serve_all') { + if (!$outletId) { + http_response_code(400); + echo json_encode(['error' => 'Missing outlet_id for serve_all']); + exit; + } + + try { + $stmt = $pdo->prepare("UPDATE orders SET status = 'completed' WHERE outlet_id = ? AND status IN ('pending', 'preparing', 'ready')"); + $stmt->execute([$outletId]); + echo json_encode(['success' => true]); + } catch (Exception $e) { + http_response_code(500); + echo json_encode(['error' => $e->getMessage()]); + } + exit; + } + $orderId = $data['order_id'] ?? null; $newStatus = $data['status'] ?? null; diff --git a/assets/images/ads/ad_699bf2574849b.jpeg b/assets/images/ads/ad_699bf2574849b.jpeg new file mode 100644 index 0000000..886ca37 Binary files /dev/null and b/assets/images/ads/ad_699bf2574849b.jpeg differ diff --git a/assets/images/ads/ad_699bf270e9a69.jpeg b/assets/images/ads/ad_699bf270e9a69.jpeg new file mode 100644 index 0000000..d2f8491 Binary files /dev/null and b/assets/images/ads/ad_699bf270e9a69.jpeg differ diff --git a/assets/images/ads/ad_699bf288c457c.jpg b/assets/images/ads/ad_699bf288c457c.jpg new file mode 100644 index 0000000..4601236 Binary files /dev/null and b/assets/images/ads/ad_699bf288c457c.jpg differ diff --git a/kitchen.php b/kitchen.php index 707c081..65f57d0 100644 --- a/kitchen.php +++ b/kitchen.php @@ -101,6 +101,10 @@ if (!has_permission('all')) { + +