From a51ccb626d4158d62dc052c484aa85e0220f0e9b Mon Sep 17 00:00:00 2001 From: Katya Sarmiento <5871075+Kitkatnik@users.noreply.github.com> Date: Fri, 1 May 2026 09:41:53 -0400 Subject: [PATCH] Admin lightning talks: surface clickable slides link per speaker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The admin running a live lightning session needs one-click access to each speaker's slides at the moment that speaker steps up. The slides URL was already collected from speakers and shown on the public schedule, but the admin page at /admin/lightning_talks did not surface it. Adds a slides cell to each row of the admin speakers list: a red bold "Open slides ↗" external link when slides_url is present, or a muted "no slides yet" indicator when blank — so admins can also see at a glance who hasn't submitted slides and chase them before stage time. Also extends the row's grid-template-columns by one auto track so the new cell sits inline with handle / position / time / name / title / Remove. --- app/assets/stylesheets/application.css | 4 +++- .../lightning_talk_signups/_speakers_list.html.erb | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 4f83ced..4bceb4a 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -3290,7 +3290,7 @@ hr { .speakers-list__item { display: grid; - grid-template-columns: auto 2.5rem 5rem 1fr 2fr auto; + grid-template-columns: auto 2.5rem 5rem 1fr 2fr auto auto; gap: 0.75rem; align-items: center; padding: 0.5rem 0.75rem; @@ -3306,6 +3306,8 @@ hr { .speakers-list__time { color: #1F6B45; font-variant-numeric: tabular-nums; } .speakers-list__name { font-weight: 500; color: #1f242a; } .speakers-list__title { color: #525C66; font-size: 0.9375rem; } +.speakers-list__slides a { color: #C41C1C; font-weight: 600; text-decoration: underline; white-space: nowrap; } +.speakers-list__slides--missing { color: #9aa1a8; font-style: italic; font-size: 0.875rem; white-space: nowrap; } .btn-small { padding: 0.25rem 0.625rem; font-size: 0.8125rem; } diff --git a/app/views/admin/lightning_talk_signups/_speakers_list.html.erb b/app/views/admin/lightning_talk_signups/_speakers_list.html.erb index c0e5824..fd67ea2 100644 --- a/app/views/admin/lightning_talk_signups/_speakers_list.html.erb +++ b/app/views/admin/lightning_talk_signups/_speakers_list.html.erb @@ -9,6 +9,16 @@ <%= signup.slot_start_label %> <%= signup.user.full_name %> <%= signup.talk_title.presence || "—" %> + + <% if signup.slides_url.present? %> + <%= link_to "Open slides ↗", + signup.slides_url, + target: "_blank", + rel: "noopener noreferrer" %> + <% else %> + no slides yet + <% end %> + <%= button_to "Remove", admin_schedule_item_lightning_talk_signup_path(schedule_item, signup), method: :delete,