Files
fizzy/app/javascript/controllers/nav_section_expander_controller.js
T
2025-09-15 16:29:32 -05:00

27 lines
562 B
JavaScript

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
}
}