Completions: notice when no puzzles defined
Some checks failed
CI / scan_ruby (push) Successful in 18s
CI / scan_js (push) Successful in 13s
CI / lint (push) Successful in 13s
CI / test (push) Failing after 39s

This commit is contained in:
sto
2025-11-18 11:57:48 +01:00
parent 3dd153d587
commit bf127bb932
3 changed files with 63 additions and 55 deletions

View File

@@ -29,66 +29,72 @@
.row.mt-5
.col
h3 Completions
.row
.col
.alert.alert-info
= t("contestants.edit.completions_note")
table.table.table-striped.table-hover
thead
tr
th scope="col"
= t("activerecord.attributes.completion.completed")
- if @contest.puzzles.size > 1
- if @contest.puzzles.length == 0
.row
.col
.alert.alert-warning
= t("contestants.edit.no_puzzles_note")
- else
.row
.col
.alert.alert-info
= t("contestants.edit.completions_note")
table.table.table-striped.table-hover
thead
tr
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.projected_time")
th scope="col"
= t("activerecord.attributes.completion.missing_pieces")
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
- if completion.completed
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/>
<path d="M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z"/>
</svg>
td
= display_time(completion.time_seconds)
= t("activerecord.attributes.completion.completed")
- if @contest.puzzles.size > 1
td
= completion.display_relative_time
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.projected_time")
th scope="col"
= t("activerecord.attributes.completion.missing_pieces")
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
= display_time(completion.projected_time)
td
= completion.missing_pieces
td
= completion.remaining_pieces
td
- if !completion.puzzle.brand.blank?
| #{completion.puzzle.name} - #{completion.puzzle.brand}
- if completion.completed
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/>
<path d="M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z"/>
</svg>
td
= display_time(completion.time_seconds)
- if @contest.puzzles.size > 1
td
= completion.display_relative_time
- 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")
td
= display_time(completion.projected_time)
td
= completion.missing_pieces
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