diff --git a/app/controllers/users/joins_controller.rb b/app/controllers/users/joins_controller.rb index 630c579bc..493887452 100644 --- a/app/controllers/users/joins_controller.rb +++ b/app/controllers/users/joins_controller.rb @@ -29,4 +29,3 @@ class Users::JoinsController < ApplicationController params.expect(user: [ :name, :avatar ]) end end - diff --git a/app/javascript/controllers/bar_controller.js b/app/javascript/controllers/bar_controller.js index 0f995ae65..6b10a27b4 100644 --- a/app/javascript/controllers/bar_controller.js +++ b/app/javascript/controllers/bar_controller.js @@ -2,7 +2,7 @@ import { Controller } from "@hotwired/stimulus" import { post } from "@rails/request.js" export default class extends Controller { - static targets = [ "turboFrame", "searchInput", "buttonsContainer" ] + static targets = [ "turboFrame", "search", "searchInput", "form", "buttonsContainer" ] static outlets = [ "dialog" ] static values = { searchUrl: String, @@ -17,18 +17,13 @@ export default class extends Controller { this.dialogOutlet.close() this.#clearTurboFrame() - this.searchInputTarget.querySelector("input").value = "" this.#showItem(this.buttonsContainerTarget) - this.#hideItem(this.searchInputTarget) + this.#hideItem(this.searchTarget) } showModalAndSubmit(event) { - event.preventDefault() - - const form = event.target.closest("form") - this.showModal() - form.requestSubmit() + this.formTarget.requestSubmit() } showModal() { @@ -36,10 +31,18 @@ export default class extends Controller { } search(event) { - this.#openInTurboFrame(this.searchUrlValue) - - this.#showItem(this.searchInputTarget) + this.#showItem(this.searchTarget) this.#hideItem(this.buttonsContainerTarget) + + if (this.searchInputTarget.value.trim()) { + this.showModalAndSubmit() + } else { + this.#loadTurboFrame() + } + } + + #loadTurboFrame() { + this.turboFrameTarget.src = this.searchUrlValue } #clearTurboFrame() { @@ -47,10 +50,6 @@ export default class extends Controller { this.turboFrameTarget.innerHtml = "" } - #openInTurboFrame(url) { - this.turboFrameTarget.src = url - } - #showItem(element) { element.removeAttribute("hidden") diff --git a/app/views/bar/_bar.html.erb b/app/views/bar/_bar.html.erb index 4858ce2a8..095e7c0b2 100644 --- a/app/views/bar/_bar.html.erb +++ b/app/views/bar/_bar.html.erb @@ -7,7 +7,7 @@ <% end %> -