@php /** * O PASSO DE PRODUTOS — catálogo à esquerda, carrinho à direita. * * Extraído para um parcial porque DOIS modais o usam: o de nova comanda * (onde ele é o passo 2, depois do cliente) e o de adicionar itens a uma * comanda já aberta (onde ele é a tela inteira, porque o dono já está * definido). Duplicar o catálogo em dois arquivos faria a próxima mudança de * card de produto precisar acontecer nos dois — e a segunda seria esquecida. * * O QUE VIAJA NO POST: apenas `product_id` e `quantity` por item. O PREÇO NÃO * É ENVIADO. Os `data-order-product-price` existem só para o JavaScript somar * na tela; quem decide quanto vale cada item é o OrderController, lendo * `products.price` do banco. Se algum dia alguém acrescentar um * `` aqui, a arena passa a aceitar o preço * que o navegador mandar. * * @param \Illuminate\Support\Collection $categories categorias, para as badges de filtro * @param \Illuminate\Support\Collection $products produtos à venda * @param string $submitLabel rótulo do botão que envia */ @endphp
{{-- Catálogo, à esquerda. --}}
{{-- Badges de categoria. `flex-nowrap` + `overflow-x` na classe: com muitas categorias a faixa rola na horizontal em vez de quebrar em três linhas e empurrar a grade para fora da tela. --}}
@foreach ($categories as $category) @endforeach
@forelse ($products as $product) {{-- O card inteiro é o botão: a área de clique é a imagem toda, que é o alvo grande de que o balcão precisa. Um botão "adicionar" no rodapé exigiria mira. --}} @empty

Nenhum produto à venda. Cadastre um produto para lançar pedidos.

@endforelse
{{-- Aviso de "nenhum produto nesta categoria": o JS o mostra quando o filtro esconde tudo. Sem ele, a grade vazia pareceria travamento. --}}

Nenhum produto nesta categoria.

{{-- Carrinho, à direita. --}}