Ver Fonte

performance context

AykutSarac há 2 anos atrás
pai
commit
07cfbc0616

+ 1 - 0
src/constants/data.ts

@@ -45,4 +45,5 @@ export const defaultConfig: StorageConfig = {
   hideEditor: false,
   hideEditor: false,
   zoomPanPinch: null,
   zoomPanPinch: null,
   lightmode: false,
   lightmode: false,
+  performance: false,
 };
 };

+ 6 - 4
src/containers/Editor/Tools.tsx

@@ -68,10 +68,12 @@ export const Tools: React.FC = () => {
       <StyledToolElement aria-label="switch theme" onClick={toggleTheme}>
       <StyledToolElement aria-label="switch theme" onClick={toggleTheme}>
         {settings.lightmode ? <HiOutlineMoon /> : <HiOutlineSun />}
         {settings.lightmode ? <HiOutlineMoon /> : <HiOutlineSun />}
       </StyledToolElement>
       </StyledToolElement>
-      <SearchInput />
-      <StyledToolElement aria-label="save" onClick={exportAsImage}>
-        <FiDownload />
-      </StyledToolElement>
+      {!settings.performance && <SearchInput />}
+      {!settings.performance && (
+        <StyledToolElement aria-label="save" onClick={exportAsImage}>
+          <FiDownload />
+        </StyledToolElement>
+      )}
       <StyledToolElement aria-label="center canvas" onClick={centerView}>
       <StyledToolElement aria-label="center canvas" onClick={centerView}>
         <MdCenterFocusWeak />
         <MdCenterFocusWeak />
       </StyledToolElement>
       </StyledToolElement>

+ 1 - 0
src/hocs/config.tsx

@@ -66,6 +66,7 @@ const WithConfig: ReactComponent = ({ children }) => {
         JSON.stringify({
         JSON.stringify({
           ...states.settings,
           ...states.settings,
           zoomPanPinch: undefined,
           zoomPanPinch: undefined,
+          performance: undefined,
         })
         })
       );
       );
   }, [states.settings, render]);
   }, [states.settings, render]);

+ 10 - 0
src/reducer/reducer.ts

@@ -6,6 +6,7 @@ export enum ConfigActionType {
   SET_CONFIG,
   SET_CONFIG,
   TOGGLE_LAYOUT,
   TOGGLE_LAYOUT,
   TOGGLE_EXPAND,
   TOGGLE_EXPAND,
+  TOGGLE_PERFORMANCE,
   TOGGLE_DOCK,
   TOGGLE_DOCK,
   TOGGLE_THEME,
   TOGGLE_THEME,
   ZOOM_IN,
   ZOOM_IN,
@@ -87,6 +88,15 @@ export const useConfigReducer: React.Reducer<AppConfig, ReducerAction> = (
         },
         },
       };
       };
 
 
+    case ConfigActionType.TOGGLE_PERFORMANCE:
+      return {
+        ...state,
+        settings: {
+          ...state.settings,
+          performance: !state.settings.performance,
+        },
+      };
+
     case ConfigActionType.TOGGLE_LAYOUT:
     case ConfigActionType.TOGGLE_LAYOUT:
       return {
       return {
         ...state,
         ...state,

+ 1 - 0
src/typings/global.ts

@@ -8,6 +8,7 @@ export interface StorageConfig {
   hideEditor: boolean;
   hideEditor: boolean;
   zoomPanPinch: ReactZoomPanPinchRef | null;
   zoomPanPinch: ReactZoomPanPinchRef | null;
   lightmode: boolean;
   lightmode: boolean;
+  performance: boolean;
 }
 }
 
 
 export type ReactComponent = React.FC<PropsWithChildren<{}>>;
 export type ReactComponent = React.FC<PropsWithChildren<{}>>;