import React, { WheelEventHandler, useState } from 'react'; import { Box, Image, Modal, ModalCloseButton, ModalContent, ModalOverlay, Skeleton, useDisclosure } from '@chakra-ui/react'; const MdImage = ({ src }: { src?: string }) => { const [isLoading, setIsLoading] = useState(true); const [succeed, setSucceed] = useState(false); const { isOpen, onOpen, onClose } = useDisclosure(); const [scale, setScale] = useState(1); const handleWheel: WheelEventHandler = (e) => { setScale((prevScale) => { const newScale = prevScale + e.deltaY * 0.5 * -0.01; if (newScale < 0.5) return 0.5; if (newScale > 10) return 10; return newScale; }); }; return ( {''} { setIsLoading(false); setSucceed(true); }} onError={() => setIsLoading(false)} onClick={() => { if (!succeed) return; onOpen(); }} /> {''} ); }; export default React.memo(MdImage);