Files
MatchLiveTv/backend/app/views/public/tournaments/new.html.erb
T

80 lines
3.7 KiB
ERB

<% content_for :title, t("tournaments.new.title", name: @club.name) %>
<% content_for :robots, "noindex, nofollow" %>
<div class="wrap wrap--portal tournament-new" style="padding-top:20px">
<nav class="team-dashboard-nav">
<%= link_to "← #{t("tournaments.index.heading")}", public_club_tournaments_path(@club), class: "team-dashboard-nav__club" %>
</nav>
<h1><%= t("tournaments.new.heading") %></h1>
<p class="tournament-new__lead"><%= t("tournaments.index.lead") %></p>
<div class="card" style="margin-top:16px">
<%= form_with model: @tournament, url: public_club_tournaments_path(@club), method: :post, html: { class: "tournament-form", multipart: true, data: { tournament_form: true } } do %>
<div class="tournament-form__field tournament-form__full">
<%= label_tag "tournament[name]", t("tournaments.form.name") %>
<%= text_field_tag "tournament[name]", @tournament.name, required: true %>
</div>
<div class="tournament-form__field">
<%= label_tag "tournament[sport_key]", t("tournaments.form.sport") %>
<%= select_tag "tournament[sport_key]",
options_for_select(Sports::Catalog.as_api_list.map { |s| [s[:label], s[:key]] }, @tournament.sport_key) %>
</div>
<div class="tournament-form__field">
<%= label_tag "tournament[venue]", t("tournaments.form.venue") %>
<%= text_field_tag "tournament[venue]", @tournament.venue %>
</div>
<div class="tournament-form__field">
<%= label_tag "tournament[starts_on]", t("tournaments.form.starts_on") %>
<%= date_field_tag "tournament[starts_on]", @tournament.starts_on, required: true %>
</div>
<div class="tournament-form__field">
<%= label_tag "tournament[ends_on]", t("tournaments.form.ends_on") %>
<%= date_field_tag "tournament[ends_on]", @tournament.ends_on, required: true %>
</div>
<div class="tournament-form__field">
<%= label_tag "tournament[format_kind]", t("tournaments.form.format") %>
<%= select_tag "tournament[format_kind]",
options_for_select(Tournament::FORMAT_KINDS.map { |k| [t("tournaments.form.formats.#{k}"), k] }, @tournament.format_kind),
data: { tournament_format: true } %>
</div>
<div class="tournament-form__field" data-knockout-field>
<%= label_tag "tournament[knockout_size]", t("tournaments.form.knockout_size") %>
<%= select_tag "tournament[knockout_size]", options_for_select([2, 4, 8, 16], @tournament.knockout_size || 4) %>
</div>
<div class="tournament-form__field tournament-form__full">
<%= label_tag "tournament[logo_file]", t("tournaments.form.logo") %>
<%= file_field_tag "tournament[logo_file]", accept: "image/png,image/jpeg,image/webp" %>
<p class="tournament-hub-hint" style="margin:6px 0 0"><%= t("tournaments.form.logo_hint") %></p>
</div>
<div class="tournament-form__field tournament-form__full">
<%= label_tag "tournament[courts]", t("tournaments.form.courts") %>
<%= text_area_tag "tournament[courts]", Array(@tournament.courts).join("\n"), rows: 3 %>
</div>
<div class="tournament-form__actions">
<%= submit_tag t("tournaments.new.submit"), class: "btn btn-primary" %>
</div>
<% end %>
</div>
</div>
<script>
document.querySelectorAll("[data-tournament-form]").forEach(function (form) {
var format = form.querySelector("[data-tournament-format]");
var knockout = form.querySelector("[data-knockout-field]");
if (!format || !knockout) return;
var sync = function () {
knockout.hidden = !(format.value === "knockout" || format.value === "mixed");
};
format.addEventListener("change", sync);
sync();
});
</script>