Le partite ereditano lo sport_key della squadra alla creazione invece del default pallavolo; l'organico mostra ruoli per board (basket, volley, timed) e il wizard Android usa lo sport del team per overlay e icona. Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
1.0 KiB
Ruby
34 lines
1.0 KiB
Ruby
module RosterHelper
|
|
def roster_person_avatar(person, team, size: 96)
|
|
primary = team.effective_primary_color
|
|
secondary = team.effective_secondary_color
|
|
style = "--avatar-primary:#{primary};--avatar-secondary:#{secondary};width:#{size}px;height:#{size}px"
|
|
|
|
if person.photo_url.present?
|
|
image_tag person.photo_url, alt: person.full_name, class: "roster-avatar roster-avatar--photo",
|
|
style: style, width: size, height: size
|
|
else
|
|
tag.div(
|
|
person.initials,
|
|
class: "roster-avatar roster-avatar--placeholder",
|
|
style: "#{style};font-size:#{(size * 0.34).round}px",
|
|
aria: { label: person.full_name }
|
|
)
|
|
end
|
|
end
|
|
|
|
def roster_category_options
|
|
TeamRosterMember::DISPLAY_ORDER.map do |cat|
|
|
[TeamRosterMember::CATEGORY_LABELS[cat], cat]
|
|
end
|
|
end
|
|
|
|
def roster_player_role_options(team, selected = nil)
|
|
roles = Sports::PlayerRoles.for_team(team)
|
|
options_for_select(
|
|
[["— Seleziona ruolo —", ""]] + roles.map { |r| [r, r] },
|
|
selected
|
|
)
|
|
end
|
|
end
|