diff --git a/src/index.tsx b/src/index.tsx index f02a091d..270128f7 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -680,21 +680,15 @@ class App extends React.Component<{}, AppState> { hitElement.isSelected = true; // We duplicate the selected element if alt is pressed on Mouse down if (e.altKey) { - const element = newElement( - hitElement.type, - hitElement.x, - hitElement.y, - hitElement.strokeColor, - hitElement.backgroundColor, - hitElement.fillStyle, - hitElement.strokeWidth, - hitElement.roughness, - hitElement.opacity, - hitElement.width, - hitElement.height + elements.push( + ...elements.reduce((duplicates, element) => { + if (element.isSelected) { + duplicates.push({ ...element }); + element.isSelected = false; + } + return duplicates; + }, [] as typeof elements) ); - - elements.push(element); } } else { // If we don't click on anything, let's remove all the selected elements