diff --git a/src/components/ControlPanel.jsx b/src/components/ControlPanel.jsx index 460c66e..62f3036 100644 --- a/src/components/ControlPanel.jsx +++ b/src/components/ControlPanel.jsx @@ -924,7 +924,24 @@ export default function ControlPanel({ function: () => {}, }, Settings: { - function: () => {}, + children: [ + { + Autosave: () => + setSettings((prev) => { + Toast.success( + `Autosave is ${settings.autosave ? "off" : "on"}` + ); + return { ...prev, autosave: !prev.autosave }; + }), + }, + { + Panning: () => + setSettings((prev) => { + Toast.success(`Panning is ${settings.panning ? "off" : "on"}`); + return { ...prev, panning: !prev.panning }; + }), + }, + ], }, Exit: { function: () => {}, diff --git a/src/components/canvas.jsx b/src/components/canvas.jsx index bdcbab2..6711379 100644 --- a/src/components/canvas.jsx +++ b/src/components/canvas.jsx @@ -127,6 +127,9 @@ export default function Canvas(props) { dragging.element === ObjectType.NONE && areaResize.id === -1 ) { + if (!settings.panning) { + return; + } const dx = e.clientX - panOffset.x; const dy = e.clientY - panOffset.y; setSettings((prev) => ({ diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx index c44d7b7..9bbbd43 100644 --- a/src/pages/editor.jsx +++ b/src/pages/editor.jsx @@ -58,6 +58,8 @@ export default function Editor(props) { pan: { x: 0, y: 0 }, showGrid: true, mode: "light", + autosave: true, + panning: true, }); const [tasks, setTasks] = useState([]); const [messages, setMessages] = useState([]);