From 8b4485f9b3e2a0843b3c7bb5f53b87b9557d27aa Mon Sep 17 00:00:00 2001 From: Daniel Medina Date: Wed, 3 Sep 2025 11:14:33 -0600 Subject: [PATCH 1/3] improve navigation in turbo frames --- .../controllers/reset_scroll_controller.js | 16 ++++++++++++++++ app/views/profiles/show.html.erb | 2 +- app/views/sessions/show.html.erb | 4 ++-- 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 app/javascript/controllers/reset_scroll_controller.js diff --git a/app/javascript/controllers/reset_scroll_controller.js b/app/javascript/controllers/reset_scroll_controller.js new file mode 100644 index 00000000..dae7ae9b --- /dev/null +++ b/app/javascript/controllers/reset_scroll_controller.js @@ -0,0 +1,16 @@ +import { Controller } from '@hotwired/stimulus' + +export default class extends Controller { + + connect () { + document.addEventListener('turbo:load', this.handleRender) + } + + disconnect () { + document.removeEventListener('turbo:load', this.handleRender) + } + + handleRender () { + window.scrollTo({ top: 0, left: 0, behavior: 'auto' }) + } +} \ No newline at end of file diff --git a/app/views/profiles/show.html.erb b/app/views/profiles/show.html.erb index 06e6036d..da25ba99 100644 --- a/app/views/profiles/show.html.erb +++ b/app/views/profiles/show.html.erb @@ -4,7 +4,7 @@ <%= render partial: "layouts/primary_top_nav" %> <% end %> -
+
diff --git a/app/views/sessions/show.html.erb b/app/views/sessions/show.html.erb index 11d75bb1..6f9b9a42 100644 --- a/app/views/sessions/show.html.erb +++ b/app/views/sessions/show.html.erb @@ -4,7 +4,7 @@ <%= render partial: "layouts/secondary_top_nav" %> <% end %> -
+
<%= render partial: "sessions/status", locals: { session: @session } %> @@ -96,7 +96,7 @@ ] ) do %> <% if speaker.image&.attached? %> -
+
<% else %> From 79d11b65e6f31cb3a1ec0cfef53a6f865969237a Mon Sep 17 00:00:00 2001 From: Daniel Medina Date: Wed, 3 Sep 2025 11:15:36 -0600 Subject: [PATCH 2/3] restore url --- app/views/sessions/show.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/sessions/show.html.erb b/app/views/sessions/show.html.erb index 6f9b9a42..2e0059ee 100644 --- a/app/views/sessions/show.html.erb +++ b/app/views/sessions/show.html.erb @@ -96,7 +96,7 @@ ] ) do %> <% if speaker.image&.attached? %> -
+
<% else %>
From 6f5501ad7c7bf431de3f061aa628ae8d0ce2b195 Mon Sep 17 00:00:00 2001 From: Daniel Medina Date: Wed, 3 Sep 2025 13:16:44 -0600 Subject: [PATCH 3/3] add meta tags --- .../controllers/reset_scroll_controller.js | 16 ---------------- app/views/profiles/show.html.erb | 2 +- app/views/sessions/show.html.erb | 6 +++++- app/views/speakers/show.html.erb | 4 ++++ 4 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 app/javascript/controllers/reset_scroll_controller.js diff --git a/app/javascript/controllers/reset_scroll_controller.js b/app/javascript/controllers/reset_scroll_controller.js deleted file mode 100644 index dae7ae9b..00000000 --- a/app/javascript/controllers/reset_scroll_controller.js +++ /dev/null @@ -1,16 +0,0 @@ -import { Controller } from '@hotwired/stimulus' - -export default class extends Controller { - - connect () { - document.addEventListener('turbo:load', this.handleRender) - } - - disconnect () { - document.removeEventListener('turbo:load', this.handleRender) - } - - handleRender () { - window.scrollTo({ top: 0, left: 0, behavior: 'auto' }) - } -} \ No newline at end of file diff --git a/app/views/profiles/show.html.erb b/app/views/profiles/show.html.erb index da25ba99..06e6036d 100644 --- a/app/views/profiles/show.html.erb +++ b/app/views/profiles/show.html.erb @@ -4,7 +4,7 @@ <%= render partial: "layouts/primary_top_nav" %> <% end %> -
+
diff --git a/app/views/sessions/show.html.erb b/app/views/sessions/show.html.erb index 2e0059ee..48c9dab6 100644 --- a/app/views/sessions/show.html.erb +++ b/app/views/sessions/show.html.erb @@ -1,10 +1,14 @@ <%= title "#{@session.title}" %> +<% content_for :head do %> + +<% end %> + <% content_for :top_nav do %> <%= render partial: "layouts/secondary_top_nav" %> <% end %> -
+
<%= render partial: "sessions/status", locals: { session: @session } %> diff --git a/app/views/speakers/show.html.erb b/app/views/speakers/show.html.erb index 92565fa8..192e3469 100644 --- a/app/views/speakers/show.html.erb +++ b/app/views/speakers/show.html.erb @@ -1,5 +1,9 @@ <%= title "Speaker" %> +<% content_for :head do %> + +<% end %> + <% content_for :top_nav do %> <%= render partial: "layouts/secondary_top_nav" %> <% end %>