% member = local_assigns[:member] %>
<% team = local_assigns[:team] %>
<% form_url = member.persisted? ? public_team_roster_member_path(team, member) : public_team_roster_members_path(team) %>
<% form_method = member.persisted? ? :patch : :post %>
<% is_player = member.category == "player" %>
<% player_roles = Sports::PlayerRoles.for_team(team) %>
<% player_role = member.role_label if member.role_label.in?(player_roles) %>
<%= form_with url: form_url, method: form_method, multipart: true, class: "roster-member-form card roster-sidebar__form", data: { roster_form: true } do %>
<%= label_tag "team_roster_member[category]", t("roster.member_form.category_label") %>
<%= select_tag "team_roster_member[category]", options_for_select(roster_category_options, member.category),
data: { roster_category: true } %>
<%= label_tag "team_roster_member[full_name]", t("roster.member_form.full_name_label") %>
<%= text_field_tag "team_roster_member[full_name]", member.full_name, required: true, placeholder: t("roster.member_form.full_name_placeholder") %>
>
<%= label_tag "team_roster_member[role_label]", t("roster.member_form.role_player_label") %>
<%= select_tag "team_roster_member[role_label]", roster_player_role_options(team, player_role),
data: { roster_role_player: true }, disabled: !is_player %>
>
<%= label_tag "team_roster_member[role_label_other]", t("roster.member_form.role_other_label") %>
<%= text_field_tag "team_roster_member[role_label_other]", (member.role_label unless is_player),
placeholder: t("roster.member_form.role_other_placeholder"),
data: { roster_role_other: true }, disabled: is_player %>
>
<%= label_tag "team_roster_member[jersey_number]", t("roster.member_form.jersey_label") %>
<%= number_field_tag "team_roster_member[jersey_number]", member.jersey_number, min: 1, max: 99,
placeholder: t("roster.member_form.jersey_placeholder"), data: { roster_jersey: true }, disabled: !is_player %>
<%= label_tag "team_roster_member[bio]", t("roster.member_form.bio_label") %>
<%= text_area_tag "team_roster_member[bio]", member.bio, rows: 3, placeholder: t("roster.member_form.bio_placeholder") %>
<%= label_tag "team_roster_member[photo_file]", t("roster.member_form.photo_label") %>
<% if member.photo_url.present? %>
<%= roster_person_avatar(member, team, size: 72) %>
<% end %>
<%= file_field_tag "team_roster_member[photo_file]", accept: "image/png,image/jpeg,image/webp" %>
<%= t("roster.member_form.photo_hint") %>
<%= submit_tag (member.persisted? ? t("roster.member_form.submit_edit") : t("roster.member_form.submit_new")), class: "btn btn-primary" %>
<% end %>