@extends('layouts.app') @section('title', 'Quadras — '.config('app.name')) {{-- Listagem de quadras. Segue o PADRÃO DE LISTAGEM de users/index.blade.php: page-head → busca no cabeçalho do card → tabela → paginação. --}} @section('content')

Quadras

As quadras da sua arena.

@can('create', App\Models\Court::class) Nova quadra @endcan
@include('partials.status')
@if (filled($search)) @endif
@forelse ($courts as $court) {{-- Modalidades como badges. `modalities` vem eager-loaded do controller (sem N+1). Sem nenhuma, um traço em vez de espaço vazio. --}} {{-- Planos como badges (só o nome), eager-loaded do controller (sem N+1). Sem nenhum, um traço. --}} {{-- Situação (active) e Manutenção são campos distintos: uma quadra inativa some do catálogo esteja ou não em manutenção. Ambos viram toggle que salva na hora — `onchange` submete o form, e o par oculto+checkbox faz "desmarcado" chegar como 0. Quem não pode editar vê só um badge. --}} {{-- OS TOGGLES DE SITUAÇÃO E MANUTENÇÃO FICAM ONDE ESTÃO, nas colunas acima. Eles não são "ações da linha": são o ESTADO da quadra, que precisa ser legível de relance na tabela inteira — nunca juntá-los a editar/apagar nesta coluna. --}} @empty @endforelse
Nome Modalidades Planos Ativa Manutenção Ações
@if (filled($court->color)) @endif {{ $court->name }} @if (filled($court->description)) {{ $court->description }} @endif @forelse ($court->modalities as $modality) {{ $modality->name }} @empty @endforelse @forelse ($court->plans as $plan) {{ $plan->name }} @empty @endforelse @can('update', $court)
@csrf active) onchange="this.form.submit()" aria-label="Situação de {{ $court->name }}">
@else {{ $court->active ? 'Ativa' : 'Inativa' }} @endcan
@can('update', $court)
@csrf maintenance) onchange="this.form.submit()" aria-label="Manutenção de {{ $court->name }}">
@else {{ $court->maintenance ? 'Em manutenção' : 'Disponível' }} @endcan
@include('partials.row-actions', [ 'label' => $court->name, 'editUrl' => auth()->user()->can('update', $court) ? route('courts.edit', $court) : null, 'deleteUrl' => auth()->user()->can('delete', $court) ? route('courts.destroy', $court) : null, // Coluna de ações sempre visível: a tabela é // curta e esconder duas ações atrás do hover // custa mais do que economiza. 'inline' => true, ])
Nenhuma quadra cadastrada ainda.
{{ $courts->links() }}
@endsection