Remember nav section collapsed state

This commit is contained in:
Andy Smith
2025-09-15 16:29:32 -05:00
parent 80de91417d
commit 27a99b4e1d
7 changed files with 33 additions and 7 deletions
@@ -0,0 +1,26 @@
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static values = { key: String }
connect() {
this.#restoreToggle()
}
toggle() {
if (this.element.open) {
localStorage.removeItem(this.#localStorageKey)
} else {
localStorage.setItem(this.#localStorageKey, this.keyValue)
}
}
#restoreToggle() {
const isCollapsed = localStorage.getItem(this.#localStorageKey) != null
if (isCollapsed) this.element.open = false
}
get #localStorageKey() {
return this.keyValue
}
}