2021-01-03 14:53:06 +11:00
|
|
|
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-09 12:04:31 +10:00
|
|
|
const gridTemplate = isLargeScreen
|
|
|
|
|
? "1fr 1fr 1fr 1fr"
|
|
|
|
|
: isMediumScreen
|
|
|
|
|
? "1fr 1fr 1fr"
|
|
|
|
|
: "1fr 1fr";
|
|
|
|
|
|
2021-05-24 13:34:21 +10:00
|
|
|
const tileContainerHeight = isLargeScreen ? "600px" : "400px";
|
|
|
|
|
|
|
|
|
|
return { screenSize, modalSize, tileSize, gridTemplate, tileContainerHeight };
|
2021-01-03 14:53:06 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default useResponsiveLayout;
|