Files
puzzle-scoreboard/app/views/contestants/_form.html.slim
sto ae5082fff6
Some checks failed
CI / scan_ruby (push) Failing after 16s
CI / scan_js (push) Successful in 15s
CI / lint (push) Successful in 15s
CI / test (push) Successful in 37s
Contestant view: show offline participation images
2025-11-06 11:05:09 +01:00

94 lines
3.4 KiB
Plaintext

.row
.col
h3 Informations
= form_with model: contestant, url: url, method: method do |form|
.row.mb-3
.col
.form-floating
= form.text_field :name, autocomplete: "off", class: "form-control"
= form.label :name, class: "required"
.row.mb-3
.col
.form-floating
= form.text_field :email, autocomplete: "off", class: "form-control"
= form.label :email
.form-text
= t("activerecord.attributes.contestant.email_description")
- if @contest.categories
.row.mt-4
.col
- @contest.categories.each do |category|
.form-check.form-switch
= form.check_box "category_#{category.id}".to_sym, class: "form-check-input", checked: @contestant.categories.where(id: category.id).any?
= form.label category.name
.row.mt-4
.col
- if method == :patch
= link_to t("helpers.buttons.delete"), contest_contestant_path(contest, contestant), data: { turbo_method: :delete }, class: "btn btn-danger me-2"
= form.submit submit_text, class: "btn btn-primary"
- if method == :patch
.row.mt-5
.col
h3 Completions
table.table.table-striped.table-hover
thead
tr
- if @contest.puzzles.size > 1
th scope="col"
= t("activerecord.attributes.completion.display_time_from_start")
th scope="col"
= t("activerecord.attributes.completion.display_relative_time")
- else
th scope="col"
= t("activerecord.attributes.completion.display_time")
th scope="col"
= t("activerecord.attributes.completion.remaining_pieces")
th scope="col"
= t("activerecord.attributes.completion.puzzle")
tbody
- @completions.each do |completion|
tr scope="row"
td
= completion.display_time_from_start
- if @contest.puzzles.size > 1
td
= completion.display_relative_time
td
= completion.remaining_pieces
td
- if !completion.puzzle.brand.blank?
| #{completion.puzzle.name} - #{completion.puzzle.brand}
- else
| #{completion.puzzle.name}
td
a.btn.btn-sm.btn-secondary.me-2 href=edit_contest_completion_path(@contest, completion, contestant_id: contestant.id)
= t("helpers.buttons.edit")
= link_to t("helpers.buttons.delete"), contest_completion_path(contest, completion, contestant_id: contestant.id),
data: { turbo_method: :delete }, class: "btn btn-sm btn-secondary"
.row
.col
a.btn.btn-primary href=new_contest_completion_path(@contest, contestant_id: contestant.id)
= t("helpers.buttons.add")
- if contestant.offline.present?
.row.mt-5.mb-2
.col
h3 = t("contestants.edit.offline_participation")
.row.mb-5
.col-6
h4 = t("contestants.edit.start_image")
- if contestant.offline.images.length > 0
.mt-3.mb-1
= contestant.offline.start_time.to_fs(:rfc822)
= image_tag(contestant.offline.images[0], class: "img-fluid", style: "max-height: 400px")
.col-6
h4 = t("contestants.edit.end_image")
- if contestant.offline.images.length > 1
.mt-3.mb-1
= contestant.offline.end_time.to_fs(:rfc822)
= image_tag(contestant.offline.images[1], class: "img-fluid", style: "max-height: 400px")
- else
= t("contestants.edit.not_finished")