diff --git a/src/pages/editor/components/EditorCanvas.tsx b/src/pages/editor/components/EditorCanvas.tsx index b3698bd..e3838a2 100644 --- a/src/pages/editor/components/EditorCanvas.tsx +++ b/src/pages/editor/components/EditorCanvas.tsx @@ -658,7 +658,7 @@ const EditorCanvas = () => { let isGroupedWithMask = false; let hasMask = false; let maskObject = null; - + if (isGroup) { // اگر این یک group است، بررسی کن که آیا از یک object با mask تشکیل شده const groupMembers = objects.filter(o => o.groupId === selectedObject.id); @@ -670,10 +670,10 @@ const EditorCanvas = () => { } else { // اگر یک object معمولی است hasMask = !!selectedObject?.maskId; - maskObject = hasMask ? objects.find(m => m.id === selectedObject.maskId) : null; - isGroupedWithMask = selectedObject?.groupId && maskObject?.groupId === selectedObject.groupId; + maskObject = hasMask ? objects.find(m => m.id === selectedObject?.maskId) : null; + isGroupedWithMask = !!(selectedObject?.groupId && maskObject?.groupId === selectedObject?.groupId); } - + const canGroup = hasMask && !isGroupedWithMask && maskObject && !selectedObject?.isMask; const canUngroup = isGroupedWithMask && isGroup; diff --git a/src/pages/editor/components/canvas/ObjectRenderer.tsx b/src/pages/editor/components/canvas/ObjectRenderer.tsx index 74d768d..b96cef5 100644 --- a/src/pages/editor/components/canvas/ObjectRenderer.tsx +++ b/src/pages/editor/components/canvas/ObjectRenderer.tsx @@ -331,8 +331,6 @@ const ObjectRenderer = ({ // محاسبه موقعیت نسبی mask نسبت به object (قبل از resize) // این موقعیت نسبی در داخل Group استفاده می‌شود - const relativeX = (maskShape.x || 0) - (obj.x || 0); - const relativeY = (maskShape.y || 0) - (obj.y || 0); // reset scale و offset node.scaleX(1);