= render "params_nav" javascript: async function copyExtensionUrlToClipboard() { await navigator.clipboard.writeText("#{message_url}?token=#{@contest.generate_token_for(:token)}"); alert("#{t("contests.show.url_copied")}"); } .row.mb-4.mt-2 .col - if @contest.offline_form && @contest.puzzles.length < 2 a.btn.btn-success href="/public/#{@contest.slug}/offline" = t("contests.show.open_offline_form") - else a.btn.btn-success.disabled = t("contests.show.offline_form_disabled") button.btn.btn-success.ms-3 onclick="copyExtensionUrlToClipboard()" css: button > svg { margin-right: 2px; margin-top: -3px; } =< t("contests.show.copy_extension_url") = form_with model: @contest, url: "/contests/#{@contest.id}/settings/online" do |form| .row.mt-2.mb-3 .col - if @contest.puzzles.length <= 1 .form-check.form-switch = form.check_box :offline_form, class: "form-check-input" = form.label :offline_form .form-text = t("activerecord.attributes.contest.offline_form_warning") .form-text = t("activerecord.attributes.contest.offline_form_description") - else .form-check.form-switch = form.check_box :offline_form_fake, class: "form-check-input", disabled: true = form.label :offline_form .form-text = t("activerecord.attributes.contest.offline_form_warning") .form-text = t("activerecord.attributes.contest.offline_form_description") .row.mt-4 .col = form.submit t("helpers.buttons.update"), class: "btn btn-primary"