|
@@ -39,6 +39,7 @@ import { trackEvent } from "../analytics";
|
|
|
import { useDevice } from "../components/App";
|
|
|
import { Stats } from "./Stats";
|
|
|
import { actionToggleStats } from "../actions/actionToggleStats";
|
|
|
+import { actionToggleZenMode } from "../actions";
|
|
|
|
|
|
interface LayerUIProps {
|
|
|
actionManager: ActionManager;
|
|
@@ -51,16 +52,13 @@ interface LayerUIProps {
|
|
|
onLockToggle: () => void;
|
|
|
onPenModeToggle: () => void;
|
|
|
onInsertElements: (elements: readonly NonDeletedExcalidrawElement[]) => void;
|
|
|
- zenModeEnabled: boolean;
|
|
|
showExitZenModeBtn: boolean;
|
|
|
showThemeBtn: boolean;
|
|
|
- toggleZenMode: () => void;
|
|
|
langCode: Language["code"];
|
|
|
isCollaborating: boolean;
|
|
|
renderTopRightUI?: ExcalidrawProps["renderTopRightUI"];
|
|
|
renderCustomFooter?: ExcalidrawProps["renderFooter"];
|
|
|
renderCustomStats?: ExcalidrawProps["renderCustomStats"];
|
|
|
- viewModeEnabled: boolean;
|
|
|
libraryReturnUrl: ExcalidrawProps["libraryReturnUrl"];
|
|
|
UIOptions: AppProps["UIOptions"];
|
|
|
focusContainer: () => void;
|
|
@@ -79,15 +77,12 @@ const LayerUI = ({
|
|
|
onLockToggle,
|
|
|
onPenModeToggle,
|
|
|
onInsertElements,
|
|
|
- zenModeEnabled,
|
|
|
showExitZenModeBtn,
|
|
|
showThemeBtn,
|
|
|
- toggleZenMode,
|
|
|
isCollaborating,
|
|
|
renderTopRightUI,
|
|
|
renderCustomFooter,
|
|
|
renderCustomStats,
|
|
|
- viewModeEnabled,
|
|
|
libraryReturnUrl,
|
|
|
UIOptions,
|
|
|
focusContainer,
|
|
@@ -171,7 +166,7 @@ const LayerUI = ({
|
|
|
<Section
|
|
|
heading="canvasActions"
|
|
|
className={clsx("zen-mode-transition", {
|
|
|
- "transition-left": zenModeEnabled,
|
|
|
+ "transition-left": appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
{/* the zIndex ensures this menu has higher stacking order,
|
|
@@ -192,7 +187,7 @@ const LayerUI = ({
|
|
|
<Section
|
|
|
heading="canvasActions"
|
|
|
className={clsx("zen-mode-transition", {
|
|
|
- "transition-left": zenModeEnabled,
|
|
|
+ "transition-left": appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
{/* the zIndex ensures this menu has higher stacking order,
|
|
@@ -232,7 +227,7 @@ const LayerUI = ({
|
|
|
<Section
|
|
|
heading="selectedShapeActions"
|
|
|
className={clsx("zen-mode-transition", {
|
|
|
- "transition-left": zenModeEnabled,
|
|
|
+ "transition-left": appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
<Island
|
|
@@ -302,32 +297,34 @@ const LayerUI = ({
|
|
|
<div className="App-menu App-menu_top">
|
|
|
<Stack.Col
|
|
|
gap={4}
|
|
|
- className={clsx({ "disable-pointerEvents": zenModeEnabled })}
|
|
|
+ className={clsx({
|
|
|
+ "disable-pointerEvents": appState.zenModeEnabled,
|
|
|
+ })}
|
|
|
>
|
|
|
- {viewModeEnabled
|
|
|
+ {appState.viewModeEnabled
|
|
|
? renderViewModeCanvasActions()
|
|
|
: renderCanvasActions()}
|
|
|
{shouldRenderSelectedShapeActions && renderSelectedShapeActions()}
|
|
|
</Stack.Col>
|
|
|
- {!viewModeEnabled && (
|
|
|
+ {!appState.viewModeEnabled && (
|
|
|
<Section heading="shapes">
|
|
|
{(heading) => (
|
|
|
<Stack.Col gap={4} align="start">
|
|
|
<Stack.Row
|
|
|
gap={1}
|
|
|
className={clsx("App-toolbar-container", {
|
|
|
- "zen-mode": zenModeEnabled,
|
|
|
+ "zen-mode": appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
<PenModeButton
|
|
|
- zenModeEnabled={zenModeEnabled}
|
|
|
+ zenModeEnabled={appState.zenModeEnabled}
|
|
|
checked={appState.penMode}
|
|
|
onChange={onPenModeToggle}
|
|
|
title={t("toolBar.penMode")}
|
|
|
penDetected={appState.penDetected}
|
|
|
/>
|
|
|
<LockButton
|
|
|
- zenModeEnabled={zenModeEnabled}
|
|
|
+ zenModeEnabled={appState.zenModeEnabled}
|
|
|
checked={appState.activeTool.locked}
|
|
|
onChange={() => onLockToggle()}
|
|
|
title={t("toolBar.lock")}
|
|
@@ -335,7 +332,7 @@ const LayerUI = ({
|
|
|
<Island
|
|
|
padding={1}
|
|
|
className={clsx("App-toolbar", {
|
|
|
- "zen-mode": zenModeEnabled,
|
|
|
+ "zen-mode": appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
<HintViewer
|
|
@@ -371,7 +368,7 @@ const LayerUI = ({
|
|
|
className={clsx(
|
|
|
"layer-ui__wrapper__top-right zen-mode-transition",
|
|
|
{
|
|
|
- "transition-right": zenModeEnabled,
|
|
|
+ "transition-right": appState.zenModeEnabled,
|
|
|
},
|
|
|
)}
|
|
|
>
|
|
@@ -396,7 +393,8 @@ const LayerUI = ({
|
|
|
className={clsx(
|
|
|
"layer-ui__wrapper__footer-left zen-mode-transition",
|
|
|
{
|
|
|
- "layer-ui__wrapper__footer-left--transition-left": zenModeEnabled,
|
|
|
+ "layer-ui__wrapper__footer-left--transition-left":
|
|
|
+ appState.zenModeEnabled,
|
|
|
},
|
|
|
)}
|
|
|
>
|
|
@@ -408,12 +406,12 @@ const LayerUI = ({
|
|
|
zoom={appState.zoom}
|
|
|
/>
|
|
|
</Island>
|
|
|
- {!viewModeEnabled && (
|
|
|
+ {!appState.viewModeEnabled && (
|
|
|
<>
|
|
|
<div
|
|
|
className={clsx("undo-redo-buttons zen-mode-transition", {
|
|
|
"layer-ui__wrapper__footer-left--transition-bottom":
|
|
|
- zenModeEnabled,
|
|
|
+ appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
{actionManager.renderAction("undo", { size: "small" })}
|
|
@@ -423,20 +421,20 @@ const LayerUI = ({
|
|
|
<div
|
|
|
className={clsx("eraser-buttons zen-mode-transition", {
|
|
|
"layer-ui__wrapper__footer-left--transition-left":
|
|
|
- zenModeEnabled,
|
|
|
+ appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
{actionManager.renderAction("eraser", { size: "small" })}
|
|
|
</div>
|
|
|
</>
|
|
|
)}
|
|
|
- {!viewModeEnabled &&
|
|
|
+ {!appState.viewModeEnabled &&
|
|
|
appState.multiElement &&
|
|
|
device.isTouchScreen && (
|
|
|
<div
|
|
|
className={clsx("finalize-button zen-mode-transition", {
|
|
|
"layer-ui__wrapper__footer-left--transition-left":
|
|
|
- zenModeEnabled,
|
|
|
+ appState.zenModeEnabled,
|
|
|
})}
|
|
|
>
|
|
|
{actionManager.renderAction("finalize", { size: "small" })}
|
|
@@ -450,7 +448,7 @@ const LayerUI = ({
|
|
|
"layer-ui__wrapper__footer-center zen-mode-transition",
|
|
|
{
|
|
|
"layer-ui__wrapper__footer-left--transition-bottom":
|
|
|
- zenModeEnabled,
|
|
|
+ appState.zenModeEnabled,
|
|
|
},
|
|
|
)}
|
|
|
>
|
|
@@ -460,7 +458,7 @@ const LayerUI = ({
|
|
|
className={clsx(
|
|
|
"layer-ui__wrapper__footer-right zen-mode-transition",
|
|
|
{
|
|
|
- "transition-right disable-pointerEvents": zenModeEnabled,
|
|
|
+ "transition-right disable-pointerEvents": appState.zenModeEnabled,
|
|
|
},
|
|
|
)}
|
|
|
>
|
|
@@ -470,7 +468,7 @@ const LayerUI = ({
|
|
|
className={clsx("disable-zen-mode", {
|
|
|
"disable-zen-mode--visible": showExitZenModeBtn,
|
|
|
})}
|
|
|
- onClick={toggleZenMode}
|
|
|
+ onClick={() => actionManager.executeAction(actionToggleZenMode)}
|
|
|
>
|
|
|
{t("buttons.exitZenMode")}
|
|
|
</button>
|
|
@@ -543,7 +541,6 @@ const LayerUI = ({
|
|
|
canvas={canvas}
|
|
|
isCollaborating={isCollaborating}
|
|
|
renderCustomFooter={renderCustomFooter}
|
|
|
- viewModeEnabled={viewModeEnabled}
|
|
|
showThemeBtn={showThemeBtn}
|
|
|
onImageAction={onImageAction}
|
|
|
renderTopRightUI={renderTopRightUI}
|