<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap">
    <title>Cajero - Tacos Nava</title>
    <style>
        /* Estilos similares a manager.html, puedes copiarlos desde allí */
         table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }

        th, td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }

        #cajeroContent {
    flex: 1; /* Expandir para ocupar el espacio disponible */
    /* ... otros estilos ... */
}



        th {
            background-color: #f2f2f2;
        }
        body {
    min-height: 100vh; /* 100% de la altura del viewport */
    display: flex;
    flex-direction: column; /* Para que el footer se quede abajo */
    /* ... otros estilos ... */
    font-family: 'Inter', sans-serif;  /* Usar la fuente Inter */

}


.footer {
    margin-top: auto; /* Para que se quede abajo */
     text-align: center;
        font-size: 0.9em;
        padding: 15px;
        background-color: #343a40; /* Gris oscuro */
        color: white;

}



    </style>
</head>
<body>

    <div id="cajeroContent">
        <h2>Pedidos</h2>
        <div id="pedidosCajero"></div>  </div>

    <div class="footer">
        <p>INOVAT TECH GROUP - Software Alx, Versión 1.0</p>
    </div>

    <script>

function updatePedidosCajero() {
    const pedidosCajeroDiv = document.getElementById('pedidosCajero');
    pedidosCajeroDiv.innerHTML = ''; // Limpiar el contenedor

    const storedOrders = JSON.parse(localStorage.getItem('orders')) || [];


    if (storedOrders.length === 0) {
        pedidosCajeroDiv.innerHTML = '<p>No hay pedidos pendientes.</p>';
        return;
    }


    const ordersTable = createOrdersTable(storedOrders);
    pedidosCajeroDiv.innerHTML = ordersTable;


}


function createOrdersTable(orders)
{
                let tableHTML = '<table><thead><tr><th>Pedido</th><th>Mesa</th><th>Detalles</th><th>Total</th><th>Estado</th><th>Acciones</th></tr></thead><tbody>';

            orders.forEach((order, index) => {
                let total = 0;
                let mesa = order.length > 0 ? (order[0].mesa || "Sin Asignar") : "Sin Asignar";
                let orderDetails = "<ul>";

                order.forEach(plate => {
                    Object.entries(plate.items).forEach(([item, details]) => {
                        orderDetails += `<li>${item} x ${details.quantity} - $${(details.quantity * details.price).toFixed(2)}</li>`;
                        total += details.quantity * details.price;
                    });
                });

                orderDetails += "</ul>";
                let status = order.status || 'Pendiente';
                tableHTML += `<tr>
                    <td>${index + 1}</td>
                    <td>${mesa}</td>
                    <td>${orderDetails}</td>
                    <td>$${total.toFixed(2)}</td>
                    <td>${status}</td>

                    <td>
                    <button onclick="cobrarPedido(${index})">Cobrar</button>
                    </td>
                </tr>`;
            });


            tableHTML += `</tbody></table>`;
            return tableHTML;

}



function cobrarPedido(orderIndex) {
    const storedOrders = JSON.parse(localStorage.getItem('orders')) || [];
    const orderHistory = JSON.parse(localStorage.getItem('orderHistory')) || [];

    if (storedOrders.length > orderIndex) {
        const completedOrder = storedOrders.splice(orderIndex, 1)[0];
        completedOrder.status = 'Pagado'; // O el estado que uses para pedidos cobrados
        completedOrder.completionTime = new Date().toLocaleString();

        orderHistory.push(completedOrder);
        localStorage.setItem('orderHistory', JSON.stringify(orderHistory));
        localStorage.setItem('orders', JSON.stringify(storedOrders));
                localStorage.setItem('managerUpdate', new Date().getTime()); // Esta línea es crucial

        updatePedidosCajero();
    }
}





window.addEventListener('storage', (event) => {
            if ((event.key === 'orders' || event.key === 'orderHistory')) {
                updatePedidosCajero();
            }
        });


        setInterval(updatePedidosCajero, 5000); // Actualizar cada 5 segundos


updatePedidosCajero();


    </script>
</body>
</html>

