From 5682a8770a54f72d853766eb2623ea2a25c91eaf Mon Sep 17 00:00:00 2001 From: junghongseop Date: Thu, 25 Jul 2024 17:46:22 +0900 Subject: [PATCH] =?UTF-8?q?refactor(user):=20=EC=A4=8C=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/CropImageModal/CropImageModal.tsx | 58 ++++++++++++++++++- .../form/ProfileUploader/ProfileUploader.tsx | 3 +- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/apps/user/src/components/form/CropImageModal/CropImageModal.tsx b/apps/user/src/components/form/CropImageModal/CropImageModal.tsx index 4de74c6be..894c97acc 100644 --- a/apps/user/src/components/form/CropImageModal/CropImageModal.tsx +++ b/apps/user/src/components/form/CropImageModal/CropImageModal.tsx @@ -8,15 +8,17 @@ import Cropper from 'react-easy-crop'; import { getCropImg } from '@/utils'; interface Props { + zoom: number; isOpen: boolean; imageSrc: string; onClose: () => void; onCropComplete: (croppedImage: Blob) => void; } -const CropImageModal = ({ isOpen, imageSrc, onClose, onCropComplete }: Props) => { +const CropImageModal = ({ zoom, isOpen, imageSrc, onClose, onCropComplete }: Props) => { const [crop, setCrop] = useState({ x: 0, y: 0 }); const [cropArea, setCropArea] = useState(null); + const [currentZoom, setCurrentZoom] = useState(zoom); const onCropCompleteInternal = useCallback( (cropArea: Area, croppedAreaPixels: Area) => { @@ -36,6 +38,10 @@ const CropImageModal = ({ isOpen, imageSrc, onClose, onCropComplete }: Props) => onClose(); }, [imageSrc, cropArea, onCropComplete, onClose]); + const handleZoomChange = (e: React.ChangeEvent) => { + setCurrentZoom(Number(e.target.value)); + }; + if (!isOpen) return null; return ( @@ -46,14 +52,26 @@ const CropImageModal = ({ isOpen, imageSrc, onClose, onCropComplete }: Props) => + + +