diff --git a/app/helpers/bridge_helper.rb b/app/helpers/bridge_helper.rb index a1a3e8134..5fb4508b6 100644 --- a/app/helpers/bridge_helper.rb +++ b/app/helpers/bridge_helper.rb @@ -1,5 +1,5 @@ module BridgeHelper - def bridge_icon(name, extension = "svg") - asset_url("#{name}.#{extension}") + def bridge_icon(name) + asset_url("#{name}.svg") end end diff --git a/app/javascript/controllers/bridge/form_controller.js b/app/javascript/controllers/bridge/form_controller.js index dcd056330..a3c780e62 100644 --- a/app/javascript/controllers/bridge/form_controller.js +++ b/app/javascript/controllers/bridge/form_controller.js @@ -8,7 +8,7 @@ export default class extends BridgeComponent { submitTargetConnected() { this.notifyBridgeOfConnect() - this.observeSubmitTarget() + this.#observeSubmitTarget() } submitTargetDisconnected() { @@ -41,7 +41,15 @@ export default class extends BridgeComponent { this.send("disconnect") } - observeSubmitTarget() { + submitStart() { + this.send("submitStart") + } + + submitEnd() { + this.send("submitEnd") + } + + #observeSubmitTarget() { this.submitObserver = new MutationObserver(() => { this.send(this.submitTarget.disabled ? "submitDisabled" : "submitEnabled") }) @@ -51,12 +59,4 @@ export default class extends BridgeComponent { attributeFilter: [ "disabled" ] }) } - - submitStart() { - this.send("submitStart") - } - - submitEnd() { - this.send("submitEnd") - } } diff --git a/app/javascript/controllers/bridge/insets_controller.js b/app/javascript/controllers/bridge/insets_controller.js index 6f63a9550..1cef15690 100644 --- a/app/javascript/controllers/bridge/insets_controller.js +++ b/app/javascript/controllers/bridge/insets_controller.js @@ -17,11 +17,11 @@ export default class extends BridgeComponent { notifyBridgeOfConnect() { this.send("connect", {}, message => { - this.setInsets(message.data) + this.#setInsets(message.data) }) } - setInsets({ top, right, bottom, left }) { + #setInsets({ top, right, bottom, left }) { const root = document.documentElement.style root.setProperty("--injected-safe-inset-top", `${top}px`) root.setProperty("--injected-safe-inset-right", `${right}px`) diff --git a/app/javascript/controllers/bridge/title_controller.js b/app/javascript/controllers/bridge/title_controller.js index 5ea8c7b7f..f2226be35 100644 --- a/app/javascript/controllers/bridge/title_controller.js +++ b/app/javascript/controllers/bridge/title_controller.js @@ -10,54 +10,54 @@ export default class extends BridgeComponent { async connect() { super.connect() await nextFrame() - this.startObserver() - window.addEventListener("resize", this.windowResized) + this.#startObserver() + window.addEventListener("resize", this.#windowResized) } disconnect() { super.disconnect() - this.stopObserver() - window.removeEventListener("resize", this.windowResized) + this.#stopObserver() + window.removeEventListener("resize", this.#windowResized) } notifyBridgeOfVisibilityChange(visible) { - this.send("visibility", { title: this.title, elementVisible: visible }) + this.send("visibility", { title: this.#title, elementVisible: visible }) } // Intersection Observer - startObserver() { + #startObserver() { if (!this.hasHeaderTarget) return this.observer = new IntersectionObserver(([ entry ]) => this.notifyBridgeOfVisibilityChange(entry.isIntersecting), - { rootMargin: `-${this.topOffset}px 0px 0px 0px` } + { rootMargin: `-${this.#topOffset}px 0px 0px 0px` } ) this.observer.observe(this.headerTarget) - this.previousTopOffset = this.topOffset + this.previousTopOffset = this.#topOffset } - stopObserver() { + #stopObserver() { this.observer?.disconnect() } - updateObserverIfNeeded() { - if (this.topOffset === this.previousTopOffset) return + #updateObserverIfNeeded() { + if (this.#topOffset === this.previousTopOffset) return - this.stopObserver() - this.startObserver() + this.#stopObserver() + this.#startObserver() } - windowResized = () => { - this.updateObserverIfNeeded() + #windowResized = () => { + this.#updateObserverIfNeeded() } - get title() { + get #title() { return this.titleValue ? this.titleValue : document.title } - get topOffset() { + get #topOffset() { return viewport.top } }