2023-03-06 09:02:40 +00:00
|
|
|
import { Flex, Heading, Icon } from '@chakra-ui/react';
|
2023-02-04 00:36:31 +00:00
|
|
|
import { ImageUploaderTriggerContext } from 'app/contexts/ImageUploaderTriggerContext';
|
2022-10-29 12:34:21 +00:00
|
|
|
import { useContext } from 'react';
|
|
|
|
import { FaUpload } from 'react-icons/fa';
|
|
|
|
|
|
|
|
type ImageUploaderButtonProps = {
|
|
|
|
styleClass?: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
const ImageUploaderButton = (props: ImageUploaderButtonProps) => {
|
|
|
|
const { styleClass } = props;
|
|
|
|
const open = useContext(ImageUploaderTriggerContext);
|
|
|
|
|
|
|
|
const handleClickUpload = () => {
|
|
|
|
open && open();
|
|
|
|
};
|
|
|
|
|
|
|
|
return (
|
2023-03-06 09:02:40 +00:00
|
|
|
<Flex
|
|
|
|
sx={{
|
|
|
|
width: '100%',
|
|
|
|
height: '100%',
|
|
|
|
alignItems: 'center',
|
|
|
|
justifyContent: 'center',
|
|
|
|
}}
|
|
|
|
className={styleClass}
|
2022-10-29 12:34:21 +00:00
|
|
|
>
|
2023-03-06 09:02:40 +00:00
|
|
|
<Flex
|
|
|
|
onClick={handleClickUpload}
|
|
|
|
sx={{
|
|
|
|
display: 'flex',
|
|
|
|
flexDirection: 'column',
|
|
|
|
rowGap: 8,
|
|
|
|
p: 8,
|
|
|
|
borderRadius: 'base',
|
|
|
|
alignItems: 'center',
|
|
|
|
justifyContent: 'center',
|
|
|
|
textAlign: 'center',
|
|
|
|
cursor: 'pointer',
|
|
|
|
color: 'base.600',
|
|
|
|
bg: 'base.800',
|
|
|
|
_hover: {
|
|
|
|
bg: 'base.700',
|
|
|
|
},
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
<Icon as={FaUpload} boxSize={24} />
|
|
|
|
<Heading size="md">Click or Drag and Drop</Heading>
|
|
|
|
</Flex>
|
|
|
|
</Flex>
|
2022-10-29 12:34:21 +00:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default ImageUploaderButton;
|