From b9fbcfb9b68a8c005608d637e187fb8f2b86b78b Mon Sep 17 00:00:00 2001 From: 1ilit Date: Sun, 24 Dec 2023 03:06:49 +0200 Subject: [PATCH] Handle template loading better --- src/components/ControlPanel.jsx | 4 ++-- src/pages/Templates.jsx | 9 ++++++++- src/pages/editor.jsx | 31 +++++++++++++++++++------------ 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/components/ControlPanel.jsx b/src/components/ControlPanel.jsx index b355b0a..9b3296b 100644 --- a/src/components/ControlPanel.jsx +++ b/src/components/ControlPanel.jsx @@ -702,8 +702,8 @@ export default function ControlPanel({ }); }; const createNewDiagram = (id) => { - localStorage.setItem("args", `${id}`); - window.open("/editor", "_blank"); + const newWindow = window.open("/editor"); + newWindow.name = "lt " + id; }; const menu = { diff --git a/src/pages/Templates.jsx b/src/pages/Templates.jsx index ebaa6f3..9932c29 100644 --- a/src/pages/Templates.jsx +++ b/src/pages/Templates.jsx @@ -171,6 +171,10 @@ export default function Templates() { await db.templates.delete(id); }; + const editTemplate = (id) => { + console.log(id); + }; + useEffect(() => { document.title = "Templates | drawDB"; }, []); @@ -253,7 +257,10 @@ export default function Templates() {
- diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx index 7c46d7a..041a368 100644 --- a/src/pages/editor.jsx +++ b/src/pages/editor.jsx @@ -578,20 +578,27 @@ export default function Editor() { }); }; - const args = localStorage.getItem("args"); - if (!args || args === "-1") { - if (window.name === "") { - console.log("Loading the latest diagram"); - loadLatestDiagram(); - } else { - const did = parseInt(window.name.split(" ")[1]); - loadDiagram(did); - } + if (window.name == "") { + console.log("Loading the latest diagram"); + loadLatestDiagram(); } else { - console.log("Loading template with id", args); - localStorage.setItem("args", "-1"); + const name = window.name.split(" "); + const op = name[0]; + const did = parseInt(name[1]); + switch (op) { + case "d": { + loadDiagram(did); + break; + } + case "lt": { + console.log("Loading template with id", did); + break; + } + default: + break; + } } - + socket.connect(); const onConnect = () => {