Files
once-campfire/app/javascript/controllers/boost_delete_controller.js
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

34 lines
803 B
JavaScript

import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static classes = [ "reveal", "perform" ]
static targets = [ "button", "content" ]
static values = { boosterId: Number }
connect() {
if (this.#currentUserIsBooster) {
this.#setAccessibleAttributes()
}
}
reveal() {
if (this.#currentUserIsBooster) {
this.element.classList.toggle(this.revealClass)
this.buttonTarget.focus()
}
}
perform() {
this.element.classList.add(this.performClass)
}
#setAccessibleAttributes() {
this.contentTarget.setAttribute('tabindex', '0')
this.contentTarget.setAttribute('aria-describedby', 'delete_boost_accessible_label')
}
get #currentUserIsBooster() {
return Current.user.id === this.boosterIdValue
}
}