{{-- v4.22.0 §B — LA CARTE D'UN AO, ÉPURÉE (maquette validée par le gérant). Ce qui change, et pourquoi. Le bloc à deux niveaux de la v4.18.0 montrait TOUT : famille, source · type · prix, mise en ligne, ancienneté, concurrence, plus les pastilles propres à chaque liste. Le gérant, devant l'écran : « moche, pas pro ». Il a raison, et le défaut n'est pas la densité — c'est l'absence de hiérarchie : douze mentions de même poids, chacune criant aussi fort que l'objet du marché. La carte ne garde donc que ce qui sert à TRIER, dans l'ordre où on le lit : 1. les repères — la référence, l'acheteur, et à droite le délai avec son point coloré ; 2. l'objet, seul, sur deux lignes au plus : c'est lui qu'on lit ; 3. le pied — le montant estimé, l'état du bordereau en UNE mention, puis les deux gestes du triage, calés à droite. Le reste (famille, typologie, mise en ligne, concurrence) vit sur la FICHE, à un doigt. Rien n'est perdu : c'est un déplacement, pas une amputation. ⚠️ Aucun `` ici : Filament enveloppe la carte entière dans le lien de la fiche, et un lien dans un lien fait refermer le premier par l'analyseur du navigateur. Les liens Drive et Portail sont des ACTIONS de ligne, rendues hors du lien. Rien n'est calculé ici : {@see \App\Support\Ao\LigneAo} répond, et chacune de ses réponses n'est calculée qu'une fois par fiche. --}} @php $ligne = $layout->ligne(); $couleurEcheance = $ligne?->couleurEcheance(); $dateLimite = $ligne?->dateLimite(); $estimation = $ligne?->estimation(); @endphp @if ($ligne !== null) {{-- v4.20.1 §C — Le fond de la carte suit la BASCULE OPTIMISTE du bouton « vu », à l'instant du clic : c'est la même information que l'icône, et une carte qui garderait son fond blanc le temps d'un aller-retour démentirait le geste qu'on vient de faire. Le bouton dispatche, la carte écoute — elle est son ancêtre dans le DOM. La clé porte l'état, comme celle du bouton : le morphage de Livewire ne réévalue pas un `x-data` déjà monté, donc un « vu » posé AILLEURS (une action de lot, un autre onglet) ne se verrait jamais ici. Clé changée, élément remplacé, Alpine repart de la base. --}}
$ligne->estVu()]) > {{-- Les repères : la référence, un point, l'acheteur — et le délai, calé à droite. LA DATE LIMITE N'A PAS QUITTÉ LA LIGNE : elle est l'infobulle du délai. Ce qu'on lit cinquante fois en triant, c'est « J-3 » ; le quantième se demande une fois, au moment de décider, et la fiche l'écrit en entier. --}}
{{ $ligne->reference() }} {{ $ligne->acheteur() }} filled($couleurEcheance)]) @if ($dateLimite !== null) title="Clôture le {{ $dateLimite->format('d/m/Y') }}{{ filled($ligne->fiche()->deposit_time) ? ' à '.$ligne->fiche()->deposit_time : '' }}" @endif > {{ $ligne->delai() ?? 'sans date' }}
{{-- L'objet, seul, sur deux lignes au plus : la fiche le montre en entier. --}}
{{ $ligne->objet() }}
{{-- Le pied : le montant, UNE mention d'état, ce que la liste ajoute — et les deux gestes du triage, calés à droite. L'ORDRE DES DEUX BOUTONS SUIT LA MAQUETTE : le « vu » d'abord, l'étoile ensuite. Le premier est le geste de masse (on le pose cinquante fois d'affilée), le second est rare — et le pouce, à droite de l'écran, tombe d'abord sur le dernier. --}}
{{-- LES MENTIONS ONT LEUR PROPRE BOÎTE, ET C'EST CE QUI TIENT LA HAUTEUR DE LA CARTE. Mises au même niveau que les deux boutons, elles les poussaient sur une rangée à elles dès qu'une liste en ajoutait deux — mesuré sur les soumissionnés : quatre rangées, et la carte à 207 px au lieu de 163. Dans leur boîte, elles passent à la ligne entre elles ; les boutons, eux, restent calés à droite et au centre. --}}
@if ($estimation !== '—') {{ $estimation }} @endif {{-- v4.27.2 §A3 — « À lire » = pas encore lu (neutre) ; « Sans bordereau » = lu, sans tableau : même encre orange que les compléments (`ao-item--warning`). --}} tonDeLecture() => filled($ligne->tonDeLecture())])>{{ $ligne->mentionDeLecture() }} {{-- Ce que CETTE liste ajoute : notre offre et notre position, l'attributaire et le montant retenu… Rendu en TEXTE, jamais en pastille : c'est la « soupe de badges » que la refonte retire, et un ton n'y teinte plus qu'une encre. Les entrées que la liste a marquées `secondaire` restent dans le document et ne se montrent pas au téléphone — la feuille seule les cache. --}} @foreach ($layout->getComplements() as $complement) filled($complement['ton']), 'ao-sec' => $complement['secondaire']])>@if (filled($complement['libelle'])){{ $complement['libelle'] }} : @endif{{ $complement['texte'] }} @endforeach
{{ $layout->colonneRendue('vu') }} {{ $layout->colonneRendue('favori') }}
@endif