diff --git a/app/assets/stylesheets/bar.css b/app/assets/stylesheets/bar.css index be5eb6a2e..dc5feaef8 100644 --- a/app/assets/stylesheets/bar.css +++ b/app/assets/stylesheets/bar.css @@ -43,6 +43,10 @@ margin-block-end: calc(var(--footer-height) - 0.3rem); position: fixed; z-index: -1; + + &:has(#bar-content[busy]), &:has(#bar-content:not([complete])), &:has([data-search-redirect]) { + display: none; + } } .bar__placeholder { diff --git a/app/controllers/searches_controller.rb b/app/controllers/searches_controller.rb index 1ccbaa245..b1418174d 100644 --- a/app/controllers/searches_controller.rb +++ b/app/controllers/searches_controller.rb @@ -1,8 +1,17 @@ class SearchesController < ApplicationController - include Search::QueryTermsScoped + include Search::QueryTermsScoped, Turbo::DriveHelper def show - @search_results = Current.user.search(@query_terms).limit(50) - @recent_search_queries = Current.user.search_queries.order(updated_at: :desc).limit(10) + if card = Current.user.accessible_cards.find_by_id(@query_terms) + @card = card + else + perform_search + end end + + private + def perform_search + @search_results = Current.user.search(@query_terms).limit(50) + @recent_search_queries = Current.user.search_queries.order(updated_at: :desc).limit(10) + end end diff --git a/app/javascript/controllers/auto_submit_controller.js b/app/javascript/controllers/auto_submit_controller.js index 2fa3a4ae4..70cf1ee6a 100644 --- a/app/javascript/controllers/auto_submit_controller.js +++ b/app/javascript/controllers/auto_submit_controller.js @@ -2,6 +2,7 @@ import { Controller } from "@hotwired/stimulus" export default class extends Controller { connect() { + this.element.addEventListener("turbo:submit-end", () => this.element.remove(), { once: true } ) this.element.requestSubmit() } } diff --git a/app/javascript/controllers/bar_controller.js b/app/javascript/controllers/bar_controller.js index 31fc11e3f..4e2fe8c55 100644 --- a/app/javascript/controllers/bar_controller.js +++ b/app/javascript/controllers/bar_controller.js @@ -76,6 +76,7 @@ export default class extends Controller { const autofocusElement = element.querySelector("[autofocus]") autofocusElement?.focus() + autofocusElement?.select() } #hideItem(element) { diff --git a/app/views/searches/_results.html.erb b/app/views/searches/_results.html.erb new file mode 100644 index 000000000..830c7ccf1 --- /dev/null +++ b/app/views/searches/_results.html.erb @@ -0,0 +1,20 @@ +