From 3b4b66fabf49192c2bc7a633dee9c13e9f8cf271 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Thu, 13 Feb 2025 13:44:54 -0300 Subject: [PATCH] refactor: fix type error in image-crop.tsx Close #15 --- .../resources/frontend/src/image-crop.tsx | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/resources/META-INF/resources/frontend/src/image-crop.tsx b/src/main/resources/META-INF/resources/frontend/src/image-crop.tsx index 44ed4ad..e56dd9a 100644 --- a/src/main/resources/META-INF/resources/frontend/src/image-crop.tsx +++ b/src/main/resources/META-INF/resources/frontend/src/image-crop.tsx @@ -21,7 +21,7 @@ import { ReactAdapterElement, RenderHooks } from 'Frontend/generated/flow/ReactAdapter'; import { JSXElementConstructor, ReactElement, useRef } from "react"; import React from 'react'; -import { type Crop, ReactCrop, PixelCrop, makeAspectCrop, centerCrop } from "react-image-crop"; +import { type Crop, ReactCrop, PixelCrop, PercentCrop, makeAspectCrop, centerCrop } from "react-image-crop"; class ImageCropElement extends ReactAdapterElement { @@ -45,23 +45,19 @@ class ImageCropElement extends ReactAdapterElement { const onImageLoad = () => { if (imgRef.current && crop) { const { width, height } = imgRef.current; - const newcrop = centerCrop( - makeAspectCrop( - { - unit: crop.unit, - width: crop.width, - height: crop.height, - x: crop.x, - y: crop.y - }, - aspect, + if (crop.unit==='px') { + setCrop(centerCrop( + makeAspectCrop(crop as PixelCrop, aspect, width, height), width, height - ), - width, - height - ) - setCrop(newcrop); + )); + } else if (crop.unit==='%') { + setCrop(centerCrop( + makeAspectCrop(crop as PercentCrop, aspect, width, height), + width, + height + )); + } } };