Skip to content

Commit 59a388f

Browse files
committed
Fix wrong url being generated for shared diagrams
1 parent 9aec2f0 commit 59a388f

File tree

4 files changed

+15
-32
lines changed

4 files changed

+15
-32
lines changed

src/components/EditorHeader/Modal/Share.jsx

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Button, Input, Spin, Toast } from "@douyinfe/semi-ui";
2-
import { useCallback, useContext, useEffect, useState, useMemo } from "react";
2+
import { useCallback, useContext, useEffect, useState } from "react";
33
import { useTranslation } from "react-i18next";
4-
import { Octokit } from "octokit";
54
import { IdContext } from "../../Workspace";
65
import { IconLink } from "@douyinfe/semi-icons";
76
import {
@@ -13,6 +12,7 @@ import {
1312
useTypes,
1413
} from "../../../hooks";
1514
import { databases } from "../../../data/databases";
15+
import { octokit } from "../../../data/octokit";
1616

1717
export default function Share({ title }) {
1818
const { t } = useTranslation();
@@ -24,17 +24,8 @@ export default function Share({ title }) {
2424
const { types } = useTypes();
2525
const { enums } = useEnums();
2626
const { transform } = useTransform();
27-
28-
const userToken = localStorage.getItem("github_token");
29-
const octokit = useMemo(() => {
30-
return new Octokit({
31-
auth: userToken ?? import.meta.env.VITE_GITHUB_ACCESS_TOKEN,
32-
});
33-
}, [userToken]);
34-
const url = useMemo(
35-
() => window.location.href + "?shareId=" + gistId,
36-
[gistId],
37-
);
27+
const url =
28+
window.location.origin + window.location.pathname + "?shareId=" + gistId;
3829

3930
const diagramToString = useCallback(() => {
4031
return JSON.stringify({
@@ -80,7 +71,7 @@ export default function Share({ title }) {
8071
} finally {
8172
setLoading(false);
8273
}
83-
}, [gistId, octokit, diagramToString]);
74+
}, [gistId, diagramToString]);
8475

8576
const generateLink = useCallback(async () => {
8677
setLoading(true);
@@ -103,7 +94,7 @@ export default function Share({ title }) {
10394
} finally {
10495
setLoading(false);
10596
}
106-
}, [octokit, setGistId, diagramToString]);
97+
}, [setGistId, diagramToString]);
10798

10899
useEffect(() => {
109100
const updateOrGenerateLink = async () => {

src/components/Workspace.jsx

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
import {
2-
useState,
3-
useEffect,
4-
useCallback,
5-
createContext,
6-
useMemo,
7-
} from "react";
1+
import { useState, useEffect, useCallback, createContext } from "react";
82
import ControlPanel from "./EditorHeader/ControlPanel";
93
import Canvas from "./EditorCanvas/Canvas";
104
import { CanvasContextProvider } from "../context/CanvasContext";
@@ -30,7 +24,7 @@ import { useTranslation } from "react-i18next";
3024
import { databases } from "../data/databases";
3125
import { isRtl } from "../i18n/utils/rtl";
3226
import { useSearchParams } from "react-router-dom";
33-
import { Octokit } from "octokit";
27+
import { octokit } from "../data/octokit";
3428

3529
export const IdContext = createContext({ gistId: "" });
3630

@@ -64,12 +58,6 @@ export default function WorkSpace() {
6458
const { undoStack, redoStack, setUndoStack, setRedoStack } = useUndoRedo();
6559
const { t, i18n } = useTranslation();
6660
let [searchParams] = useSearchParams();
67-
const userToken = localStorage.getItem("github_token");
68-
const octokit = useMemo(() => {
69-
return new Octokit({
70-
auth: userToken ?? import.meta.env.VITE_GITHUB_ACCESS_TOKEN,
71-
});
72-
}, [userToken]);
7361
const handleResize = (e) => {
7462
if (!resize) return;
7563
const w = isRtl(i18n.language) ? window.innerWidth - e.clientX : e.clientX;
@@ -335,7 +323,6 @@ export default function WorkSpace() {
335323
} else {
336324
window.name = "";
337325
}
338-
339326
try {
340327
const res = await octokit.request(`GET /gists/${shareId}`, {
341328
gist_id: shareId,
@@ -345,6 +332,7 @@ export default function WorkSpace() {
345332
});
346333
const diagramSrc = res.data.files["share.json"].content;
347334
const d = JSON.parse(diagramSrc);
335+
setGistId("")
348336
setUndoStack([]);
349337
setRedoStack([]);
350338
setLoadedFromGistId(shareId);
@@ -366,7 +354,6 @@ export default function WorkSpace() {
366354
}
367355
},
368356
[
369-
octokit,
370357
setAreas,
371358
setDatabase,
372359
setEnums,

src/data/db.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { templateSeeds } from "./seeds";
44
export const db = new Dexie("drawDB");
55

66
db.version(6).stores({
7-
diagrams: "++id, lastModified, &loadedFromGistId",
7+
diagrams: "++id, lastModified, loadedFromGistId",
88
templates: "++id, custom",
99
});
1010

src/data/octokit.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { Octokit } from "octokit";
2+
3+
export const octokit = new Octokit({
4+
auth: import.meta.env.VITE_GITHUB_ACCESS_TOKEN,
5+
});

0 commit comments

Comments
 (0)