Files
sure/app/javascript/controllers/viewport_controller.js

27 lines
657 B
JavaScript

import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
connect() {
this.updateViewport()
this.boundResize = this.handleResize.bind(this)
window.addEventListener("resize", this.boundResize)
window.addEventListener("orientationchange", this.boundResize)
}
disconnect() {
window.removeEventListener("resize", this.boundResize)
window.removeEventListener("orientationchange", this.boundResize)
}
handleResize() {
this.updateViewport()
}
updateViewport() {
const height = window.innerHeight
document.documentElement.style.setProperty("--app-height", `${height}px`)
}
}