@include('partials.topbar')
{{-- GAUCHE : FILTRES DE LA LISTE DESTOCK --}}

{{ __('messages.FiltersForList', ['list' => $list->name]) }}

@foreach($filterDefs as $field => $def) @php $opts = $filterOptions[$field] ?? []; $value = $selected[$field] ?? null; // valeurs tapées dans les champs texte q[field] $typedValues = request()->input('q', []); $typedValue = $typedValues[$field] ?? ''; @endphp
{{-- 1) Champ texte + autocomplétion --}} @if(!empty($opts)) @foreach($opts as $val => $label) @endforeach @endif {{-- 2) UI principale du filtre --}} @switch($def['ui']) @case('radio') @foreach($opts as $val => $label) @endforeach @break @case('checkbox') @foreach($opts as $val => $label) @endforeach @break @case('buttons')
@foreach($opts as $val => $label) @endforeach
@break @default {{-- select --}} @endswitch
@endforeach
{{-- Resizer entre filtres et résultats --}}
Filtres
{{-- CENTRE : RÉSULTATS (haut) + DÉTAIL LOTS (bas) --}}
{{-- Haut : résultats par article/choix --}}

Résultats destock @if($articles->isEmpty()) Aucun résultat avec ces filtres. @else {{ $articles->count() }} combinaison(s) article/choix @endif

@if($articles->isNotEmpty()) @foreach($articles as $art) @endforeach
Article Désignation Choix Qté totale
{{ $art->article }} {{ $art->designation_article }} {{ $art->choix }} {{ $art->quantite_totale }} Détails lots
@endif
{{-- Bas : détail des lots --}}

Détail des lots @if($selectedArticle) — {{ $selectedArticle }} @if($selectedChoix) (Choix {{ $selectedChoix }}) @endif @endif

@if(!$selectedArticle)

Clique sur “Détails lots” dans la liste au-dessus.

@else @if($lots->isEmpty())

Aucun lot disponible (ou déjà dans le panier).

@else
@csrf @foreach($lots as $index => $d) {{-- champs cachés --}} @endforeach
Sel. Lot Longueur nette PU (optionnel)
{{ $d->lot }} {{ $d->longueur_net }}
@endif @endif
{{-- Resizer entre résultats et panier --}}
Résultats
{{-- DROITE : PANIER --}}
@include('cart._panel', [ 'cart' => $cart, 'articleSummary' => $articleSummary ?? null, ])