| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <script>
- import { onMount } from 'svelte';
- import OrderCard from '$lib/component/OrderCard.svelte';
- import HistoricModal from '$lib/component/HistoricModal.svelte';
- let pedidos = [];
- let mostrarHistorico = false;
- const abrirHistorico = () => {
- mostrarHistorico = true;
- };
- const fecharHistorico = () => {
- mostrarHistorico = false;
- };
- // Marca pedido como concluído (vai para o histórico)
- function handlePedidoPronto(event) {
- const pedidoAtualizado = event.detail;
- pedidos = pedidos.map(pedido =>
- pedido.mesa === pedidoAtualizado.mesa
- ? { ...pedido, status: 'concluido' }
- : pedido
- );
- }
- // Volta pedido do histórico para andamento (volta pra lista)
- function handleVoltarAndamento(event) {
- const pedidoAlvo = event.detail;
- pedidos = pedidos.map(pedido =>
- pedido.mesa === pedidoAlvo.mesa
- ? { ...pedido, status: 'andamento' }
- : pedido
- );
- }
- // ⚡ Carrega pedidos do "backend"
- onMount(async () => {
- try {
- const response = await fetch('https://counter.mixtech.dev.br/dashboard/kitchen');
- const data = await response.json();
- pedidos = data;
- } catch (error) {
- console.error('Erro ao carregar pedidos:', error);
- // Fallback local caso falhe
- pedidos = [
- { mesa: '01', itens: ['Coca', 'X-Burguer'], status: 'pendente' },
- { mesa: '02', itens: ['Água', 'Batata'], status: 'andamento' },
- { mesa: '03', itens: ['Cerveja', 'Sopa'], status: 'pendente' },
- { mesa: '04', itens: ['Suco', 'Lasanha'], status: 'concluido' }
- ];
- }
- });
- // Lista apenas pedidos não concluídos
- $: pedidosAtivos = pedidos.filter(p => p.status !== 'concluido');
- // Lista de pedidos concluídos para o histórico
- $: pedidosConcluidos = pedidos.filter(p => p.status === 'concluido');
- </script>
- <main class="p-4 bg-gray-800 rounded-md text-white relative">
- <!-- Botão para abrir histórico -->
- <div class="absolute top-4 right-4">
- <button class="text-sm underline" on:click={abrirHistorico}>
- Ver histórico
- </button>
- </div>
- <!-- Lista de pedidos ativos -->
- <div class="mt-10 space-y-4">
- {#each pedidosAtivos as pedido (pedido.mesa)}
- <OrderCard {pedido} on:pedidoPronto={handlePedidoPronto} />
- {/each}
- </div>
- <!-- Modal de histórico -->
- {#if mostrarHistorico}
- <HistoricModal
- pedidos={pedidosConcluidos}
- on:close={fecharHistorico}
- on:voltarAndamento={handleVoltarAndamento}
- />
- {/if}
- </main>
|