{# Jedna strona meczu na liscie kolejki: nazwa strony i druzyny, z ktorych sie sklada. Chip i znaleziony zawodnik sa sprawa pojedynczej druzyny, wiec kazda niesie wlasne znaczki tuz przy swojej nazwie — dzieki temu przy wyszukiwaniu widac, ktora konkretnie ma zawodnika, a nie tylko ze "ktos po tej stronie". Wlasna nazwa strony ("4Stars" w 4x4) stoi z przodu, a druzyny ida za nia drobniejszym drukiem. Gdy nazwa powstala ze sklejenia nazw druzyn (App\Controller\FixtureController::createNamedSide), nie powtarzamy jej — byloby to to samo dwa razy. Oczekuje: view (App\League\MatchView), squad (App\Entity\Squad), highlight (App\League\PlayerMatchHighlight). #} {% import 'fixture/_chip.html.twig' as chip %} {%- set composed = squad.entries|map(entry => entry.teamName)|join(' + ') -%} {%- if squad.name != composed -%} {{ squad.name }} {%- endif -%} {%- for entry in squad.entries -%} {%- set hit = highlight.forEntry(entry.id) -%} {%- set snapshot = view.snapshotFor(entry.id) -%} {%- if not loop.first %} + {% endif -%} {#- Nazwa i jej znaczek chipa stanowia jedna calosc: bez tego przy zawijaniu wiersza znaczek potrafil zostac sam w nowej linii, oderwany od druzyny, do ktorej nalezy. -#} {#- Trafienie wyszukiwania bierze w ramke sama nazwe druzyny, bez osobnej plakietki obok — ramka mowi to samo, a nie wydluza wiersza. Rodzaj obramowania (ciagle albo przerywane) niesie roznice miedzy skladem a lawka, wiec nie zalezy ona wylacznie od koloru; pelny opis siedzi w title, a opaska kapitanska dopisuje sie do nazwy. -#} {%- if hit -%} {%- set starting = 'starting' == hit.status.value -%} {{- entry.teamName }}{% if hit.captainLabel %} · {{ hit.captainLabel }}{% endif -%} {%- else -%} {{ entry.teamName }} {%- endif -%} {#- Znaczek chipa zielenieje razem z nazwa: przy trafieniu cala druzyna ma czytac sie jako jedna calosc, a nie nazwa osobno i chip osobno. -#} {%- if snapshot and snapshot.activeChip %} {{ chip.label(snapshot.activeChip) }}{% endif -%} {%- endfor -%}