grungnet/src/hooks/useResponsiveLayout.ts

41 lines
865 B
TypeScript
Raw Normal View History

import { useMedia } from "react-media";
function useResponsiveLayout() {
const isMediumScreen = useMedia({ query: "(min-width: 500px)" });
const isLargeScreen = useMedia({ query: "(min-width: 1500px)" });
const screenSize = isLargeScreen
? "large"
: isMediumScreen
? "medium"
: "small";
const modalSize = isLargeScreen
? "842px"
: isMediumScreen
? "642px"
: "500px";
const tileSize = isLargeScreen
? "small"
: isMediumScreen
? "medium"
: "large";
2021-05-25 05:47:52 +00:00
const tileGridColumns = isLargeScreen ? 4 : isMediumScreen ? 3 : 2;
2021-05-25 05:47:52 +00:00
const groupGridColumns = isLargeScreen ? 3 : 2;
2021-05-24 07:11:46 +00:00
const tileContainerHeight = isLargeScreen ? "600px" : "400px";
2021-05-24 07:11:46 +00:00
return {
screenSize,
modalSize,
tileSize,
2021-05-25 05:47:52 +00:00
tileGridColumns,
2021-05-24 07:11:46 +00:00
tileContainerHeight,
2021-05-25 05:47:52 +00:00
groupGridColumns,
2021-05-24 07:11:46 +00:00
};
}
export default useResponsiveLayout;