{{-- A GRADE DE COMANDAS, isolada da página. A busca ao vivo (live-search.js) pede a mesma URL com o cabeçalho de AJAX e o OrderController devolve só este trecho — sem layout, sem menu e sem o formulário que disparou a busca. Devolver a página inteira e recortá-la no cliente desperdiçaria a renderização de tudo o que não muda. O MODAL DE NOVO PEDIDO NÃO ENTRA AQUI, e é importante que não entre: ele é substituído junto com o conteúdo a cada tecla, e o Tom Select ligado ao select de clientes morreria com os nós antigos. Ele fica na index, fora do container que a busca troca. --}} {{-- `row-cols-*` em vez de larguras fixas por card: a grade se reorganiza sozinha de 1 até 4 colunas conforme a tela, e o balcão costuma rodar em monitor pequeno. O `lg-3` no meio do caminho não é enfeite: pular de 2 para 4 direto espremeria o nome do cliente em telas de notebook, que é o que o card existe para mostrar de relance. `h-100` no card mantém a mesma altura na linha mesmo quando uma comanda tem mais itens que a vizinha. --}} {{-- `data-card-nav` marca a grade que as setas percorrem, e `data-card-nav-item` marca cada CÉLULA (o `.col`, não o botão). O card-nav.js descobre quantas colunas existem comparando o topo das células — que é exato porque a `.row` as alinha — em vez de reimplementar os breakpoints do `row-cols-*` acima. Ver o cabeçalho do módulo. --}}
@forelse ($orders as $order) {{-- ATALHO PELA POSIÇÃO NA GRADE, não pelo id da comanda: quem opera o balcão lê "a terceira" na tela, e não decora que a comanda da mesa 3 é a #4187. A tecla é a ordem em que o card aparece, e por isso o valor sai do `$loop` e não do banco. A FILEIRA DO TECLADO É 1,2,…,9,0 — o zero fecha a sequência como DÉCIMO, que é a ordem em que a mão o encontra. Daí o `% 10`. SOBRAM DOIS CARDS SEM TECLA: a página traz 12 (ver o `paginate(12)` no OrderController, escolhido porque 12 divide certo nas grades de 1, 2, 3 e 4 colunas) e a fileira só tem 10 dígitos. Os dois últimos continuam abrindo por clique e por Tab — e não recebem selo, porque um selo que não corresponde a tecla nenhuma seria pior que selo nenhum. Reduzir a página para 10 alinharia grade e teclado, ao custo de uma última fileira quebrada em telas de 4 colunas; a troca é uma decisão de produto, não uma consequência do atalho. --}} @php($shortcut = $loop->iteration <= 10 ? 'Shift+'.($loop->iteration % 10) : null)
{{-- O CARD INTEIRO ABRE O DETALHE. Quem clica não mira num link pequeno: mira na comanda. Por isso o gatilho é um ` {{-- SÓ A DATA, sem hora: o card responde "de quando é esta comanda", e o minuto da abertura só interessa na conferência — que acontece no modal, onde a hora aparece por extenso. Fica FORA do

de propósito: o nome é o título do card, e um leitor de tela que anunciasse "Fulano 04/08/2026" como cabeçalho leria uma coisa que ninguém chamou assim. O

{{-- SÓ OS NOMES dos itens: o card é o índice do que o cliente pediu, e quantidade, subtotal e total pertencem à conferência — que acontece no modal. Duas colunas de números aqui fariam a grade parecer um extrato que ninguém lê de relance. --}}
@empty
@if (filled($search)) Nenhuma comanda {{ $archived ? 'no histórico ' : '' }}encontrada para "{{ $search }}". @elseif ($archived) {{-- Diz o CRITÉRIO, e não só "nada aqui": sem isso, o operador que abriu o Histórico no primeiro mês de uso concluiria que a aba está quebrada. --}} Nenhuma comanda no histórico. Elas vêm para cá assim que a conta é fechada — paga no balcão, ou com acerto combinado para outro dia. @else Nenhuma comanda aberta ainda. @endif
@endforelse {{-- Os detalhes ficam FORA da `.row`: dentro de um `.col` o backdrop do Bootstrap seria recortado pelo card em vez de cobrir a página. Um modal por comanda da página atual — a paginação já limita quantos são. --}} @foreach ($orders as $order) @include('orders._detail', ['order' => $order]) @endforeach {{-- `data-live-search-page` marca a região cujos links o live-search.js deve interceptar. Sem ela, trocar de página recarregaria a tela inteira e a busca ao vivo perderia o sentido a partir da segunda página. `data-pager` liga o "+" e o "−" do teclado (ver pager.js). Fica AQUI, e não na view de paginação: aquela view é compartilhada por toda a aplicação, e um atributo lá dentro ligaria a tecla em todas as listagens de uma vez. O módulo acha os links pelo `rel="prev"`/`rel="next"` que o Laravel já escreve, então nada precisa ser acrescentado aos links em si. --}}
{{ $orders->links() }} {{-- A dica só aparece quando HÁ mais de uma página: anunciar uma tecla que não tem para onde ir ensinaria errado logo no primeiro uso, que é justamente quando a arena ainda tem poucas comandas. --}} @if ($orders->hasPages())

página anterior + próxima página

@endif