diff --git a/src/features/preview/PreviewManager.js b/src/features/preview/PreviewManager.js
index 71a19c46..30944ffc 100644
--- a/src/features/preview/PreviewManager.js
+++ b/src/features/preview/PreviewManager.js
@@ -4,7 +4,9 @@ import React, { useRef } from "react"
import { useSelector, useDispatch } from "react-redux"
import Select from "react-select"
import Slider from "rc-slider"
+import Button from "react-bootstrap/Button"
import "rc-slider/assets/index.css"
+import { FaPencilAlt } from "react-icons/fa"
import {
updateEffect,
selectCurrentEffect,
@@ -12,12 +14,17 @@ import {
import {
selectPreviewSliderValue,
selectPreviewZoom,
+ selectDrawingMode,
} from "@/features/preview/previewSlice"
import { updateLayer, selectCurrentLayer } from "@/features/layers/layersSlice"
import { getShape } from "@/features/shapes/shapeFactory"
import { getEffect } from "@/features/effects/effectFactory"
import "./PreviewManager.scss"
-import { updatePreview } from "./previewSlice"
+import {
+ updatePreview,
+ toggleDrawingMode,
+ exitDrawingMode,
+} from "./previewSlice"
import PreviewWindow from "./PreviewWindow"
const PreviewManager = ({ isActive }) => {
@@ -26,6 +33,7 @@ const PreviewManager = ({ isActive }) => {
const currentEffectLayer = useSelector(selectCurrentEffect)
const sliderValue = useSelector(selectPreviewSliderValue)
const zoom = useSelector(selectPreviewZoom)
+ const drawingMode = useSelector(selectDrawingMode)
const wrapperRef = useRef()
const currentShape = getShape(currentLayer?.type || "polygon")
@@ -48,6 +56,10 @@ const PreviewManager = ({ isActive }) => {
dispatch(updatePreview({ zoom: option.value }))
}
+ const handleDrawToggle = () => {
+ dispatch(toggleDrawingMode())
+ }
+
const arrowKeyChange = (layer, event) => {
if (!layer) {
return
@@ -77,6 +89,11 @@ const PreviewManager = ({ isActive }) => {
}
const handleKeyDown = (event) => {
+ if (event.key === "Escape" && drawingMode) {
+ dispatch(exitDrawingMode())
+ return
+ }
+
if (currentLayer) {
if (currentShape.canMove(currentLayer)) {
const attrs = arrowKeyChange(currentLayer, event)
@@ -115,6 +132,16 @@ const PreviewManager = ({ isActive }) => {
+
+
+