import { atom, useAtomValue, useSetAtom } from "jotai";
import { useEffect } from "react";
import { Dimensions } from "react-native";
const orientationAtom = atom<"vertical" | "horizontal">("vertical");
export function useListenOrientationChange() {
const setOrientationAtom = useSetAtom(orientationAtom);
useEffect(() => {
const windowSize = Dimensions.get("window");
const { width, height } = windowSize;
if (width < height) {
setOrientationAtom("vertical");
} else {
setOrientationAtom("horizontal");
}
const subscription = Dimensions.addEventListener("change", e => {
if (e.window.width < e.window.height) {
setOrientationAtom("vertical");
} else {
setOrientationAtom("horizontal");
}
});
return () => {
subscription?.remove();
};
}, []);
}
export default function useOrientation() {
return useAtomValue(orientationAtom);
}