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

93 lines
2.5 KiB
JavaScript
Raw Normal View History

2020-10-07 09:41:58 -07:00
import * as React from 'react';
2020-01-19 21:52:57 -07:00
import {
Button,
Modal,
ModalOverlay,
ModalContent,
ModalHeader,
ModalBody,
ModalCloseButton,
Stack,
Tag,
useDisclosure,
useColorMode,
2020-10-07 09:41:58 -07:00
useTheme,
} from '@chakra-ui/core';
import { useConfig, useMedia } from 'app/context';
import { CodeBlock } from 'app/components';
2020-01-19 21:52:57 -07:00
const prettyMediaSize = {
2020-10-07 09:41:58 -07:00
sm: 'SMALL',
md: 'MEDIUM',
lg: 'LARGE',
xl: 'X-LARGE',
};
2020-01-19 21:52:57 -07:00
export const Debugger = () => {
2020-10-07 09:41:58 -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-10-07 09:41:58 -07:00
const bg = { light: 'white', dark: 'black' };
const color = { light: 'black', dark: 'white' };
const { colorMode } = useColorMode();
const { mediaSize } = useMedia();
2020-10-07 09:41:58 -07:00
const borderColor = { light: 'gray.100', dark: 'gray.600' };
return (
<>
<Stack
borderWidth="1px"
borderColor={borderColor[colorMode]}
py={4}
px={4}
isInline
position="relative"
left={0}
right={0}
bottom={0}
justifyContent="center"
zIndex={1000}
2020-10-07 09:41:58 -07:00
maxW="100%">
<Tag variantColor="gray">{colorMode.toUpperCase()}</Tag>
<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 />
<ModalContent
bg={bg[colorMode]}
color={color[colorMode]}
py={4}
borderRadius="md"
2020-10-07 09:41:58 -07:00
maxW="90%">
<ModalHeader>Loaded Configuration</ModalHeader>
<ModalCloseButton />
<ModalBody>
<CodeBlock>{JSON.stringify(config, null, 4)}</CodeBlock>
</ModalBody>
</ModalContent>
</Modal>
<Modal isOpen={themeOpen} onClose={themeClose} size="full">
<ModalOverlay />
<ModalContent
bg={bg[colorMode]}
color={color[colorMode]}
py={4}
borderRadius="md"
2020-10-07 09:41:58 -07:00
maxW="90%">
<ModalHeader>Loaded Theme</ModalHeader>
<ModalCloseButton />
<ModalBody>
<CodeBlock>{JSON.stringify(theme, null, 4)}</CodeBlock>
</ModalBody>
</ModalContent>
</Modal>
</>
);
2020-01-19 21:52:57 -07:00
};