Skip to content

Commit 85cf795

Browse files
committed
Prevent the diagram from getting overwritten when reloaded
1 parent 59a388f commit 85cf795

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/components/Workspace.jsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default function WorkSpace() {
5757
} = useDiagram();
5858
const { undoStack, redoStack, setUndoStack, setRedoStack } = useUndoRedo();
5959
const { t, i18n } = useTranslation();
60-
let [searchParams] = useSearchParams();
60+
let [searchParams, setSearchParams] = useSearchParams();
6161
const handleResize = (e) => {
6262
if (!resize) return;
6363
const w = isRtl(i18n.language) ? window.innerWidth - e.clientX : e.clientX;
@@ -70,6 +70,8 @@ export default function WorkSpace() {
7070
const saveAsDiagram = window.name === "" || op === "d" || op === "lt";
7171

7272
if (saveAsDiagram) {
73+
searchParams.delete("shareId");
74+
setSearchParams(searchParams);
7375
if (
7476
(id === 0 && window.name === "") ||
7577
window.name.split(" ")[0] === "lt"
@@ -144,6 +146,8 @@ export default function WorkSpace() {
144146
});
145147
}
146148
}, [
149+
searchParams,
150+
setSearchParams,
147151
tables,
148152
relationships,
149153
notes,
@@ -317,9 +321,11 @@ export default function WorkSpace() {
317321

318322
const loadFromGist = useCallback(
319323
async (shareId) => {
320-
const d = await db.diagrams.get({ loadedFromGistId: shareId });
321-
if (d) {
322-
window.name = "d " + d.id;
324+
const existingDiagram = await db.diagrams.get({
325+
loadedFromGistId: shareId,
326+
});
327+
if (existingDiagram) {
328+
window.name = "d " + existingDiagram.id;
323329
} else {
324330
window.name = "";
325331
}
@@ -332,7 +338,7 @@ export default function WorkSpace() {
332338
});
333339
const diagramSrc = res.data.files["share.json"].content;
334340
const d = JSON.parse(diagramSrc);
335-
setGistId("")
341+
setGistId("");
336342
setUndoStack([]);
337343
setRedoStack([]);
338344
setLoadedFromGistId(shareId);

0 commit comments

Comments
 (0)