Files
MatchLiveTv/backend/app/views/shared/_roster_person_card.html.erb
eminuxandCursor b88f44ab1c Completa i18n IT/EN/FR/DE/ES su sito pubblico, area autenticata e admin.
Tutte le view marketing, legali, viewer, dashboard e admin usano t(); mailer utente-facing e flash localizzati; admin con LocaleResolver e selettore lingua.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 00:38:50 +02:00

30 lines
1.3 KiB
ERB

<% person = local_assigns[:person] %>
<% team = local_assigns[:team] %>
<% editable = local_assigns.fetch(:editable, false) %>
<% compact = local_assigns.fetch(:compact, false) %>
<article class="roster-card<%= " roster-card--compact" if compact %>">
<div class="roster-card__avatar">
<%= roster_person_avatar(person, team, size: 72) %>
</div>
<div class="roster-card__body">
<h3 class="roster-card__name">
<%= person.full_name %>
<% if person.category == "player" && person.jersey_number.present? %>
<span class="roster-card__number">#<%= person.jersey_number %></span>
<% end %>
</h3>
<p class="roster-card__role"><%= person.display_role %></p>
<% if person.bio.present? %>
<p class="roster-card__bio"><%= person.bio %></p>
<% end %>
</div>
<% if editable %>
<div class="roster-card__actions">
<%= link_to t("roster.person_card.edit"), edit_public_team_roster_member_path(team, person), class: "roster-card__btn" %>
<%= button_to t("roster.person_card.remove"), public_team_roster_member_path(team, person), method: :delete, class: "roster-card__btn roster-card__btn--danger",
form: { data: { turbo_confirm: t("roster.person_card.remove_confirm", name: person.full_name), confirm_kind: "delete" } } %>
</div>
<% end %>
</article>