| | <!DOCTYPE html> |
| | <html lang="en"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>Self-Service Ordering</title> |
| | <script src="https://cdn.tailwindcss.com"></script> |
| | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| | <style> |
| | .category-btn.active { |
| | background-color: #3b82f6; |
| | color: white; |
| | } |
| | .item-btn:hover { |
| | transform: scale(1.02); |
| | } |
| | .cart-item:hover { |
| | background-color: #f3f4f6; |
| | } |
| | .num-pad-btn:active { |
| | transform: scale(0.95); |
| | } |
| | @media (max-width: 640px) { |
| | .category-scroll { |
| | overflow-x: auto; |
| | white-space: nowrap; |
| | padding-bottom: 8px; |
| | } |
| | .category-scroll::-webkit-scrollbar { |
| | height: 4px; |
| | } |
| | } |
| | </style> |
| | </head> |
| | <body class="bg-gray-100 font-sans"> |
| | <div class="flex flex-col h-screen max-w-md mx-auto bg-white shadow-lg"> |
| | |
| | <header class="bg-blue-600 text-white p-4 shadow-md"> |
| | <div class="flex justify-between items-center"> |
| | <h1 class="text-xl font-bold">Self-Service Ordering</h1> |
| | <div class="flex items-center space-x-2"> |
| | <span class="text-sm">Table #<span id="table-number">5</span></span> |
| | </div> |
| | </div> |
| | </header> |
| |
|
| | |
| | <div class="flex-1 overflow-hidden flex flex-col"> |
| | |
| | <div class="p-2 bg-gray-200 category-scroll"> |
| | <div class="inline-flex space-x-2"> |
| | <button class="category-btn active px-3 py-2 rounded-lg bg-blue-500 text-white text-sm" data-category="all"> |
| | All |
| | </button> |
| | <button class="category-btn px-3 py-2 rounded-lg bg-white hover:bg-gray-300 text-sm" data-category="food"> |
| | Food |
| | </button> |
| | <button class="category-btn px-3 py-2 rounded-lg bg-white hover:bg-gray-300 text-sm" data-category="drinks"> |
| | Drinks |
| | </button> |
| | <button class="category-btn px-3 py-2 rounded-lg bg-white hover:bg-gray-300 text-sm" data-category="snacks"> |
| | Snacks |
| | </button> |
| | <button class="category-btn px-3 py-2 rounded-lg bg-white hover:bg-gray-300 text-sm" data-category="alcohol"> |
| | Beverages |
| | </button> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="flex-1 p-2 overflow-y-auto grid grid-cols-2 gap-2" id="product-grid"> |
| | |
| | </div> |
| |
|
| | |
| | <div class="sticky bottom-0 bg-white border-t border-gray-300"> |
| | <div class="flex justify-between items-center p-2"> |
| | <div class="text-sm"> |
| | <span id="cart-count">0</span> item(s) | ₱<span id="cart-total">0.00</span> |
| | </div> |
| | <button class="bg-green-500 hover:bg-green-600 text-white px-4 py-2 rounded-lg text-sm" id="view-cart"> |
| | <i class="fas fa-shopping-cart mr-1"></i> View Cart |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden" id="cart-modal"> |
| | <div class="bg-white rounded-t-lg w-full max-w-md absolute bottom-0 max-h-[80vh] flex flex-col"> |
| | <div class="p-4 border-b border-gray-300 flex justify-between items-center sticky top-0 bg-white"> |
| | <h2 class="text-lg font-bold">Your Order</h2> |
| | <button class="text-gray-500" id="close-cart"> |
| | <i class="fas fa-times"></i> |
| | </button> |
| | </div> |
| | <div class="flex-1 overflow-y-auto p-4" id="cart-items"> |
| | |
| | <div class="text-center text-gray-500 py-10" id="empty-cart-message"> |
| | <i class="fas fa-shopping-cart text-4xl mb-2"></i> |
| | <p>Your cart is empty</p> |
| | <p class="text-sm">Select items to add to your order</p> |
| | </div> |
| | </div> |
| | <div class="p-4 bg-white border-t border-gray-300"> |
| | <div class="flex justify-between mb-1 text-sm"> |
| | <span>Subtotal:</span> |
| | <span id="subtotal">₱0.00</span> |
| | </div> |
| | <div class="flex justify-between mb-1 text-sm"> |
| | <span>Tax (10%):</span> |
| | <span id="tax">₱0.00</span> |
| | </div> |
| | <div class="flex justify-between font-bold mt-2"> |
| | <span>TOTAL:</span> |
| | <span id="total">₱0.00</span> |
| | </div> |
| | <div class="grid grid-cols-2 gap-2 mt-4"> |
| | <button class="bg-gray-200 hover:bg-gray-300 py-2 rounded-lg text-sm" id="keep-shopping"> |
| | Keep Shopping |
| | </button> |
| | <button class="bg-blue-500 hover:bg-blue-600 text-white py-2 rounded-lg text-sm" id="proceed-payment"> |
| | Checkout |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden" id="table-modal"> |
| | <div class="bg-white rounded-lg p-6 w-5/6 max-w-sm"> |
| | <h2 class="text-lg font-bold mb-4">Select Your Table</h2> |
| | <div class="grid grid-cols-4 gap-2"> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="1">1</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="2">2</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="3">3</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="4">4</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="5">5</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="6">6</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="7">7</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="8">8</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="9">9</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="10">10</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="11">11</button> |
| | <button class="table-btn bg-gray-200 hover:bg-gray-300 py-3 rounded" data-table="12">12</button> |
| | </div> |
| | <div class="mt-4 flex justify-center"> |
| | <button class="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-lg text-sm" id="confirm-table"> |
| | Confirm |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden" id="payment-modal"> |
| | <div class="bg-white rounded-lg p-6 w-5/6 max-w-sm"> |
| | <h2 class="text-lg font-bold mb-4">Payment</h2> |
| | <div class="mb-4"> |
| | <div class="flex justify-between mb-1"> |
| | <span>Total:</span> |
| | <span id="payment-total">₱0.00</span> |
| | </div> |
| | <div class="mb-3"> |
| | <label class="block text-gray-700 mb-1 text-sm">Payment Method</label> |
| | <select class="w-full p-2 border rounded text-sm" id="payment-method"> |
| | <option value="cash">Cash</option> |
| | <option value="card">Credit/Debit Card</option> |
| | <option value="mobile">Mobile Payment</option> |
| | </select> |
| | </div> |
| | <div class="mb-3" id="cash-payment"> |
| | <label class="block text-gray-700 mb-1 text-sm">Amount Received</label> |
| | <input type="number" class="w-full p-2 border rounded text-sm" id="amount-received"> |
| | <div class="grid grid-cols-3 gap-2 mt-2" id="payment-keypad"> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">1</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">2</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">3</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">4</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">5</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">6</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">7</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">8</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">9</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">.</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded">0</button> |
| | <button class="num-pad-btn bg-gray-200 hover:bg-gray-300 py-2 rounded"> |
| | <i class="fas fa-backspace"></i> |
| | </button> |
| | </div> |
| | </div> |
| | <div class="hidden" id="change-display"> |
| | <div class="flex justify-between"> |
| | <span>Change:</span> |
| | <span id="change-amount">₱0.00</span> |
| | </div> |
| | </div> |
| | </div> |
| | <div class="flex space-x-2"> |
| | <button class="flex-1 bg-gray-500 hover:bg-gray-600 text-white py-2 rounded-lg text-sm" id="cancel-payment"> |
| | Cancel |
| | </button> |
| | <button class="flex-1 bg-green-500 hover:bg-green-600 text-white py-2 rounded-lg text-sm" id="complete-payment"> |
| | Pay Now |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | |
| | <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden" id="confirmation-modal"> |
| | <div class="bg-white rounded-lg p-6 w-5/6 max-w-sm text-center"> |
| | <div class="text-green-500 text-5xl mb-4"> |
| | <i class="fas fa-check-circle"></i> |
| | </div> |
| | <h2 class="text-xl font-bold mb-2">Order Placed Successfully!</h2> |
| | <p class="text-gray-600 mb-4">Your order #<span id="order-number">123</span> has been received.</p> |
| | <p class="text-sm text-gray-500 mb-4">Estimated preparation time: 15-20 minutes</p> |
| | <button class="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-lg w-full" id="new-order"> |
| | Start New Order |
| | </button> |
| | </div> |
| | </div> |
| | </div> |
| |
|
| | <script> |
| | |
| | const products = [ |
| | { id: 1, name: "Cheeseburger", price: 5.99, category: "food" }, |
| | { id: 2, name: "Pepperoni Pizza", price: 8.99, category: "food" }, |
| | { id: 3, name: "French Fries", price: 2.99, category: "food" }, |
| | { id: 4, name: "Soda", price: 1.50, category: "drinks" }, |
| | { id: 5, name: "Bottled Water", price: 1.00, category: "drinks" }, |
| | { id: 6, name: "Orange Juice", price: 2.50, category: "drinks" }, |
| | { id: 7, name: "Potato Chips", price: 1.25, category: "snacks" }, |
| | { id: 8, name: "Chocolate Bar", price: 1.00, category: "snacks" }, |
| | { id: 9, name: "Craft Beer", price: 3.50, category: "alcohol" }, |
| | { id: 10, name: "House Wine", price: 5.00, category: "alcohol" }, |
| | { id: 11, name: "Garden Salad", price: 4.50, category: "food" }, |
| | { id: 12, name: "Coffee", price: 2.00, category: "drinks" } |
| | ]; |
| | |
| | |
| | let cart = []; |
| | let currentTable = 5; |
| | let orderNumber = Math.floor(Math.random() * 9000) + 1000; |
| | |
| | |
| | const productGrid = document.getElementById('product-grid'); |
| | const cartItemsContainer = document.getElementById('cart-items'); |
| | const emptyCartMessage = document.getElementById('empty-cart-message'); |
| | const subtotalElement = document.getElementById('subtotal'); |
| | const taxElement = document.getElementById('tax'); |
| | const totalElement = document.getElementById('total'); |
| | const cartTotalElement = document.getElementById('cart-total'); |
| | const cartCountElement = document.getElementById('cart-count'); |
| | const categoryButtons = document.querySelectorAll('.category-btn'); |
| | const tableNumberElement = document.getElementById('table-number'); |
| | |
| | |
| | function init() { |
| | renderProducts('all'); |
| | updateTableNumber(); |
| | |
| | |
| | document.getElementById('table-modal').classList.remove('hidden'); |
| | } |
| | |
| | |
| | function renderProducts(category) { |
| | productGrid.innerHTML = ''; |
| | |
| | const filteredProducts = category === 'all' |
| | ? products |
| | : products.filter(product => product.category === category); |
| | |
| | filteredProducts.forEach(product => { |
| | const productBtn = document.createElement('div'); |
| | productBtn.className = 'item-btn bg-white p-3 rounded-lg shadow-sm border border-gray-200 flex flex-col items-center'; |
| | productBtn.dataset.id = product.id; |
| | |
| | productBtn.innerHTML = ` |
| | <div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mb-2 overflow-hidden"> |
| | ${product.image ? `<img src="${product.image}" class="w-full h-full object-cover">` : ` |
| | <i class="fas ${getProductIcon(product.category)} text-blue-500"></i>`} |
| | </div> |
| | <span class="font-semibold text-sm text-center">${product.name}</span> |
| | <span class="text-blue-600 text-sm">₱${product.price.toFixed(2)}</span> |
| | `; |
| | |
| | productBtn.addEventListener('click', () => addToCart(product.id)); |
| | productGrid.appendChild(productBtn); |
| | }); |
| | } |
| | |
| | |
| | function getProductIcon(category) { |
| | switch(category) { |
| | case 'food': return 'fa-utensils'; |
| | case 'drinks': return 'fa-glass-whiskey'; |
| | case 'snacks': return 'fa-cookie'; |
| | case 'alcohol': return 'fa-wine-glass-alt'; |
| | default: return 'fa-shopping-bag'; |
| | } |
| | } |
| | |
| | |
| | function addToCart(productId) { |
| | const product = products.find(p => p.id === productId); |
| | const existingItem = cart.find(item => item.id === productId); |
| | |
| | if (existingItem) { |
| | existingItem.quantity++; |
| | } else { |
| | cart.push({ |
| | id: product.id, |
| | name: product.name, |
| | price: product.price, |
| | quantity: 1 |
| | }); |
| | } |
| | |
| | updateCartDisplay(); |
| | showAddedToCartFeedback(product.name); |
| | } |
| | |
| | |
| | function showAddedToCartFeedback(productName) { |
| | const feedback = document.createElement('div'); |
| | feedback.className = 'fixed bottom-20 left-1/2 transform -translate-x-1/2 bg-green-500 text-white px-4 py-2 rounded-lg shadow-lg z-50 animate-fade'; |
| | feedback.innerHTML = `Added ${productName} to cart`; |
| | document.body.appendChild(feedback); |
| | |
| | setTimeout(() => { |
| | feedback.classList.add('opacity-0', 'transition-opacity', 'duration-300'); |
| | setTimeout(() => feedback.remove(), 300); |
| | }, 1500); |
| | } |
| | |
| | |
| | function updateCartMiniDisplay() { |
| | const itemCount = cart.reduce((sum, item) => sum + item.quantity, 0); |
| | const total = cart.reduce((sum, item) => sum + (item.price * item.quantity), 0); |
| | |
| | cartCountElement.textContent = itemCount; |
| | cartTotalElement.textContent = total.toFixed(2); |
| | } |
| | |
| | |
| | function renderCart() { |
| | if (cart.length === 0) { |
| | emptyCartMessage.classList.remove('hidden'); |
| | cartItemsContainer.innerHTML = ''; |
| | return; |
| | } |
| | |
| | emptyCartMessage.classList.add('hidden'); |
| | cartItemsContainer.innerHTML = ''; |
| | |
| | cart.forEach(item => { |
| | const cartItem = document.createElement('div'); |
| | cartItem.className = 'cart-item flex justify-between items-center p-3 mb-2 bg-white rounded-lg shadow-sm'; |
| | cartItem.innerHTML = ` |
| | <div class="flex-1"> |
| | <div class="font-semibold text-sm">${item.name}</div> |
| | <div class="text-xs text-gray-500">₱${item.price.toFixed(2)} each</div> |
| | </div> |
| | <div class="flex items-center"> |
| | <button class="qty-btn minus w-6 h-6 rounded-full bg-gray-200 flex items-center justify-center text-xs" data-id="${item.id}"> |
| | <i class="fas fa-minus"></i> |
| | </button> |
| | <span class="mx-2 w-6 text-center text-sm">${item.quantity}</span> |
| | <button class="qty-btn plus w-6 h-6 rounded-full bg-gray-200 flex items-center justify-center text-xs" data-id="${item.id}"> |
| | <i class="fas fa-plus"></i> |
| | </button> |
| | <div class="ml-3 w-16 text-right text-sm font-semibold">₱${(item.price * item.quantity).toFixed(2)}</div> |
| | <button class="delete-btn ml-2 w-6 h-6 rounded-full bg-red-100 text-red-600 flex items-center justify-center text-xs" data-id="${item.id}"> |
| | <i class="fas fa-times"></i> |
| | </button> |
| | </div> |
| | `; |
| | cartItemsContainer.appendChild(cartItem); |
| | }); |
| | |
| | updateCartTotals(); |
| | } |
| | |
| | |
| | function updateCartTotals() { |
| | const subtotal = cart.reduce((sum, item) => sum + (item.price * item.quantity), 0); |
| | const tax = subtotal * 0.10; |
| | const total = subtotal + tax; |
| | |
| | subtotalElement.textContent = `₱${subtotal.toFixed(2)}`; |
| | taxElement.textContent = `₱${tax.toFixed(2)}`; |
| | totalElement.textContent = `₱${total.toFixed(2)}`; |
| | } |
| | |
| | |
| | function updateCartDisplay() { |
| | updateCartMiniDisplay(); |
| | renderCart(); |
| | updateCartTotals(); |
| | } |
| | |
| | |
| | function updateTableNumber() { |
| | tableNumberElement.textContent = currentTable; |
| | } |
| | |
| | |
| | categoryButtons.forEach(btn => { |
| | btn.addEventListener('click', function() { |
| | categoryButtons.forEach(b => b.classList.remove('active', 'bg-blue-500', 'text-white')); |
| | this.classList.add('active', 'bg-blue-500', 'text-white'); |
| | renderProducts(this.getAttribute('data-category')); |
| | }); |
| | }); |
| | |
| | |
| | document.getElementById('view-cart').addEventListener('click', function() { |
| | document.getElementById('cart-modal').classList.remove('hidden'); |
| | }); |
| | |
| | |
| | document.getElementById('close-cart').addEventListener('click', function() { |
| | document.getElementById('cart-modal').classList.add('hidden'); |
| | }); |
| | |
| | |
| | document.getElementById('keep-shopping').addEventListener('click', function() { |
| | document.getElementById('cart-modal').classList.add('hidden'); |
| | }); |
| | |
| | |
| | document.getElementById('proceed-payment').addEventListener('click', function() { |
| | if (cart.length === 0) return; |
| | |
| | document.getElementById('payment-total').textContent = totalElement.textContent; |
| | document.getElementById('cart-modal').classList.add('hidden'); |
| | document.getElementById('payment-modal').classList.remove('hidden'); |
| | }); |
| | |
| | |
| | document.getElementById('cancel-payment').addEventListener('click', function() { |
| | document.getElementById('payment-modal').classList.add('hidden'); |
| | }); |
| | |
| | |
| | document.getElementById('complete-payment').addEventListener('click', function() { |
| | const paymentMethod = document.getElementById('payment-method').value; |
| | const amountReceived = parseFloat(document.getElementById('amount-received').value) || 0; |
| | const total = parseFloat(totalElement.textContent.substring(1)); |
| | |
| | |
| | if (paymentMethod === 'cash' && amountReceived < total) { |
| | alert('Amount received is less than total amount'); |
| | return; |
| | } |
| | |
| | |
| | processPayment(); |
| | }); |
| | |
| | |
| | function processPayment() { |
| | |
| | document.getElementById('payment-modal').classList.add('hidden'); |
| | document.getElementById('order-number').textContent = orderNumber++; |
| | document.getElementById('confirmation-modal').classList.remove('hidden'); |
| | |
| | |
| | cart = []; |
| | updateCartDisplay(); |
| | } |
| | |
| | |
| | document.getElementById('new-order').addEventListener('click', function() { |
| | document.getElementById('confirmation-modal').classList.add('hidden'); |
| | document.getElementById('table-modal').classList.remove('hidden'); |
| | }); |
| | |
| | |
| | document.querySelectorAll('.table-btn').forEach(btn => { |
| | btn.addEventListener('click', function() { |
| | |
| | document.querySelectorAll('.table-btn').forEach(b => |
| | b.classList.remove('bg-blue-500', 'text-white')); |
| | this.classList.add('bg-blue-500', 'text-white'); |
| | currentTable = parseInt(this.dataset.table); |
| | }); |
| | }); |
| | |
| | |
| | document.getElementById('confirm-table').addEventListener('click', function() { |
| | document.getElementById('table-modal').classList.add('hidden'); |
| | updateTableNumber(); |
| | }); |
| | |
| | |
| | document.addEventListener('click', function(e) { |
| | if (e.target.closest('.qty-btn')) { |
| | const btn = e.target.closest('.qty-btn'); |
| | const itemId = parseInt(btn.getAttribute('data-id')); |
| | const item = cart.find(i => i.id === itemId); |
| | |
| | if (btn.classList.contains('minus')) { |
| | if (item.quantity > 1) { |
| | item.quantity--; |
| | } else { |
| | cart = cart.filter(i => i.id !== itemId); |
| | } |
| | } else if (btn.classList.contains('plus')) { |
| | item.quantity++; |
| | } |
| | |
| | updateCartDisplay(); |
| | } |
| | |
| | if (e.target.closest('.delete-btn')) { |
| | const itemId = parseInt(e.target.closest('.delete-btn').getAttribute('data-id')); |
| | cart = cart.filter(i => i.id !== itemId); |
| | updateCartDisplay(); |
| | } |
| | }); |
| | |
| | |
| | document.querySelectorAll('#payment-keypad .num-pad-btn').forEach(btn => { |
| | btn.addEventListener('click', function() { |
| | const input = document.getElementById('amount-received'); |
| | let currentValue = input.value || ''; |
| | |
| | if (this.textContent.trim() === '<i class="fas fa-backspace"></i>') { |
| | input.value = currentValue.slice(0, -1); |
| | } else if (this.textContent.trim() === '.' && currentValue.includes('.')) { |
| | return; |
| | } else { |
| | input.value = currentValue + this.textContent.trim(); |
| | } |
| | |
| | |
| | const amountReceived = parseFloat(input.value) || 0; |
| | const total = parseFloat(totalElement.textContent.substring(1)); |
| | |
| | if (amountReceived >= total) { |
| | const change = amountReceived - total; |
| | document.getElementById('change-amount').textContent = `₱${change.toFixed(2)}`; |
| | document.getElementById('change-display').classList.remove('hidden'); |
| | } else { |
| | document.getElementById('change-display').classList.add('hidden'); |
| | } |
| | }); |
| | }); |
| | |
| | |
| | document.getElementById('payment-method').addEventListener('change', function() { |
| | if (this.value === 'cash') { |
| | document.getElementById('cash-payment').classList.remove('hidden'); |
| | } else { |
| | document.getElementById('cash-payment').classList.add('hidden'); |
| | document.getElementById('change-display').classList.add('hidden'); |
| | } |
| | }); |
| | |
| | |
| | window.addEventListener('DOMContentLoaded', init); |
| | </script> |
| | </body> |
| | </html> |
| | |