diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index 633281269..5fda5823b 100644 --- a/app/assets/stylesheets/card-columns.css +++ b/app/assets/stylesheets/card-columns.css @@ -176,6 +176,10 @@ [aria-selected] & .card[aria-selected] { outline: var(--focus-ring-size) solid var(--color-selected-dark); outline-offset: var(--focus-ring-offset); + + @media (prefers-color-scheme: dark) { + outline-color: oklch(var(--lch-blue-medium)); + } } } diff --git a/app/javascript/controllers/bar_controller.js b/app/javascript/controllers/bar_controller.js index 6b10a27b4..941b791f6 100644 --- a/app/javascript/controllers/bar_controller.js +++ b/app/javascript/controllers/bar_controller.js @@ -1,5 +1,6 @@ import { Controller } from "@hotwired/stimulus" import { post } from "@rails/request.js" +import { nextFrame } from "helpers/timing_helpers"; export default class extends Controller { static targets = [ "turboFrame", "search", "searchInput", "form", "buttonsContainer" ] @@ -21,6 +22,11 @@ export default class extends Controller { this.#hideItem(this.searchTarget) } + clearInput() { + this.searchInputTarget.value = "" + this.searchInputTarget.focus() + } + showModalAndSubmit(event) { this.showModal() this.formTarget.requestSubmit() @@ -50,10 +56,12 @@ export default class extends Controller { this.turboFrameTarget.innerHtml = "" } - #showItem(element) { + async #showItem(element) { element.removeAttribute("hidden") const autofocusElement = element.querySelector("[autofocus]") + + await nextFrame() autofocusElement?.focus() autofocusElement?.select() } diff --git a/app/views/searches/_form.html.erb b/app/views/searches/_form.html.erb index f9a1b778a..11fcc853f 100644 --- a/app/views/searches/_form.html.erb +++ b/app/views/searches/_form.html.erb @@ -9,7 +9,7 @@ data: { bar_target: "searchInput", action: "keydown.enter->bar#showModalAndSubmit:prevent keydown.esc->bar#reset" } %> -