diff --git a/js/replit-webflow-compat.js b/js/replit-webflow-compat.js index 7949b97..ddec5f9 100644 --- a/js/replit-webflow-compat.js +++ b/js/replit-webflow-compat.js @@ -10,4 +10,53 @@ event.preventDefault(); } }); + + function simplifyMenuBoxes() { + const path = window.location.pathname; + const isMainPage = path === '/' || path.endsWith('/index.html'); + const isOrderPage = path.endsWith('/order.html'); + if (!isMainPage && !isOrderPage) return; + + const limit = isOrderPage ? 8 : 4; + const tabs = document.querySelector('.w-tabs'); + if (!tabs) return; + + const tabMenu = tabs.querySelector('.tab-menu-round'); + if (tabMenu) tabMenu.remove(); + + const items = Array.from(tabs.querySelectorAll('.menu-item')); + const selectedItems = items.slice(0, limit); + const firstPane = tabs.querySelector('.w-tab-pane'); + const firstList = firstPane && firstPane.querySelector('.w-dyn-items'); + if (!firstPane || !firstList) return; + + tabs.querySelectorAll('.w-tab-pane').forEach((pane, index) => { + if (index === 0) { + pane.classList.add('w--tab-active'); + pane.style.display = 'block'; + } else { + pane.remove(); + } + }); + + firstList.innerHTML = ''; + selectedItems.forEach((item, index) => { + item.querySelectorAll('.food-image-square, .paragraph').forEach(element => element.remove()); + item.querySelectorAll('.quantity').forEach(element => { + element.type = 'hidden'; + }); + const title = item.querySelector('h6'); + if (title) title.textContent = `box${index + 1}`; + item.querySelectorAll('a[href]').forEach(link => link.removeAttribute('href')); + firstList.appendChild(item); + }); + + firstPane.querySelectorAll('.pagination').forEach(element => element.remove()); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', simplifyMenuBoxes); + } else { + simplifyMenuBoxes(); + } })(); \ No newline at end of file diff --git a/order.html b/order.html index 0826178..329e0dc 100644 --- a/order.html +++ b/order.html @@ -1358,69 +1358,39 @@ } }); - // Fallback products for when API fails due to security restrictions function showFallbackProducts() { - console.log('Showing fallback products due to security restrictions'); - const fallbackProducts = [ - { - _id: '1', - name: 'Classic Burger', - description: 'Juicy beef patty with lettuce, tomato, onion, and our special sauce', - price: 12.99, - image: 'https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=300' - }, - { - _id: '2', - name: 'Margherita Pizza', - description: 'Fresh mozzarella, tomato sauce, and basil on our signature crust', - price: 15.99, - image: 'https://images.unsplash.com/photo-1513104890138-7c749659a591?w=300' - }, - { - _id: '3', - name: 'Caesar Salad', - description: 'Crisp romaine lettuce with parmesan cheese, croutons, and Caesar dressing', - price: 8.99, - image: 'https://images.unsplash.com/photo-1550304943-4f24f54ddde9?w=300' - } - ]; - - displayProducts(fallbackProducts); - - // Show security notice - const notice = document.createElement('div'); - notice.style.cssText = 'background: #f44336; color: white; padding: 15px; margin: 20px; border-radius: 5px; text-align: center;'; - notice.innerHTML = '🔒 API blocked by browser security. Showing demo products. In production, use HTTPS to enable full functionality.'; - document.querySelector('.container').prepend(notice); + displayProducts([]); } - // Function to display products in the grid function displayProducts(products) { - // Find the active tab pane (Burgers tab is currently active) const productGrid = document.querySelector('.w-tab-pane.w--tab-active .order-collection'); if (!productGrid) { console.error('Active tab product grid not found'); return; } - // Clear existing products productGrid.innerHTML = ''; - products.forEach(product => { + const boxes = Array.from({ length: 8 }, (_, index) => { + const product = products[index] || {}; + return { + _id: product._id || `box-${index + 1}`, + name: `box${index + 1}`, + price: Number(product.price || 0) + }; + }); + + boxes.forEach(product => { const productHTML = `