|
1 | 1 | import React from 'react' |
2 | | -import Box, { BoxProps } from '@chakra-ui/core/dist/Box' |
| 2 | +import PseudoBox, { PseudoBoxProps } from '@chakra-ui/core/dist/PseudoBox' |
3 | 3 | import Flex, { FlexProps } from '@chakra-ui/core/dist/Flex' |
4 | 4 | import Stack, { StackProps } from '@chakra-ui/core/dist/Stack' |
| 5 | +import { useColorMode } from '@chakra-ui/core/dist/ColorModeProvider' |
5 | 6 |
|
6 | 7 | // -- |
7 | 8 |
|
8 | | -const baseProps: BoxProps = { |
| 9 | +export const cardBackgroundColors = { |
| 10 | + light: 'white', |
| 11 | + dark: 'gray.900', |
| 12 | +} |
| 13 | + |
| 14 | +export const cardProps: PseudoBoxProps = { |
9 | 15 | p: 4, |
10 | 16 | borderRadius: 4, |
11 | | - bg: 'white', |
12 | 17 | shadow: 'md', |
13 | 18 | } |
14 | 19 |
|
15 | | -export interface CardProps extends BoxProps {} |
| 20 | +export interface CardProps extends PseudoBoxProps {} |
16 | 21 |
|
17 | 22 | export const Card: React.FC<CardProps> = ({ ...props }) => { |
18 | | - return <Box {...baseProps} {...props} /> |
| 23 | + const { colorMode } = useColorMode() |
| 24 | + return ( |
| 25 | + <PseudoBox {...cardProps} bg={cardBackgroundColors[colorMode]} {...props} /> |
| 26 | + ) |
19 | 27 | } |
20 | 28 |
|
21 | 29 | // -- |
22 | 30 |
|
23 | 31 | export interface FlexCardProps extends FlexProps {} |
24 | 32 |
|
25 | 33 | export const FlexCard: React.FC<FlexCardProps> = ({ ...props }) => { |
26 | | - return <Flex {...baseProps} {...props} /> |
| 34 | + const { colorMode } = useColorMode() |
| 35 | + return <Flex {...cardProps} bg={cardBackgroundColors[colorMode]} {...props} /> |
27 | 36 | } |
28 | 37 |
|
29 | 38 | // -- |
30 | 39 |
|
31 | 40 | export interface StackCardProps extends StackProps {} |
32 | 41 |
|
33 | 42 | export const StackCard: React.FC<StackCardProps> = ({ ...props }) => { |
34 | | - return <Stack {...baseProps} {...props} /> |
| 43 | + const { colorMode } = useColorMode() |
| 44 | + return ( |
| 45 | + <Stack {...cardProps} bg={cardBackgroundColors[colorMode]} {...props} /> |
| 46 | + ) |
35 | 47 | } |
0 commit comments