feat: mobile responsive right sidbars + composable window size
This commit is contained in:
25
helpers/utils/useWindowSize.ts
Normal file
25
helpers/utils/useWindowSize.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import {
|
||||
Ref,
|
||||
onMounted,
|
||||
onUnmounted,
|
||||
reactive,
|
||||
toRefs,
|
||||
} from "@nuxtjs/composition-api"
|
||||
|
||||
interface WindowSize {
|
||||
x: Ref<number>
|
||||
y: Ref<number>
|
||||
}
|
||||
|
||||
export function useWindowSize(): WindowSize {
|
||||
const windowSize = reactive({ x: 0, y: 0 })
|
||||
const resizeListener = () => {
|
||||
;({ innerWidth: windowSize.x, innerHeight: windowSize.y } = window)
|
||||
}
|
||||
onMounted(() => window.addEventListener("resize", resizeListener))
|
||||
onUnmounted(() => window.removeEventListener("resize", resizeListener))
|
||||
resizeListener()
|
||||
return toRefs(windowSize)
|
||||
}
|
||||
|
||||
export default useWindowSize
|
||||
Reference in New Issue
Block a user