Răsfoiți Sursa

fix: scale selector

Arnošt Pleskot 1 an în urmă
părinte
comite
c578e4b640
1 a modificat fișierele cu 19 adăugiri și 8 ștergeri
  1. 19 8
      src/components/ImageExportDialog.tsx

+ 19 - 8
src/components/ImageExportDialog.tsx

@@ -1,4 +1,10 @@
-import React, { useCallback, useEffect, useRef, useState } from "react";
+import React, {
+  useCallback,
+  useEffect,
+  useMemo,
+  useRef,
+  useState,
+} from "react";
 import clsx from "clsx";
 
 import type { ActionManager } from "../actions/manager";
@@ -106,12 +112,16 @@ const ImageExportModal = ({
   const previewRef = useRef<HTMLDivElement>(null);
   const [renderError, setRenderError] = useState<Error | null>(null);
 
-  const exportedElements = exportSelected
-    ? getSelectedElements(elements, appState, {
-        includeBoundTextElement: true,
-        includeElementsInFrames: true,
-      })
-    : elements;
+  const exportedElements = useMemo(
+    () =>
+      exportSelected
+        ? getSelectedElements(elements, appState, {
+            includeBoundTextElement: true,
+            includeElementsInFrames: true,
+          })
+        : elements,
+    [exportSelected, elements],
+  );
 
   const updateAllScales = useCallback(
     (scale: number) => {
@@ -168,9 +178,10 @@ const ImageExportModal = ({
   }, [
     exportBackgroundImage,
     exportWithBackground,
-    exportedElements,
     exportBaseScale,
     updateAllScales,
+    exportedElements,
+    exportSelected,
   ]);
 
   useEffect(() => {