1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

95 lines
3.2 KiB
JavaScript
Raw Normal View History

2020-01-19 21:52:57 -07:00
import React from "react";
import {
Button,
Modal,
ModalOverlay,
ModalContent,
ModalHeader,
ModalBody,
ModalCloseButton,
Stack,
Tag,
useDisclosure,
useColorMode,
useTheme
} from "@chakra-ui/core";
import useConfig from "~/components/HyperglassProvider";
import useMedia from "~/components/MediaProvider";
import CodeBlock from "~/components/CodeBlock";
const prettyMediaSize = { sm: "SMALL", md: "MEDIUM", lg: "LARGE", xl: "X-LARGE" };
2020-01-21 01:09:22 -07:00
const Debugger = () => {
2020-01-19 21:52:57 -07:00
const { isOpen: configOpen, onOpen: onConfigOpen, onClose: configClose } = useDisclosure();
const { isOpen: themeOpen, onOpen: onThemeOpen, onClose: themeClose } = useDisclosure();
const config = useConfig();
const theme = useTheme();
2020-01-21 17:39:34 -07:00
const bg = { light: "white", dark: "black" };
2020-01-21 01:09:22 -07:00
const color = { light: "black", dark: "white" };
2020-01-19 21:52:57 -07:00
const { colorMode } = useColorMode();
const { mediaSize } = useMedia();
const borderColor = { light: "gray.100", dark: "gray.600" };
return (
<>
<Stack
borderWidth="1px"
borderColor={borderColor[colorMode]}
py={4}
px={4}
isInline
2020-01-21 17:39:34 -07:00
position="relative"
2020-01-19 21:52:57 -07:00
left={0}
right={0}
2020-03-29 20:04:24 -07:00
bottom={0}
2020-01-19 21:52:57 -07:00
justifyContent="center"
2020-01-21 17:39:34 -07:00
zIndex={1000}
2020-03-29 20:04:24 -07:00
maxW="100%"
2020-01-19 21:52:57 -07:00
>
2020-01-21 01:09:22 -07:00
<Tag variantColor="gray">{colorMode.toUpperCase()}</Tag>
2020-01-19 21:52:57 -07:00
<Tag variantColor="teal">{prettyMediaSize[mediaSize]}</Tag>
<Button size="sm" variantColor="cyan" onClick={onConfigOpen}>
View Config
</Button>
<Button size="sm" variantColor="purple" onClick={onThemeOpen}>
View Theme
</Button>
</Stack>
<Modal isOpen={configOpen} onClose={configClose} size="full">
<ModalOverlay />
2020-03-29 20:04:24 -07:00
<ModalContent
bg={bg[colorMode]}
color={color[colorMode]}
py={4}
borderRadius="md"
maxW="90%"
>
2020-01-19 21:52:57 -07:00
<ModalHeader>Loaded Configuration</ModalHeader>
<ModalCloseButton />
<ModalBody>
<CodeBlock>{JSON.stringify(config, null, 4)}</CodeBlock>
</ModalBody>
</ModalContent>
</Modal>
2020-03-29 20:04:24 -07:00
<Modal isOpen={themeOpen} onClose={themeClose} size="full">
2020-01-19 21:52:57 -07:00
<ModalOverlay />
2020-03-29 20:04:24 -07:00
<ModalContent
bg={bg[colorMode]}
color={color[colorMode]}
py={4}
borderRadius="md"
maxW="90%"
>
2020-01-19 21:52:57 -07:00
<ModalHeader>Loaded Theme</ModalHeader>
<ModalCloseButton />
<ModalBody>
<CodeBlock>{JSON.stringify(theme, null, 4)}</CodeBlock>
</ModalBody>
</ModalContent>
</Modal>
</>
);
};
2020-01-21 01:09:22 -07:00
Debugger.displayName = "Debugger";
export default Debugger;