diff options
Diffstat (limited to 'src/components/comments')
-rw-r--r-- | src/components/comments/ZoomInCropper.tsx | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/components/comments/ZoomInCropper.tsx b/src/components/comments/ZoomInCropper.tsx index 43c4c6ff..6f8ff97c 100644 --- a/src/components/comments/ZoomInCropper.tsx +++ b/src/components/comments/ZoomInCropper.tsx @@ -35,7 +35,7 @@ export const ZoomInCropper: React.FC<ZoomInCropperProps> = ({ const [aspectRatio, setAspectRatio] = useState<number>(1); // width and height of video, if video const [origDimensions, setOrigDimensions] = useState<number[]>([0, 0]); - const vidRef = useRef<Video>(null); + const vidRef = useRef<View>(null); // Stores the coordinates of the cropped image const [x0, setX0] = useState<number>(); @@ -73,20 +73,22 @@ export const ZoomInCropper: React.FC<ZoomInCropperProps> = ({ (err) => console.log(err), ); } else if (media.uri && !checkIfUriImage(media.uri)) { - const tempVideoCrop = {...videoCrop}; - tempVideoCrop.cropWidth = origDimensions[0]; - tempVideoCrop.cropHeight = origDimensions[1]; - setVideoCrop(tempVideoCrop); + setVideoCrop((prevState) => ({ + ...prevState, + cropWidth: origDimensions[0], + cropHeight: origDimensions[1], + })); } }, []); // Possible need to delay setting aspect ratio of video until loaded useEffect(() => { if (media.uri && !checkIfUriImage(media.uri)) { - const tempVideoCrop = {...videoCrop}; - tempVideoCrop.cropWidth = origDimensions[0]; - tempVideoCrop.cropHeight = origDimensions[1]; - setVideoCrop(tempVideoCrop); + setVideoCrop((prevState) => ({ + ...prevState, + cropWidth: origDimensions[0], + cropHeight: origDimensions[1], + })); } }, [origDimensions]); @@ -128,10 +130,11 @@ export const ZoomInCropper: React.FC<ZoomInCropperProps> = ({ } } else { if (!videoCrop.cropHeight || !videoCrop.cropWidth) { - const tempVideoCrop = {...videoCrop}; - tempVideoCrop.cropWidth = origDimensions[0]; - tempVideoCrop.cropHeight = origDimensions[1]; - setVideoCrop(tempVideoCrop); + setVideoCrop((prevState) => ({ + ...prevState, + cropWidth: origDimensions[0], + cropHeight: origDimensions[1], + })); } cropVideo( media.uri, @@ -200,12 +203,13 @@ export const ZoomInCropper: React.FC<ZoomInCropperProps> = ({ } else { cropHeight = origDimensions[1]; } - const tempVideoCrop = {...videoCrop}; - tempVideoCrop.cropWidth = cropWidth; - tempVideoCrop.cropHeight = cropHeight; - tempVideoCrop.cropOffsetX = cropOffsetX; - tempVideoCrop.cropOffsetY = cropOffsetY; - setVideoCrop(tempVideoCrop); + setVideoCrop((prevState) => ({ + ...prevState, + cropWidth: cropWidth, + cropHeight: cropHeight, + cropOffsetX: cropOffsetX, + cropOffsetY: cropOffsetY, + })); }, ); } |