From ca7399f4903edb0702a658ce5d141cf0d4640381 Mon Sep 17 00:00:00 2001 From: sto Date: Sat, 21 Jun 2025 10:36:19 +0200 Subject: [PATCH] Flexify the contest dashboard --- app/views/contests/show.html.slim | 130 +++++++++++++++--------------- 1 file changed, 66 insertions(+), 64 deletions(-) diff --git a/app/views/contests/show.html.slim b/app/views/contests/show.html.slim index faab844..1546997 100644 --- a/app/views/contests/show.html.slim +++ b/app/views/contests/show.html.slim @@ -28,8 +28,8 @@ javascript: =< t("contests.show.copy_extension_url") -.row.mb-4 - .col-7 +.row.mb-4 style="height: calc(100vh - 320px)" + .col-7.d-flex.flex-column style="height: 100%" .row .col h4 @@ -65,43 +65,44 @@ javascript: .row .col.alert.alert-danger = t("messages.warning") - table.table.table-striped.table-hover - thead - tr - th scope="col" style="white-space: nowrap" - = t("activerecord.attributes.message.processed") - th scope="col" - = t("activerecord.attributes.message.time") - th scope="col" - = t("activerecord.attributes.message.author") - th.w-25 scope="col" - = t("activerecord.attributes.message.text") - th.w-25 scope="col" - tbody - - @messages.each do |message| - tr.align-middle scope="row" - td style="text-align: center" - - if message.completions.size > 0 - - - - - td - = message.display_time - td - = message.author - td - = message.text - td - - if @puzzles.size > 0 - a.btn.btn-sm.btn-secondary href=contest_message_convert_path(@contest, message) style="white-space: nowrap;" - = t("helpers.buttons.add_completion") - - else - a.btn.btn-sm.btn-secondary.disabled href=contest_message_convert_path(@contest, message) style="white-space: nowrap;" - = t("helpers.buttons.add_completion") - td - = link_to t("helpers.buttons.delete"), contest_message_path(@contest, message), data: { turbo_method: :delete }, class: "btn btn-sm btn-danger" - .col-5 + .d-flex.flex-column style="overflow-y: auto" + table.table.table-striped.table-hover + thead + tr + th scope="col" style="white-space: nowrap" + = t("activerecord.attributes.message.processed") + th scope="col" + = t("activerecord.attributes.message.time") + th scope="col" + = t("activerecord.attributes.message.author") + th.w-25 scope="col" + = t("activerecord.attributes.message.text") + th.w-25 scope="col" + tbody + - @messages.each do |message| + tr.align-middle scope="row" + td style="text-align: center" + - if message.completions.size > 0 + + + + + td + = message.display_time + td + = message.author + td + = message.text + td + - if @puzzles.size > 0 + a.btn.btn-sm.btn-secondary href=contest_message_convert_path(@contest, message) style="white-space: nowrap;" + = t("helpers.buttons.add_completion") + - else + a.btn.btn-sm.btn-secondary.disabled href=contest_message_convert_path(@contest, message) style="white-space: nowrap;" + = t("helpers.buttons.add_completion") + td + = link_to t("helpers.buttons.delete"), contest_message_path(@contest, message), data: { turbo_method: :delete }, class: "btn btn-sm btn-danger" + .col-5.d-flex.flex-column style="height: 100%" .row .col h4 @@ -110,28 +111,29 @@ javascript: | + #{t("helpers.buttons.add")} a.ms-3.btn-sm.btn.btn-primary href=contest_import_path(@contest) style="margin-top: -3px" | #{t("helpers.buttons.import")} - table.table.table-striped.table-hover - thead - tr - th scope="col" - = t("helpers.rank") - th scope="col" - = t("activerecord.attributes.contestant.name") - th scope="col" - = t("activerecord.attributes.contestant.completions") - th scope="col" - = t("activerecord.attributes.contestant.display_time") - tbody - - @contestants.each_with_index do |contestant, index| - tr scope="row" - td - = index + 1 - td - = contestant.name - td - = contestant.completions.length - td - = contestant.display_time - td - a.btn.btn-sm.btn-secondary href=edit_contest_contestant_path(@contest, contestant) - = t("helpers.buttons.open") + .d-flex.flex-column style="overflow-y: auto" + table.table.table-striped.table-hover + thead + tr + th scope="col" + = t("helpers.rank") + th scope="col" + = t("activerecord.attributes.contestant.name") + th scope="col" + = t("activerecord.attributes.contestant.completions") + th scope="col" + = t("activerecord.attributes.contestant.display_time") + tbody + - @contestants.each_with_index do |contestant, index| + tr scope="row" + td + = index + 1 + td + = contestant.name + td + = contestant.completions.length + td + = contestant.display_time + td + a.btn.btn-sm.btn-secondary href=edit_contest_contestant_path(@contest, contestant) + = t("helpers.buttons.open")