mirror of
https://github.com/System-End/hackatime.git
synced 2026-04-19 22:15:14 +00:00
34 lines
947 B
JavaScript
34 lines
947 B
JavaScript
import { Controller } from "@hotwired/stimulus"
|
|
|
|
export default class extends Controller {
|
|
static targets = ["content"]
|
|
|
|
connect() {
|
|
this.element.addEventListener("click", (e) => {
|
|
if (e.target === this.element) {
|
|
this.close()
|
|
}
|
|
})
|
|
|
|
this.element.addEventListener("modal:open", () => this.open())
|
|
this.element.addEventListener("modal:close", () => this.close())
|
|
}
|
|
|
|
open() {
|
|
this.element.classList.remove("hidden")
|
|
setTimeout(() => {
|
|
this.element.classList.remove("opacity-0", "pointer-events-none")
|
|
this.contentTarget.classList.remove("scale-95")
|
|
this.contentTarget.classList.add("scale-100")
|
|
}, 10)
|
|
}
|
|
|
|
close() {
|
|
this.element.classList.add("opacity-0", "pointer-events-none")
|
|
this.contentTarget.classList.remove("scale-100")
|
|
this.contentTarget.classList.add("scale-95")
|
|
setTimeout(() => {
|
|
this.element.classList.add("hidden")
|
|
}, 300)
|
|
}
|
|
}
|