From f17fc80e22dfbe1b959225d2ef51a47fd3238ae3 Mon Sep 17 00:00:00 2001 From: George Byers Date: Thu, 20 Feb 2025 18:46:30 -0500 Subject: [PATCH] modified help modal to reset upon closing --- app/app/controllers/help_controller.rb | 2 +- app/app/javascript/controllers/help.js | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/app/app/controllers/help_controller.rb b/app/app/controllers/help_controller.rb index 5a468cfe..a1e85b00 100644 --- a/app/app/controllers/help_controller.rb +++ b/app/app/controllers/help_controller.rb @@ -4,7 +4,7 @@ class HelpController < ApplicationController def index @title = t("help.index.title") - render layout: false if turbo_frame_request? + render layout: false end def show diff --git a/app/app/javascript/controllers/help.js b/app/app/javascript/controllers/help.js index b0159972..6f6fc6f7 100644 --- a/app/app/javascript/controllers/help.js +++ b/app/app/javascript/controllers/help.js @@ -11,10 +11,31 @@ export default class extends Controller { } } + // Watch for modal visibility changes + this.observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.target.classList.contains('is-hidden')) { + const frame = document.querySelector('#help_modal_content') + if (frame) { + frame.src = '/help' + } + } + }) + }) + + const modalElement = document.getElementById('help-modal') + this.observer.observe(modalElement, { + attributes: true, + attributeFilter: ['class'] + }) + document.addEventListener("click", this.handleClick) } disconnect() { document.removeEventListener("click", this.handleClick) + if (this.observer) { + this.observer.disconnect() + } } }