mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
27 lines
662 B
TypeScript
27 lines
662 B
TypeScript
import { useEffect, useState } from "react";
|
|
|
|
const getIsMobile = () =>
|
|
typeof window !== "undefined" ? window.innerWidth <= 768 : false;
|
|
|
|
export default function useIsMobile() {
|
|
const [isMobile, setIsMobile] = useState(getIsMobile());
|
|
|
|
useEffect(() => {
|
|
const onResize = () => {
|
|
setIsMobile(getIsMobile());
|
|
};
|
|
|
|
if (typeof window !== "undefined") {
|
|
window.addEventListener("resize", onResize);
|
|
}
|
|
|
|
return () => {
|
|
if (typeof window !== "undefined") {
|
|
window.removeEventListener("resize", onResize);
|
|
}
|
|
};
|
|
}, []);
|
|
|
|
return isMobile;
|
|
}
|