= render "contest_nav" .row.mb-4 style="height: calc(100vh - 280px)" .col.d-flex.flex-column style="height: 100%" .row.mb-4 .col - if @messages.length == 0 .alert.alert-warning = t("messages.index.no_messages") - else - if @puzzles.size == 0 .row .col.alert.alert-danger = t("messages.warning") .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 .d-inline-flex - 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") = link_to "x", contest_message_path(@contest, message), data: { turbo_method: :delete }, class: "btn btn-sm btn-danger ms-2"