microboard-ui-temp 0.1.74 → 0.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apple-touch-icon-8hjanz47.png +0 -0
- package/dist/comment-y7mmptsd.svg +22 -0
- package/dist/controlsHandlers.js +1 -6
- package/dist/eraser-egm0xqb8.svg +3 -0
- package/dist/example.html +95 -0
- package/dist/favicon-16x16-yz8wdy0r.png +0 -0
- package/dist/favicon-32x32-cwn1gceh.png +0 -0
- package/dist/favicon-886rjdq8.ico +0 -0
- package/dist/index.css +7 -1
- package/dist/index.js +205 -203
- package/dist/no-img-icon-11pdbzgp.svg +3 -0
- package/dist/pencil-mbyxd0mh.svg +3 -0
- package/dist/site-fdcbs67f.webmanifest +21 -0
- package/dist/spa.css +13842 -0
- package/dist/spa.js +447290 -0
- package/dist/sprite-8hhqah85.svg +1788 -0
- package/dist/sticker-blue-enpdz9sw.svg +27 -0
- package/dist/sticker-gray-h045k8ra.svg +27 -0
- package/dist/sticker-green-29z5e7dv.svg +27 -0
- package/dist/sticker-light-gray-z49z7yh4.svg +27 -0
- package/dist/sticker-light-green-rj4f4nmr.svg +27 -0
- package/dist/sticker-orange-9zk2829b.svg +27 -0
- package/dist/sticker-pink-e59wtt01.svg +27 -0
- package/dist/sticker-purple-qh4w2cns.svg +27 -0
- package/dist/sticker-sky-blue-ad56zjq5.svg +27 -0
- package/dist/sticker-yellow-m9f3hb2w.svg +27 -0
- package/dist/titlePanel.js +12 -10
- package/dist/types/App/useBoardSubscription.d.ts +0 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/shared/Lang/index.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -330907,15 +330907,15 @@ function useAppContext() {
|
|
|
330907
330907
|
|
|
330908
330908
|
// src/App/useAccount.ts
|
|
330909
330909
|
function useAccount2() {
|
|
330910
|
-
const { app
|
|
330910
|
+
const { app } = useAppContext();
|
|
330911
330911
|
const forceUpdate = useForceUpdate2();
|
|
330912
330912
|
import_react110.useLayoutEffect(() => {
|
|
330913
|
-
|
|
330913
|
+
app.account.subject.subscribe(forceUpdate);
|
|
330914
330914
|
return () => {
|
|
330915
|
-
|
|
330915
|
+
app.account.subject.unsubscribe(forceUpdate);
|
|
330916
330916
|
};
|
|
330917
330917
|
}, []);
|
|
330918
|
-
return
|
|
330918
|
+
return app.account;
|
|
330919
330919
|
}
|
|
330920
330920
|
|
|
330921
330921
|
// src/features/WalletLoginButton/WalletLoginButton.tsx
|
|
@@ -335301,7 +335301,9 @@ Upgrade to Plus to increase the limit and keep working`,
|
|
|
335301
335301
|
connectionLostHeader: "You are offline. Reconnecting...",
|
|
335302
335302
|
connectionReestablished: "Connection restored.",
|
|
335303
335303
|
restoringConnectionHeader: "Restoring connection.",
|
|
335304
|
-
restoringConnectionBody: "Do not refresh the page or close the tab to avoid losing your progress"
|
|
335304
|
+
restoringConnectionBody: "Do not refresh the page or close the tab to avoid losing your progress",
|
|
335305
|
+
offlineHeader: "Board opened in offline mode.",
|
|
335306
|
+
offlineBody: "Changes will not be saved."
|
|
335305
335307
|
},
|
|
335306
335308
|
landing: {
|
|
335307
335309
|
menu: {
|
|
@@ -336537,7 +336539,9 @@ var ru_default = {
|
|
|
336537
336539
|
connectionLostHeader: "Доска в оффлайн-режиме. Восстанавливаем соединение...",
|
|
336538
336540
|
connectionReestablished: "Соединение восстановлено.",
|
|
336539
336541
|
restoringConnectionHeader: "Восстанавливаем соединение",
|
|
336540
|
-
restoringConnectionBody: "Не обновляйте страницу и не закрывайте вкладку, чтобы не потерять прогресс"
|
|
336542
|
+
restoringConnectionBody: "Не обновляйте страницу и не закрывайте вкладку, чтобы не потерять прогресс",
|
|
336543
|
+
offlineHeader: "Доска открыта в оффлайн режиме.",
|
|
336544
|
+
offlineBody: "Изменения не будут сохранены."
|
|
336541
336545
|
},
|
|
336542
336546
|
landing: {
|
|
336543
336547
|
menu: {
|
|
@@ -339632,7 +339636,7 @@ var MIRO_IMG_AUTH_CLIPBOARD = Symbol("imgAuthClipboardNotification");
|
|
|
339632
339636
|
var ImgAuthClipboardModal = () => {
|
|
339633
339637
|
const { t: t10 } = useTranslation();
|
|
339634
339638
|
const { closeModal: closeModal2 } = useUiModalContext();
|
|
339635
|
-
const { app
|
|
339639
|
+
const { app } = useAppContext();
|
|
339636
339640
|
const onAuthClick = () => {
|
|
339637
339641
|
closeModal2();
|
|
339638
339642
|
const clientId = import.meta.env.MIRO_CLIENT_ID;
|
|
@@ -339642,7 +339646,7 @@ var ImgAuthClipboardModal = () => {
|
|
|
339642
339646
|
};
|
|
339643
339647
|
const onContinueClick = () => {
|
|
339644
339648
|
closeModal2();
|
|
339645
|
-
useCopyBoardItems(
|
|
339649
|
+
useCopyBoardItems(app.getBoard(), app.account.accessToken, undefined, true);
|
|
339646
339650
|
};
|
|
339647
339651
|
return /* @__PURE__ */ import_react141.default.createElement(UiModal, {
|
|
339648
339652
|
modalId: MIRO_IMG_AUTH_CLIPBOARD,
|
|
@@ -345098,14 +345102,14 @@ var AIContextProvider = ({
|
|
|
345098
345102
|
children
|
|
345099
345103
|
}) => {
|
|
345100
345104
|
const { t: t10 } = useTranslation();
|
|
345101
|
-
const { app
|
|
345105
|
+
const { app } = useAppContext();
|
|
345102
345106
|
const [model, setModel] = import_react176.useState("gpt-4o-mini");
|
|
345103
345107
|
const [responseNodeId, setResponseNodeId] = import_react176.useState();
|
|
345104
345108
|
const [quotedText, setQuotedText] = import_react176.useState();
|
|
345105
345109
|
const account = useAccount2();
|
|
345106
345110
|
const { openModal: openModal2 } = useUiModalContext();
|
|
345107
345111
|
const stopStream = async (boardId, itemId, account2) => {
|
|
345108
|
-
const connection =
|
|
345112
|
+
const connection = app.getConnection();
|
|
345109
345113
|
const stopMessage = {
|
|
345110
345114
|
type: "AiChat",
|
|
345111
345115
|
boardId,
|
|
@@ -345118,7 +345122,7 @@ var AIContextProvider = ({
|
|
|
345118
345122
|
await account2.fetchBillingInfo();
|
|
345119
345123
|
};
|
|
345120
345124
|
function createNodesWithConnectors(idea, itemToContinueThread, contextItems = [], isIdeaFromInput = true) {
|
|
345121
|
-
const board =
|
|
345125
|
+
const board = app.getBoard();
|
|
345122
345126
|
const reverseIndexMap = { 0: 1, 1: 0, 2: 3, 3: 2 };
|
|
345123
345127
|
let requestAdded;
|
|
345124
345128
|
if (itemToContinueThread && itemToContinueThread.itemType === "AINode" && itemToContinueThread.getIsUserRequest() && !isIdeaFromInput) {
|
|
@@ -345169,7 +345173,7 @@ var AIContextProvider = ({
|
|
|
345169
345173
|
return { responseAdded, requestAdded };
|
|
345170
345174
|
}
|
|
345171
345175
|
const tryToSendGenerationRequest = async (fallback3, startGenerationCb) => {
|
|
345172
|
-
const board =
|
|
345176
|
+
const board = app.getBoard();
|
|
345173
345177
|
if (!account.isLoggedIn) {
|
|
345174
345178
|
return openModal2(AI_UNAVAILABLE_MODAL_ID);
|
|
345175
345179
|
}
|
|
@@ -345206,8 +345210,8 @@ var AIContextProvider = ({
|
|
|
345206
345210
|
}
|
|
345207
345211
|
};
|
|
345208
345212
|
const startGeneration = async () => {
|
|
345209
|
-
const connection =
|
|
345210
|
-
const board =
|
|
345213
|
+
const connection = app.getConnection();
|
|
345214
|
+
const board = app.getBoard();
|
|
345211
345215
|
const ideaFromSelection = getIdeaFromSelection(board.selection.items.list());
|
|
345212
345216
|
if (!connection) {
|
|
345213
345217
|
console.error("Ws no open");
|
|
@@ -345297,26 +345301,14 @@ var import_react178 = __toESM(require_react(), 1);
|
|
|
345297
345301
|
// src/App/useBoardSubscription.ts
|
|
345298
345302
|
var import_react177 = __toESM(require_react(), 1);
|
|
345299
345303
|
function useAppSubscription(subscription) {
|
|
345300
|
-
const { app
|
|
345304
|
+
const { app } = useAppContext();
|
|
345301
345305
|
import_react177.useLayoutEffect(() => {
|
|
345302
|
-
|
|
345306
|
+
app.subscriptions.add(subscription);
|
|
345303
345307
|
return () => {
|
|
345304
|
-
|
|
345308
|
+
app.subscriptions.remove(subscription);
|
|
345305
345309
|
};
|
|
345306
345310
|
}, []);
|
|
345307
345311
|
}
|
|
345308
|
-
function useTools() {
|
|
345309
|
-
const { board } = useAppContext();
|
|
345310
|
-
const [tools, setTools] = import_react177.default.useState(board.tools);
|
|
345311
|
-
useAppSubscription({
|
|
345312
|
-
subjects: ["tools"],
|
|
345313
|
-
observer: () => {
|
|
345314
|
-
setTools(board.tools);
|
|
345315
|
-
}
|
|
345316
|
-
});
|
|
345317
|
-
import_react177.useEffect(() => {}, [tools]);
|
|
345318
|
-
return tools;
|
|
345319
|
-
}
|
|
345320
345312
|
|
|
345321
345313
|
// src/entities/AIInput/AIGenerationButton.tsx
|
|
345322
345314
|
var AiGenerationButton = () => {
|
|
@@ -345795,7 +345787,7 @@ var getCorrectEnding = (number3) => {
|
|
|
345795
345787
|
var sessionStorage5 = new SessionStorage2;
|
|
345796
345788
|
var AIInput = () => {
|
|
345797
345789
|
const { t: t10 } = useTranslation();
|
|
345798
|
-
const { app
|
|
345790
|
+
const { app, board } = useAppContext();
|
|
345799
345791
|
const [inputValue, setInputValue] = import_react183.useState("");
|
|
345800
345792
|
const disabledRef = import_react183.useRef(!!board.aiGeneratingOnItem);
|
|
345801
345793
|
const inputRef = import_react183.useRef(null);
|
|
@@ -345879,7 +345871,7 @@ var AIInput = () => {
|
|
|
345879
345871
|
}
|
|
345880
345872
|
};
|
|
345881
345873
|
const sendInputData = async () => {
|
|
345882
|
-
const connection =
|
|
345874
|
+
const connection = app.getConnection();
|
|
345883
345875
|
if (!connection) {
|
|
345884
345876
|
console.error("Ws no open");
|
|
345885
345877
|
return;
|
|
@@ -345977,7 +345969,7 @@ var AIInput = () => {
|
|
|
345977
345969
|
}
|
|
345978
345970
|
};
|
|
345979
345971
|
const handleStopClick = async () => {
|
|
345980
|
-
const boardId2 =
|
|
345972
|
+
const boardId2 = app.getBoard().getBoardId();
|
|
345981
345973
|
if (responseNodeId) {
|
|
345982
345974
|
await stopStream(boardId2, responseNodeId, account);
|
|
345983
345975
|
board.aiGeneratingOnItem = undefined;
|
|
@@ -346319,7 +346311,7 @@ class CanvasBase extends React146.Component {
|
|
|
346319
346311
|
var Canvas = withRouter(CanvasBase);
|
|
346320
346312
|
// src/entities/Canvas/CanvasNoRouter.tsx
|
|
346321
346313
|
var import_react186 = __toESM(require_react(), 1);
|
|
346322
|
-
var CanvasNoRouter = ({ app
|
|
346314
|
+
var CanvasNoRouter = ({ app, board, children }) => {
|
|
346323
346315
|
const stageRef = import_react186.useRef(null);
|
|
346324
346316
|
const canvasRef = import_react186.useRef(null);
|
|
346325
346317
|
const cursorsCanvasRef = import_react186.useRef(null);
|
|
@@ -346351,13 +346343,13 @@ var CanvasNoRouter = ({ app: app2, board, children }) => {
|
|
|
346351
346343
|
}, [board]);
|
|
346352
346344
|
const initCanvasRendering = import_react186.useCallback(() => {
|
|
346353
346345
|
renderToContext();
|
|
346354
|
-
|
|
346355
|
-
|
|
346356
|
-
|
|
346357
|
-
}, [
|
|
346346
|
+
app.subscriptions.add(drawingContextSubscription);
|
|
346347
|
+
app.subscriptions.add(cursorSubscription);
|
|
346348
|
+
app.subscriptions.add(resizeSubscription);
|
|
346349
|
+
}, [app, renderToContext]);
|
|
346358
346350
|
import_react186.useEffect(() => {
|
|
346359
346351
|
const stage = stageRef.current;
|
|
346360
|
-
const controller16 =
|
|
346352
|
+
const controller16 = app.controller;
|
|
346361
346353
|
if (stage) {
|
|
346362
346354
|
const handlePointerDown = (event) => {
|
|
346363
346355
|
controller16.onPointerDown(event);
|
|
@@ -346391,13 +346383,13 @@ var CanvasNoRouter = ({ app: app2, board, children }) => {
|
|
|
346391
346383
|
});
|
|
346392
346384
|
stage.removeEventListener("dblclick", controller16.onClick);
|
|
346393
346385
|
stage.removeEventListener("pointermove", controller16.onPointerMove);
|
|
346394
|
-
|
|
346395
|
-
|
|
346396
|
-
|
|
346386
|
+
app.subscriptions.remove(drawingContextSubscription);
|
|
346387
|
+
app.subscriptions.remove(cursorSubscription);
|
|
346388
|
+
app.subscriptions.remove(resizeSubscription);
|
|
346397
346389
|
};
|
|
346398
346390
|
}
|
|
346399
346391
|
return () => {};
|
|
346400
|
-
}, [
|
|
346392
|
+
}, [app, initCanvasRendering]);
|
|
346401
346393
|
const drawingContextSubscription = {
|
|
346402
346394
|
observer: renderToContext,
|
|
346403
346395
|
subjects: ["camera", "items", "tools", "selection", "presence"]
|
|
@@ -346549,15 +346541,15 @@ function AccessDeniedModal() {
|
|
|
346549
346541
|
// src/App/useBoardsList.ts
|
|
346550
346542
|
var import_react188 = __toESM(require_react(), 1);
|
|
346551
346543
|
function useBoardsList() {
|
|
346552
|
-
const { app
|
|
346544
|
+
const { app } = useAppContext();
|
|
346553
346545
|
const forceUpdate = useForceUpdate2();
|
|
346554
346546
|
import_react188.useEffect(() => {
|
|
346555
|
-
|
|
346547
|
+
app.boardsList.subject.subscribe(forceUpdate);
|
|
346556
346548
|
return () => {
|
|
346557
|
-
|
|
346549
|
+
app.boardsList.subject.unsubscribe(forceUpdate);
|
|
346558
346550
|
};
|
|
346559
346551
|
}, []);
|
|
346560
|
-
return
|
|
346552
|
+
return app.boardsList;
|
|
346561
346553
|
}
|
|
346562
346554
|
|
|
346563
346555
|
// src/features/ContextMenu/ContextMenu.tsx
|
|
@@ -352187,15 +352179,15 @@ function SidePanelContextProvider({
|
|
|
352187
352179
|
const [isOpen, setIsOpen] = import_react206.useState(false);
|
|
352188
352180
|
const [stamp, setStamp] = import_react206.useState(null);
|
|
352189
352181
|
const [highlighted, setHighlighted] = import_react206.useState(false);
|
|
352190
|
-
const { app
|
|
352182
|
+
const { app } = useAppContext();
|
|
352191
352183
|
const navigate = useNavigate();
|
|
352192
352184
|
const boardsList = useBoardsList();
|
|
352193
352185
|
const timeoutRef = import_react206.useRef();
|
|
352194
352186
|
const { close } = useContextMenuContext();
|
|
352195
352187
|
const forceUpdate = useForceUpdate2();
|
|
352196
352188
|
import_react206.useEffect(() => {
|
|
352197
|
-
|
|
352198
|
-
return () =>
|
|
352189
|
+
app.boardSubject.subscribe(forceUpdate);
|
|
352190
|
+
return () => app.boardSubject.unsubscribe(forceUpdate);
|
|
352199
352191
|
}, []);
|
|
352200
352192
|
const toggleSideMenu = () => {
|
|
352201
352193
|
setIsOpen((prev) => {
|
|
@@ -352226,7 +352218,7 @@ function SidePanelContextProvider({
|
|
|
352226
352218
|
}, [isOpen]);
|
|
352227
352219
|
const handleAddNew = async (cb) => {
|
|
352228
352220
|
const boardId = await boardsList.createBoard();
|
|
352229
|
-
await
|
|
352221
|
+
await app.openBoard(boardId);
|
|
352230
352222
|
navigate(`/boards/${boardId}`, {
|
|
352231
352223
|
replace: true
|
|
352232
352224
|
});
|
|
@@ -352526,7 +352518,7 @@ var FolderItem_module_default = {
|
|
|
352526
352518
|
|
|
352527
352519
|
// src/entities/Folder/FolderItem.tsx
|
|
352528
352520
|
var FolderItem = import_react211.forwardRef(({ board, folder, handleOpenBoard }, ref4) => {
|
|
352529
|
-
const { app
|
|
352521
|
+
const { app, board: currentBoard } = useAppContext();
|
|
352530
352522
|
const navigate = useNavigate();
|
|
352531
352523
|
const { open } = useContextMenuContext();
|
|
352532
352524
|
const { setRenamingId, setNewName, renamingId } = useRenameContext();
|
|
@@ -352550,7 +352542,7 @@ var FolderItem = import_react211.forwardRef(({ board, folder, handleOpenBoard },
|
|
|
352550
352542
|
if (handleOpenBoard) {
|
|
352551
352543
|
return handleOpenBoard(board);
|
|
352552
352544
|
}
|
|
352553
|
-
await
|
|
352545
|
+
await app.openBoard(board.id);
|
|
352554
352546
|
navigate(`/boards/${board.id}`);
|
|
352555
352547
|
}, (ev) => {
|
|
352556
352548
|
ev.preventDefault();
|
|
@@ -352917,7 +352909,7 @@ function ContextMenu() {
|
|
|
352917
352909
|
const { setNewName, setRenamingId } = useRenameContext();
|
|
352918
352910
|
const boardsList = useBoardsList();
|
|
352919
352911
|
const account = useAccount2();
|
|
352920
|
-
const { board, app
|
|
352912
|
+
const { board, app } = useAppContext();
|
|
352921
352913
|
const { t: t10 } = useTranslation();
|
|
352922
352914
|
const { openModalConfirm } = useConfirmModalContext();
|
|
352923
352915
|
const { openModal: openModal2 } = useUiModalContext();
|
|
@@ -352951,34 +352943,34 @@ function ContextMenu() {
|
|
|
352951
352943
|
setRenamingId(boardId2);
|
|
352952
352944
|
setNewName(boardInfo2?.title ?? "");
|
|
352953
352945
|
setId(boardId2);
|
|
352954
|
-
|
|
352946
|
+
app.openBoard(boardId2).then(() => navigate(`/boards/${boardId2}`));
|
|
352955
352947
|
};
|
|
352956
352948
|
const deserializeBoard = (stringedHTML, emit5 = false) => {
|
|
352957
352949
|
if (emit5) {
|
|
352958
|
-
|
|
352950
|
+
app.getBoard().deserializeHTMLAndEmit(stringedHTML);
|
|
352959
352951
|
} else {
|
|
352960
|
-
|
|
352952
|
+
app.getBoard().deserializeHTML(stringedHTML);
|
|
352961
352953
|
}
|
|
352962
|
-
|
|
352963
|
-
const sumMbr =
|
|
352954
|
+
app.render();
|
|
352955
|
+
const sumMbr = app.getBoard().items.listAll().reduce((acc, item) => {
|
|
352964
352956
|
if (!acc) {
|
|
352965
352957
|
return item.getMbr();
|
|
352966
352958
|
}
|
|
352967
352959
|
return acc.combine(item.getMbr());
|
|
352968
352960
|
}, undefined);
|
|
352969
352961
|
if (sumMbr) {
|
|
352970
|
-
|
|
352962
|
+
app.getBoard().camera.zoomToFit(sumMbr);
|
|
352971
352963
|
}
|
|
352972
352964
|
};
|
|
352973
352965
|
const handleEditLocalFile = async (ev) => {
|
|
352974
352966
|
ev.preventDefault();
|
|
352975
352967
|
ev.stopPropagation();
|
|
352976
352968
|
setIsEditingLocalFile(true);
|
|
352977
|
-
const stringedHTML = await
|
|
352969
|
+
const stringedHTML = await app.openAndEditFile();
|
|
352978
352970
|
if (stringedHTML) {
|
|
352979
352971
|
close();
|
|
352980
352972
|
setId(boardId);
|
|
352981
|
-
|
|
352973
|
+
app.openBoardFromFile();
|
|
352982
352974
|
navigate(`/boards/local`);
|
|
352983
352975
|
deserializeBoard(stringedHTML);
|
|
352984
352976
|
}
|
|
@@ -353023,7 +353015,7 @@ function ContextMenu() {
|
|
|
353023
353015
|
const boardId2 = await boardsList.createBoard(boardName, folderInfo?.type === exports_folders.FolderType.DRAFTS, folderId ?? undefined);
|
|
353024
353016
|
close();
|
|
353025
353017
|
setId(boardId2);
|
|
353026
|
-
await
|
|
353018
|
+
await app.openBoard(boardId2);
|
|
353027
353019
|
navigate(`/boards/${boardId2}`);
|
|
353028
353020
|
deserializeBoard(htmlContent, true);
|
|
353029
353021
|
}
|
|
@@ -353068,7 +353060,7 @@ function ContextMenu() {
|
|
|
353068
353060
|
}
|
|
353069
353061
|
if (boardId === currentBoardId) {
|
|
353070
353062
|
navigate("/boards/blank");
|
|
353071
|
-
await
|
|
353063
|
+
await app.openBoard("blank");
|
|
353072
353064
|
board.disconnect();
|
|
353073
353065
|
}
|
|
353074
353066
|
setIsDeletingBoard(true);
|
|
@@ -353096,7 +353088,7 @@ function ContextMenu() {
|
|
|
353096
353088
|
return;
|
|
353097
353089
|
}
|
|
353098
353090
|
if (boardsList.isFolderContainsBoard(folderId, board.getBoardId())) {
|
|
353099
|
-
|
|
353091
|
+
app.openBoard("blank");
|
|
353100
353092
|
navigate("/boards/blank");
|
|
353101
353093
|
}
|
|
353102
353094
|
boardsList.removeFolder(folderId);
|
|
@@ -353243,7 +353235,7 @@ function ContextMenuItem({
|
|
|
353243
353235
|
// src/App/useDomMbr.ts
|
|
353244
353236
|
var import_react216 = __toESM(require_react(), 1);
|
|
353245
353237
|
function useDomMbr({
|
|
353246
|
-
app
|
|
353238
|
+
app,
|
|
353247
353239
|
board,
|
|
353248
353240
|
ref: ref4,
|
|
353249
353241
|
subjects = ["camera", "selection"],
|
|
@@ -353588,7 +353580,7 @@ var ConnectorType_module_default = {
|
|
|
353588
353580
|
var MENU_NAME = "ConnectorType";
|
|
353589
353581
|
function ConnectorType() {
|
|
353590
353582
|
const { toggleMenu, openedMenu, panelMbr, windowHeight } = usePanelContext();
|
|
353591
|
-
const { board, app
|
|
353583
|
+
const { board, app } = useAppContext();
|
|
353592
353584
|
const { t: t10 } = useTranslation();
|
|
353593
353585
|
const connectorType = board.selection.getConnectorLineStyle();
|
|
353594
353586
|
const connectorLineWidth = board.selection.getConnectorLineWidth();
|
|
@@ -353598,17 +353590,17 @@ function ConnectorType() {
|
|
|
353598
353590
|
};
|
|
353599
353591
|
const handlePick = (type) => {
|
|
353600
353592
|
board.selection.setConnectorLineStyle(type);
|
|
353601
|
-
|
|
353593
|
+
app.sessionStorage.setConnectorLineStyle(type);
|
|
353602
353594
|
toggleMenu("None");
|
|
353603
353595
|
};
|
|
353604
353596
|
const handleStrokeStylePick = (style2) => {
|
|
353605
353597
|
board.selection.setStrokeStyle(style2);
|
|
353606
|
-
|
|
353598
|
+
app.sessionStorage.setConnectorStrokeStyle(style2);
|
|
353607
353599
|
toggleMenu("None");
|
|
353608
353600
|
};
|
|
353609
353601
|
const handleSliderChange = (width2) => {
|
|
353610
353602
|
board.selection.setStrokeWidth(width2);
|
|
353611
|
-
|
|
353603
|
+
app.sessionStorage.setConnectorLineWidth(width2);
|
|
353612
353604
|
};
|
|
353613
353605
|
return /* @__PURE__ */ import_react223.default.createElement(ButtonWithMenu, {
|
|
353614
353606
|
menuName: MENU_NAME,
|
|
@@ -354078,7 +354070,7 @@ var EndPointer_module_default = {
|
|
|
354078
354070
|
var MENU_NAME3 = "EndPointer";
|
|
354079
354071
|
function EndPointer() {
|
|
354080
354072
|
const { toggleMenu, openedMenu, panelMbr, windowHeight } = usePanelContext();
|
|
354081
|
-
const { board, app
|
|
354073
|
+
const { board, app } = useAppContext();
|
|
354082
354074
|
const { t: t10 } = useTranslation();
|
|
354083
354075
|
const pointerStartStyle = board.selection.getEndPointerStyle();
|
|
354084
354076
|
const handleClick = () => {
|
|
@@ -354086,7 +354078,7 @@ function EndPointer() {
|
|
|
354086
354078
|
};
|
|
354087
354079
|
const handlePick = (type) => {
|
|
354088
354080
|
board.selection.setEndPointerStyle(type);
|
|
354089
|
-
|
|
354081
|
+
app.sessionStorage.setConnectorPointer(type, "end");
|
|
354090
354082
|
toggleMenu("None");
|
|
354091
354083
|
};
|
|
354092
354084
|
return /* @__PURE__ */ import_react236.default.createElement(ButtonWithMenu, {
|
|
@@ -354971,7 +354963,7 @@ var StartPointer_module_default = {
|
|
|
354971
354963
|
var MENU_NAME11 = "StartPointer";
|
|
354972
354964
|
function StartPointer() {
|
|
354973
354965
|
const { toggleMenu, openedMenu, panelMbr, windowHeight } = usePanelContext();
|
|
354974
|
-
const { board, app
|
|
354966
|
+
const { board, app } = useAppContext();
|
|
354975
354967
|
const { t: t10 } = useTranslation();
|
|
354976
354968
|
const pointerStartStyle = board.selection.getStartPointerStyle();
|
|
354977
354969
|
const handleClick = () => {
|
|
@@ -354979,7 +354971,7 @@ function StartPointer() {
|
|
|
354979
354971
|
};
|
|
354980
354972
|
const handlePick = (type) => {
|
|
354981
354973
|
board.selection.setStartPointerStyle(type);
|
|
354982
|
-
|
|
354974
|
+
app.sessionStorage.setConnectorPointer(type, "start");
|
|
354983
354975
|
toggleMenu("None");
|
|
354984
354976
|
};
|
|
354985
354977
|
return /* @__PURE__ */ import_react255.default.createElement(ButtonWithMenu, {
|
|
@@ -355535,7 +355527,7 @@ var import_react266 = __toESM(require_react(), 1);
|
|
|
355535
355527
|
var MENU_NAME17 = "ConnectorLineColor";
|
|
355536
355528
|
function ConnectorLineColor() {
|
|
355537
355529
|
const { toggleMenu, openedMenu, panelMbr, windowHeight } = usePanelContext();
|
|
355538
|
-
const { board, app
|
|
355530
|
+
const { board, app } = useAppContext();
|
|
355539
355531
|
const { t: t10 } = useTranslation();
|
|
355540
355532
|
const connectorLineColor = board.selection.getConnectorLineColor();
|
|
355541
355533
|
const handleClick = () => {
|
|
@@ -355543,11 +355535,11 @@ function ConnectorLineColor() {
|
|
|
355543
355535
|
};
|
|
355544
355536
|
const handlePick = (color2) => {
|
|
355545
355537
|
board.selection.setStrokeColor(color2);
|
|
355546
|
-
|
|
355538
|
+
app.sessionStorage.setConnectorFillColor(color2);
|
|
355547
355539
|
toggleMenu("None");
|
|
355548
355540
|
};
|
|
355549
355541
|
const handleCustomPick = (color2) => {
|
|
355550
|
-
|
|
355542
|
+
app.sessionStorage.setConnectorFillColor(color2);
|
|
355551
355543
|
board.selection.setStrokeColor(color2);
|
|
355552
355544
|
};
|
|
355553
355545
|
const isPredefinedColor = conf.SHAPE_STROKE_COLORS.some((color2) => color2 === connectorLineColor);
|
|
@@ -356431,11 +356423,11 @@ function FlipDeck({ rounded = "none" }) {
|
|
|
356431
356423
|
|
|
356432
356424
|
// src/features/ContextPanel/ContextPanel.tsx
|
|
356433
356425
|
function ContextPanel() {
|
|
356434
|
-
const { app
|
|
356426
|
+
const { app, board } = useAppContext();
|
|
356435
356427
|
const [openedMenu, setOpenedMenu] = import_react289.useState("None");
|
|
356436
356428
|
const panelRef = import_react289.useRef(null);
|
|
356437
356429
|
const mbr = useDomMbr({
|
|
356438
|
-
app
|
|
356430
|
+
app,
|
|
356439
356431
|
board,
|
|
356440
356432
|
ref: panelRef
|
|
356441
356433
|
});
|
|
@@ -356769,7 +356761,7 @@ var HyperLink_module_default = {
|
|
|
356769
356761
|
var HyperLink = () => {
|
|
356770
356762
|
const [currentLink, setCurrentLink] = import_react292.useState(null);
|
|
356771
356763
|
const [isTooltipUnderPointer, setIsTooltipUnderPointer] = import_react292.useState(false);
|
|
356772
|
-
const { board, app
|
|
356764
|
+
const { board, app } = useAppContext();
|
|
356773
356765
|
const forceUpdate = useForceUpdate2();
|
|
356774
356766
|
const link2 = board.items.getUnderPointer().pop()?.getRichText()?.getHyperLinkByPointerCoordinates(board.pointer.point);
|
|
356775
356767
|
if (link2 && !isTooltipUnderPointer && link2.hyperLink !== currentLink?.hyperLink) {
|
|
@@ -356784,7 +356776,7 @@ var HyperLink = () => {
|
|
|
356784
356776
|
});
|
|
356785
356777
|
const linkContainerRef = import_react292.useRef(null);
|
|
356786
356778
|
const mbr = useDomMbr({
|
|
356787
|
-
app
|
|
356779
|
+
app,
|
|
356788
356780
|
board,
|
|
356789
356781
|
ref: linkContainerRef,
|
|
356790
356782
|
targetMbr: currentLink?.linkMbr,
|
|
@@ -356827,7 +356819,7 @@ var HyperLinkInput_module_default = {
|
|
|
356827
356819
|
var HyperLinkInput = () => {
|
|
356828
356820
|
const [inputValue, setInputValue] = import_react293.useState("");
|
|
356829
356821
|
const { isEditingLink, setIsEditingLink, hyperLinkData, setHyperLinkData } = useHyperLinkContext();
|
|
356830
|
-
const { board, app
|
|
356822
|
+
const { board, app } = useAppContext();
|
|
356831
356823
|
const { t: t10 } = useTranslation();
|
|
356832
356824
|
const containerRef = useClickOutside(() => {
|
|
356833
356825
|
if (isEditingLink) {
|
|
@@ -356835,7 +356827,7 @@ var HyperLinkInput = () => {
|
|
|
356835
356827
|
}
|
|
356836
356828
|
}, [], true);
|
|
356837
356829
|
const mbr = useDomMbr({
|
|
356838
|
-
app
|
|
356830
|
+
app,
|
|
356839
356831
|
board,
|
|
356840
356832
|
ref: containerRef,
|
|
356841
356833
|
targetMbr: board.selection.items.getSingle()?.getRichText()?.getMbr(),
|
|
@@ -356970,7 +356962,7 @@ var HyperLinkInput = () => {
|
|
|
356970
356962
|
// src/features/ImportMiro/ImportMiroBoards/ImportMiro.tsx
|
|
356971
356963
|
var import_react294 = __toESM(require_react(), 1);
|
|
356972
356964
|
function ImportMiro() {
|
|
356973
|
-
const { app
|
|
356965
|
+
const { app } = useAppContext();
|
|
356974
356966
|
const navigate = useNavigate();
|
|
356975
356967
|
const location3 = useLocation();
|
|
356976
356968
|
const searchParams = new URLSearchParams(location3.search);
|
|
@@ -357000,19 +356992,19 @@ function ImportMiro() {
|
|
|
357000
356992
|
}
|
|
357001
356993
|
};
|
|
357002
356994
|
const openSeenLastBoard = async () => {
|
|
357003
|
-
const lastSeenBoardId =
|
|
356995
|
+
const lastSeenBoardId = app.getLastBoardId();
|
|
357004
356996
|
if (!lastSeenBoardId) {
|
|
357005
356997
|
console.error("Last seen board is undefined");
|
|
357006
356998
|
return;
|
|
357007
356999
|
}
|
|
357008
|
-
await
|
|
357000
|
+
await app.openBoard(lastSeenBoardId).then(() => {
|
|
357009
357001
|
navigate(`/boards/${lastSeenBoardId}?clipboard=true`, {
|
|
357010
357002
|
replace: true
|
|
357011
357003
|
});
|
|
357012
|
-
|
|
357004
|
+
app.render();
|
|
357013
357005
|
});
|
|
357014
|
-
const lastSeenBoard =
|
|
357015
|
-
useCopyBoardItems(lastSeenBoard,
|
|
357006
|
+
const lastSeenBoard = app.getBoard();
|
|
357007
|
+
useCopyBoardItems(lastSeenBoard, app.account.accessToken);
|
|
357016
357008
|
};
|
|
357017
357009
|
import_react294.useEffect(() => {
|
|
357018
357010
|
const token = api10.get("miro_accessToken");
|
|
@@ -357031,14 +357023,14 @@ function ImportMiro() {
|
|
|
357031
357023
|
// src/features/ItemTooltip/ItemTooltip.tsx
|
|
357032
357024
|
var import_react295 = __toESM(require_react(), 1);
|
|
357033
357025
|
function ItemTooltip() {
|
|
357034
|
-
const { app
|
|
357026
|
+
const { app, board } = useAppContext();
|
|
357035
357027
|
const { t: t10 } = useTranslation();
|
|
357036
357028
|
const { items, camera } = board;
|
|
357037
357029
|
const [openedMenu, setOpenedMenu] = import_react295.useState("HoverUnderPointer");
|
|
357038
357030
|
const panelRef = import_react295.useRef(null);
|
|
357039
357031
|
const placeholders = items.getUnderPointer().filter((item) => item.itemType === "Placeholder" && item.getMiroData()?.type !== "image" /* IMAGE */);
|
|
357040
357032
|
const mbr = useDomMbr({
|
|
357041
|
-
app
|
|
357033
|
+
app,
|
|
357042
357034
|
board,
|
|
357043
357035
|
ref: panelRef,
|
|
357044
357036
|
subjects: undefined,
|
|
@@ -357321,18 +357313,18 @@ var LocalFileSaveProgress_module_default = {
|
|
|
357321
357313
|
|
|
357322
357314
|
// src/features/LocalFileSavingProgress/LocalFileSaveProgress.tsx
|
|
357323
357315
|
var LocalFileSaveProgress = () => {
|
|
357324
|
-
const { app
|
|
357316
|
+
const { app } = useAppContext();
|
|
357325
357317
|
const forceUpdate = useForceUpdate2();
|
|
357326
357318
|
useAppSubscription({
|
|
357327
357319
|
subjects: ["board"],
|
|
357328
357320
|
observer: forceUpdate
|
|
357329
357321
|
});
|
|
357330
|
-
if (!
|
|
357322
|
+
if (!app.getBoard().getBoardId().includes("local") || !app.getLocalEditFileHandler()) {
|
|
357331
357323
|
return null;
|
|
357332
357324
|
}
|
|
357333
357325
|
return /* @__PURE__ */ import_react299.default.createElement(UiPanel, {
|
|
357334
357326
|
className: LocalFileSaveProgress_module_default.unauthText
|
|
357335
|
-
},
|
|
357327
|
+
}, app.getBoard().events?.log.saveFileTimeout ? "Saving..." : "Saved");
|
|
357336
357328
|
};
|
|
357337
357329
|
var LocalFileSaveProgress_default = LocalFileSaveProgress;
|
|
357338
357330
|
// src/features/Modal/CookiesModal.tsx
|
|
@@ -357469,8 +357461,8 @@ var import_react302 = __toESM(require_react(), 1);
|
|
|
357469
357461
|
function InactiveBoardHidder({
|
|
357470
357462
|
children
|
|
357471
357463
|
}) {
|
|
357472
|
-
const { app
|
|
357473
|
-
const appBoardId =
|
|
357464
|
+
const { app } = useAppContext();
|
|
357465
|
+
const appBoardId = app.getBoard().getBoardId();
|
|
357474
357466
|
if (appBoardId === "blank") {
|
|
357475
357467
|
return /* @__PURE__ */ import_react302.default.createElement(import_react302.default.Fragment, null);
|
|
357476
357468
|
}
|
|
@@ -418448,7 +418440,7 @@ ButtonWithMenu2.displayName = "ButtonWithMenu";
|
|
|
418448
418440
|
|
|
418449
418441
|
// src/features/ToolsPanel/Buttons/AddConnector.tsx
|
|
418450
418442
|
function AddConnector2() {
|
|
418451
|
-
const { board, app
|
|
418443
|
+
const { board, app } = useAppContext();
|
|
418452
418444
|
const { t: t11 } = useTranslation();
|
|
418453
418445
|
const [isActive, setIsActive] = import_react318.useState(Boolean(board.tools.getAddConnector()));
|
|
418454
418446
|
const addTool = board.tools.getAddConnector();
|
|
@@ -418467,7 +418459,7 @@ function AddConnector2() {
|
|
|
418467
418459
|
const tool = board.tools.getAddConnector();
|
|
418468
418460
|
if (tool) {
|
|
418469
418461
|
tool.applyLineStyle(lineStyle);
|
|
418470
|
-
|
|
418462
|
+
app.sessionStorage.setConnectorLineStyle(lineStyle);
|
|
418471
418463
|
setIsActive(false);
|
|
418472
418464
|
}
|
|
418473
418465
|
};
|
|
@@ -419905,7 +419897,7 @@ function getOperationAppendix(operation) {
|
|
|
419905
419897
|
}
|
|
419906
419898
|
if (operation.method === "transformMany") {
|
|
419907
419899
|
const appendixes = Object.values(operation.items).map((op2) => getOperationAppendix(op2));
|
|
419908
|
-
if (appendixes.every((
|
|
419900
|
+
if (appendixes.every((app) => app === appendixes[0])) {
|
|
419909
419901
|
appendix.push(appendixes[0]);
|
|
419910
419902
|
}
|
|
419911
419903
|
}
|
|
@@ -420632,7 +420624,12 @@ function AddGameItem() {
|
|
|
420632
420624
|
function ToolsPanel() {
|
|
420633
420625
|
const [openedMenu, setOpenedMenu] = import_react354.useState("None");
|
|
420634
420626
|
const toggleMenu = (menu) => setOpenedMenu((prev2) => prev2 === menu ? "None" : menu);
|
|
420635
|
-
|
|
420627
|
+
const { app } = useAppContext();
|
|
420628
|
+
const forceUpdate = useForceUpdate2();
|
|
420629
|
+
useAppSubscription({
|
|
420630
|
+
subjects: ["tools"],
|
|
420631
|
+
observer: forceUpdate
|
|
420632
|
+
});
|
|
420636
420633
|
import_react354.useEffect(() => {}, [window.showDebug]);
|
|
420637
420634
|
return /* @__PURE__ */ import_react354.default.createElement(PanelContext2.Provider, {
|
|
420638
420635
|
value: { toggleMenu, openedMenu }
|
|
@@ -421975,7 +421972,7 @@ var TogglePresenceRender_module_default = {
|
|
|
421975
421972
|
var TogglePresenceRender = () => {
|
|
421976
421973
|
const { t: t11 } = useTranslation();
|
|
421977
421974
|
const [cursorsActive, setCursorsActive] = import_react370.useState(true);
|
|
421978
|
-
const { app
|
|
421975
|
+
const { app } = useAppContext();
|
|
421979
421976
|
return /* @__PURE__ */ import_react370.default.createElement(UiButton, {
|
|
421980
421977
|
id: "tool-cursors-toggle",
|
|
421981
421978
|
tooltipPosition: "bottom",
|
|
@@ -421985,7 +421982,7 @@ var TogglePresenceRender = () => {
|
|
|
421985
421982
|
variant: "secondary",
|
|
421986
421983
|
rounded: "none",
|
|
421987
421984
|
onClick: () => {
|
|
421988
|
-
const cursorsEnabled =
|
|
421985
|
+
const cursorsEnabled = app.getBoard().presence.toggleCursorsRendering();
|
|
421989
421986
|
setCursorsActive(cursorsEnabled);
|
|
421990
421987
|
}
|
|
421991
421988
|
}, /* @__PURE__ */ import_react370.default.createElement(Icon, {
|
|
@@ -422827,13 +422824,13 @@ var CommentContainer = ({ comment: comment3 }) => {
|
|
|
422827
422824
|
const commentRef = import_react384.useRef(null);
|
|
422828
422825
|
const [isPreviewOpen, setIsPreviewOpen] = import_react384.useState(false);
|
|
422829
422826
|
const initialCommentPosition = import_react384.useRef(comment3.getAnchorPoint());
|
|
422830
|
-
const { app
|
|
422827
|
+
const { app, board } = useAppContext();
|
|
422831
422828
|
const { openedThreadId, setOpenedThreadId, setMovingComment, movingComment } = useCommentsContext();
|
|
422832
422829
|
const movingCommentRef = import_react384.useRef(movingComment);
|
|
422833
422830
|
const isThreadOpen = openedThreadId === comment3.getId();
|
|
422834
422831
|
const account = useAccount2();
|
|
422835
422832
|
const mbr = useDomMbr({
|
|
422836
|
-
app
|
|
422833
|
+
app,
|
|
422837
422834
|
board,
|
|
422838
422835
|
ref: isThreadOpen ? threadPanelRef : commentContainerRef,
|
|
422839
422836
|
targetMbr: comment3.getAnchorMbr(),
|
|
@@ -422859,14 +422856,14 @@ var CommentContainer = ({ comment: comment3 }) => {
|
|
|
422859
422856
|
const width3 = 12 + 24 + 18 * (commentators.length > 3 ? 2 : commentators.length - 1);
|
|
422860
422857
|
import_react384.useEffect(() => {
|
|
422861
422858
|
if (commentRef.current) {
|
|
422862
|
-
commentRef.current.addEventListener("wheel",
|
|
422859
|
+
commentRef.current.addEventListener("wheel", app.controller.onWheel, {
|
|
422863
422860
|
capture: true,
|
|
422864
422861
|
passive: false
|
|
422865
422862
|
});
|
|
422866
422863
|
}
|
|
422867
422864
|
return () => {
|
|
422868
422865
|
if (commentRef.current) {
|
|
422869
|
-
commentRef.current.removeEventListener("wheel",
|
|
422866
|
+
commentRef.current.removeEventListener("wheel", app.controller.onWheel);
|
|
422870
422867
|
}
|
|
422871
422868
|
};
|
|
422872
422869
|
}, [isThreadOpen]);
|
|
@@ -422985,10 +422982,10 @@ var CreateComment = ({
|
|
|
422985
422982
|
}) => {
|
|
422986
422983
|
const formRef = import_react385.useRef(null);
|
|
422987
422984
|
const [value2, setValue] = import_react385.useState("");
|
|
422988
|
-
const { app
|
|
422985
|
+
const { app, board } = useAppContext();
|
|
422989
422986
|
const account = useAccount2();
|
|
422990
422987
|
const mbr = useDomMbr({
|
|
422991
|
-
app
|
|
422988
|
+
app,
|
|
422992
422989
|
board,
|
|
422993
422990
|
ref: formRef,
|
|
422994
422991
|
targetMbr: comment3.getMbr(),
|
|
@@ -423041,10 +423038,10 @@ var Cluster_module_default = {
|
|
|
423041
423038
|
// src/entities/comments/Cluster/Cluster.tsx
|
|
423042
423039
|
var Cluster = ({ comments }) => {
|
|
423043
423040
|
const clusterRef = import_react386.useRef(null);
|
|
423044
|
-
const { board, app
|
|
423041
|
+
const { board, app } = useAppContext();
|
|
423045
423042
|
const account = useAccount2();
|
|
423046
423043
|
const mbr = useDomMbr({
|
|
423047
|
-
app
|
|
423044
|
+
app,
|
|
423048
423045
|
board,
|
|
423049
423046
|
ref: clusterRef,
|
|
423050
423047
|
targetMbr: comments[0].getAnchorMbr(),
|
|
@@ -423053,14 +423050,14 @@ var Cluster = ({ comments }) => {
|
|
|
423053
423050
|
});
|
|
423054
423051
|
import_react386.useEffect(() => {
|
|
423055
423052
|
if (clusterRef.current) {
|
|
423056
|
-
clusterRef.current.addEventListener("wheel",
|
|
423053
|
+
clusterRef.current.addEventListener("wheel", app.controller.onWheel, {
|
|
423057
423054
|
capture: true,
|
|
423058
423055
|
passive: false
|
|
423059
423056
|
});
|
|
423060
423057
|
}
|
|
423061
423058
|
return () => {
|
|
423062
423059
|
if (clusterRef.current) {
|
|
423063
|
-
clusterRef.current.removeEventListener("wheel",
|
|
423060
|
+
clusterRef.current.removeEventListener("wheel", app.controller.onWheel);
|
|
423064
423061
|
}
|
|
423065
423062
|
};
|
|
423066
423063
|
}, []);
|
|
@@ -423540,7 +423537,7 @@ var CommentsPanel = () => {
|
|
|
423540
423537
|
var UserPanel = () => {
|
|
423541
423538
|
const { t: t11 } = useTranslation();
|
|
423542
423539
|
const navigate = useNavigate();
|
|
423543
|
-
const { app
|
|
423540
|
+
const { app, board } = useAppContext();
|
|
423544
423541
|
const account = useAccount2();
|
|
423545
423542
|
const insideOfMicroboard = document.referrer.includes("https://microboard.io/") || document.referrer.includes("https://microboard.ru/");
|
|
423546
423543
|
if (!account.isLoggedIn) {
|
|
@@ -423578,7 +423575,7 @@ var UserPanel = () => {
|
|
|
423578
423575
|
padding: 0,
|
|
423579
423576
|
className: UserPanel_module_default.wrapper
|
|
423580
423577
|
}, /* @__PURE__ */ import_react393.default.createElement(ActionButtons, null), /* @__PURE__ */ import_react393.default.createElement(PresenceUsers, {
|
|
423581
|
-
app
|
|
423578
|
+
app
|
|
423582
423579
|
}), board.getBoardId() !== "blank" && /* @__PURE__ */ import_react393.default.createElement("div", {
|
|
423583
423580
|
className: UserPanel_module_default.container
|
|
423584
423581
|
}, /* @__PURE__ */ import_react393.default.createElement(ShareBtn, null))), /* @__PURE__ */ import_react393.default.createElement(CommentsPanel, null));
|
|
@@ -423757,10 +423754,10 @@ var LinkToButton = ({
|
|
|
423757
423754
|
const [iconUrl, setIconUrl] = import_react397.useState(undefined);
|
|
423758
423755
|
const imgRef = import_react397.useRef(null);
|
|
423759
423756
|
const [isTooltipOpen, setIsTooltipOpen] = import_react397.useState(false);
|
|
423760
|
-
const { app
|
|
423757
|
+
const { app, board } = useAppContext();
|
|
423761
423758
|
const closeTooltipTimeoutId = import_react397.useRef();
|
|
423762
423759
|
const mbr = useDomMbr({
|
|
423763
|
-
app
|
|
423760
|
+
app,
|
|
423764
423761
|
board,
|
|
423765
423762
|
ref: linkToButtonRef,
|
|
423766
423763
|
targetMbr: item instanceof Connector2 ? item.endPointer.path.getMbr() : item.getMbr(),
|
|
@@ -423992,7 +423989,7 @@ var QuickAddPanel_module_default = {
|
|
|
423992
423989
|
|
|
423993
423990
|
// src/features/AppView/QuickAddPanel/QuickAddPanel.tsx
|
|
423994
423991
|
function QuickAddPanel() {
|
|
423995
|
-
const { app
|
|
423992
|
+
const { app } = useAppContext();
|
|
423996
423993
|
const { t: t11 } = useTranslation();
|
|
423997
423994
|
const forceUpdate = useForceUpdate2();
|
|
423998
423995
|
useAppSubscription({
|
|
@@ -424001,7 +423998,7 @@ function QuickAddPanel() {
|
|
|
424001
423998
|
forceUpdate();
|
|
424002
423999
|
}
|
|
424003
424000
|
});
|
|
424004
|
-
const appBoard =
|
|
424001
|
+
const appBoard = app.getBoard();
|
|
424005
424002
|
const single = appBoard.selection.items.getSingle();
|
|
424006
424003
|
if (!appBoard.selection.showQuickAddPanel || !single || single.itemType !== "Connector") {
|
|
424007
424004
|
return null;
|
|
@@ -424290,8 +424287,8 @@ var MouseOrTracpadModal_module_default = {
|
|
|
424290
424287
|
var MOUSE_OR_TRACKPAD_MODAL = Symbol("mouseOrTrackpadModal");
|
|
424291
424288
|
var modes = ["mouse", "trackpad", "auto"];
|
|
424292
424289
|
var MouseOrTrackpadModal = () => {
|
|
424293
|
-
const { app
|
|
424294
|
-
const [selectedMode, setSelectedMode] = import_react404.useState(
|
|
424290
|
+
const { app } = useAppContext();
|
|
424291
|
+
const [selectedMode, setSelectedMode] = import_react404.useState(app.getSettings().controlMode);
|
|
424295
424292
|
const { closeModal: closeModal2 } = useUiModalContext();
|
|
424296
424293
|
const { t: t11 } = useTranslation();
|
|
424297
424294
|
const mouseCards = [
|
|
@@ -424325,7 +424322,7 @@ var MouseOrTrackpadModal = () => {
|
|
|
424325
424322
|
}
|
|
424326
424323
|
};
|
|
424327
424324
|
const setControlMode = () => {
|
|
424328
|
-
|
|
424325
|
+
app.setControlMode(selectedMode);
|
|
424329
424326
|
closeModal2();
|
|
424330
424327
|
};
|
|
424331
424328
|
return /* @__PURE__ */ import_react404.default.createElement(UiModal, {
|
|
@@ -424379,16 +424376,16 @@ var Card6 = ({ iconName, style: style3, text: text5 }) => {
|
|
|
424379
424376
|
// src/entities/BoardMenu/sections/MouseOrTrackpad.tsx
|
|
424380
424377
|
var MouseOrTrackpad = () => {
|
|
424381
424378
|
const [isSetControlModeOpen, setIsSetControlModeOpen] = import_react405.useState(false);
|
|
424382
|
-
const { app
|
|
424379
|
+
const { app, board } = useAppContext();
|
|
424383
424380
|
const { t: t11 } = useTranslation();
|
|
424384
424381
|
const forceUpdate = useForceUpdate2();
|
|
424385
424382
|
const { openModal: openModal2 } = useUiModalContext();
|
|
424386
424383
|
const setControlMode = (mode) => {
|
|
424387
|
-
|
|
424384
|
+
app.setControlMode(mode);
|
|
424388
424385
|
forceUpdate();
|
|
424389
424386
|
};
|
|
424390
424387
|
const getIsActive = (mode) => {
|
|
424391
|
-
return
|
|
424388
|
+
return app.getSettings().controlMode === mode;
|
|
424392
424389
|
};
|
|
424393
424390
|
return /* @__PURE__ */ import_react405.default.createElement(ButtonWithMenu2, {
|
|
424394
424391
|
className: BoardMenu_module_default.buttonWithMenu,
|
|
@@ -424463,7 +424460,7 @@ var MouseOrTrackpad = () => {
|
|
|
424463
424460
|
// src/entities/BoardMenu/BoardMenu.tsx
|
|
424464
424461
|
var BoardMenu = () => {
|
|
424465
424462
|
const menuRef = import_react406.useRef(null);
|
|
424466
|
-
const { board, app
|
|
424463
|
+
const { board, app } = useAppContext();
|
|
424467
424464
|
const cursorPosition2 = board.pointer.point;
|
|
424468
424465
|
const [isOpen, setIsOpen] = import_react406.useState(false);
|
|
424469
424466
|
const position5 = import_react406.useRef(new Mbr);
|
|
@@ -424482,7 +424479,7 @@ var BoardMenu = () => {
|
|
|
424482
424479
|
}
|
|
424483
424480
|
});
|
|
424484
424481
|
const mbr = useDomMbr({
|
|
424485
|
-
app
|
|
424482
|
+
app,
|
|
424486
424483
|
board,
|
|
424487
424484
|
ref: menuRef,
|
|
424488
424485
|
targetMbr: new Mbr(cursorPosition2.x, cursorPosition2.y, cursorPosition2.x, cursorPosition2.y),
|
|
@@ -424889,14 +424886,14 @@ var YouTube_default = YouTube;
|
|
|
424889
424886
|
|
|
424890
424887
|
// src/features/VideoPlayer/VideoPlayer.tsx
|
|
424891
424888
|
var VideoPlayer = ({ item }) => {
|
|
424892
|
-
const { board, app
|
|
424889
|
+
const { board, app } = useAppContext();
|
|
424893
424890
|
const videoId = conf.getYouTubeId(item.getUrl());
|
|
424894
424891
|
const videoRef = import_react410.useRef(null);
|
|
424895
424892
|
const containerRef = import_react410.useRef(null);
|
|
424896
424893
|
const stopTimeoutRef = import_react410.useRef(null);
|
|
424897
424894
|
const timeoutDuration = videoId ? 300 : 10;
|
|
424898
424895
|
import_react410.useEffect(() => {
|
|
424899
|
-
containerRef.current?.addEventListener("wheel",
|
|
424896
|
+
containerRef.current?.addEventListener("wheel", app.controller.onWheel, {
|
|
424900
424897
|
capture: true,
|
|
424901
424898
|
passive: false
|
|
424902
424899
|
});
|
|
@@ -424915,7 +424912,7 @@ var VideoPlayer = ({ item }) => {
|
|
|
424915
424912
|
if (videoRef.current) {
|
|
424916
424913
|
videoRef.current.removeEventListener("loadedmetadata", handleLoadedMetadata);
|
|
424917
424914
|
}
|
|
424918
|
-
containerRef.current?.removeEventListener("wheel",
|
|
424915
|
+
containerRef.current?.removeEventListener("wheel", app.controller.onWheel);
|
|
424919
424916
|
};
|
|
424920
424917
|
}, []);
|
|
424921
424918
|
const stopVideo = () => {
|
|
@@ -427261,7 +427258,8 @@ function Sprite() {
|
|
|
427261
427258
|
|
|
427262
427259
|
// src/features/AppView/AppView.tsx
|
|
427263
427260
|
function AppView() {
|
|
427264
|
-
const { app
|
|
427261
|
+
const { app, board } = useAppContext();
|
|
427262
|
+
const { t: t11 } = useTranslation();
|
|
427265
427263
|
const { setQuotedText, tryToSendGenerationRequest } = useAIContext();
|
|
427266
427264
|
const { setHyperLinkData, hyperLinkData } = useHyperLinkContext();
|
|
427267
427265
|
const location3 = useLocation();
|
|
@@ -427288,6 +427286,12 @@ function AppView() {
|
|
|
427288
427286
|
Audio: AudioPlayer
|
|
427289
427287
|
};
|
|
427290
427288
|
import_react414.useEffect(() => {
|
|
427289
|
+
notify2({
|
|
427290
|
+
header: t11("notifications.offlineHeader"),
|
|
427291
|
+
body: t11("notifications.offlineBody"),
|
|
427292
|
+
variant: "info",
|
|
427293
|
+
duration: Infinity
|
|
427294
|
+
});
|
|
427291
427295
|
const handleCtrlWheel = (ev) => {
|
|
427292
427296
|
if (ev.ctrlKey) {
|
|
427293
427297
|
ev.preventDefault();
|
|
@@ -427304,9 +427308,9 @@ function AppView() {
|
|
|
427304
427308
|
controller16.onPaste(event);
|
|
427305
427309
|
canPasteAgain = false;
|
|
427306
427310
|
};
|
|
427307
|
-
|
|
427311
|
+
app.boardSubject.subscribe(update);
|
|
427308
427312
|
const container = containerRef.current;
|
|
427309
|
-
const controller16 =
|
|
427313
|
+
const controller16 = app.controller;
|
|
427310
427314
|
const abortController2 = new AbortController;
|
|
427311
427315
|
if (container) {
|
|
427312
427316
|
container.addEventListener("touchmove", preventDefault2, {
|
|
@@ -427352,11 +427356,11 @@ function AppView() {
|
|
|
427352
427356
|
});
|
|
427353
427357
|
}
|
|
427354
427358
|
return () => {
|
|
427355
|
-
|
|
427359
|
+
app.boardSubject.unsubscribe(update);
|
|
427356
427360
|
abortController2.abort();
|
|
427357
427361
|
};
|
|
427358
427362
|
}, [containerRef.current]);
|
|
427359
|
-
const appBoard =
|
|
427363
|
+
const appBoard = app.getBoard();
|
|
427360
427364
|
return /* @__PURE__ */ import_react414.default.createElement(ErrorBoundary, null, /* @__PURE__ */ import_react414.default.createElement("div", {
|
|
427361
427365
|
className: AppView_module_default.wrapper
|
|
427362
427366
|
}, shouldShow("titlePanel") && /* @__PURE__ */ import_react414.default.createElement(LandingMenu, null), shouldShow("titlePanel") && /* @__PURE__ */ import_react414.default.createElement(MobileLandingMenu, null), /* @__PURE__ */ import_react414.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react414.default.createElement("div", {
|
|
@@ -427369,12 +427373,12 @@ function AppView() {
|
|
|
427369
427373
|
}, /* @__PURE__ */ import_react414.default.createElement(UIMainLoader, null))
|
|
427370
427374
|
}), /* @__PURE__ */ import_react414.default.createElement(Canvas, {
|
|
427371
427375
|
router: { location: location3, navigate, params },
|
|
427372
|
-
app
|
|
427376
|
+
app,
|
|
427373
427377
|
board
|
|
427374
427378
|
}, /* @__PURE__ */ import_react414.default.createElement(LinksProvider, null), /* @__PURE__ */ import_react414.default.createElement(ItemsProvider, {
|
|
427375
427379
|
itemsComponents
|
|
427376
427380
|
})), /* @__PURE__ */ import_react414.default.createElement(TextEditors, {
|
|
427377
|
-
app
|
|
427381
|
+
app,
|
|
427378
427382
|
board,
|
|
427379
427383
|
setQuotedText,
|
|
427380
427384
|
setHyperLinkData,
|
|
@@ -427390,7 +427394,7 @@ function AppView() {
|
|
|
427390
427394
|
}
|
|
427391
427395
|
return null;
|
|
427392
427396
|
})), /* @__PURE__ */ import_react414.default.createElement(ExportVisible, null, /* @__PURE__ */ import_react414.default.createElement(UserPanelLayout, {
|
|
427393
|
-
app
|
|
427397
|
+
app
|
|
427394
427398
|
}), /* @__PURE__ */ import_react414.default.createElement(CommentsProvider, null)), /* @__PURE__ */ import_react414.default.createElement(ExportVisible, null, /* @__PURE__ */ import_react414.default.createElement(UserTracking, {
|
|
427395
427399
|
board
|
|
427396
427400
|
})), /* @__PURE__ */ import_react414.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react414.default.createElement(ZoomPanel, null)), /* @__PURE__ */ import_react414.default.createElement(ViewModeGuard, null, /* @__PURE__ */ import_react414.default.createElement(ContextPanel, null), /* @__PURE__ */ import_react414.default.createElement(QuickAddPanel, null), /* @__PURE__ */ import_react414.default.createElement(ExportPanel, null), /* @__PURE__ */ import_react414.default.createElement(BoardMenu, null)), /* @__PURE__ */ import_react414.default.createElement(HyperLink, null), /* @__PURE__ */ import_react414.default.createElement(AiGenerationButton, null), /* @__PURE__ */ import_react414.default.createElement(HyperLinkInput, null), /* @__PURE__ */ import_react414.default.createElement(ToastProvider, null), authCode && teamIdSearch ? /* @__PURE__ */ import_react414.default.createElement(ImportMiro, null) : null, /* @__PURE__ */ import_react414.default.createElement(CookiesModal, null), /* @__PURE__ */ import_react414.default.createElement(UiModalBackground, null, /* @__PURE__ */ import_react414.default.createElement(ImportMiroStartModal, null), /* @__PURE__ */ import_react414.default.createElement(SelectPaymentModal, null), /* @__PURE__ */ import_react414.default.createElement(UserPlanModal, null), /* @__PURE__ */ import_react414.default.createElement(LimitsModal, null), /* @__PURE__ */ import_react414.default.createElement(HistoryModal, null), /* @__PURE__ */ import_react414.default.createElement(ShareModal, null), /* @__PURE__ */ import_react414.default.createElement(ShareSnapshotModal, null), /* @__PURE__ */ import_react414.default.createElement(ProfileSettingsModal, null), /* @__PURE__ */ import_react414.default.createElement(ChangePasswordModal, null), /* @__PURE__ */ import_react414.default.createElement(AccessDeniedModal, null), /* @__PURE__ */ import_react414.default.createElement(AiUnavailableModal, null), /* @__PURE__ */ import_react414.default.createElement(MediaUnavailableModal, null), /* @__PURE__ */ import_react414.default.createElement(SelectTemplateModal, null), /* @__PURE__ */ import_react414.default.createElement(AuthClipboardModal, null), /* @__PURE__ */ import_react414.default.createElement(ImgAuthClipboardModal, null), /* @__PURE__ */ import_react414.default.createElement(LoadingNotification, null), /* @__PURE__ */ import_react414.default.createElement(ErrorNotification, null), /* @__PURE__ */ import_react414.default.createElement(SuccessNotification, null), /* @__PURE__ */ import_react414.default.createElement(WarnClipboardNotification, null), /* @__PURE__ */ import_react414.default.createElement(WarnNotification, null), /* @__PURE__ */ import_react414.default.createElement(SetLinkToModal, null), /* @__PURE__ */ import_react414.default.createElement(CreateTemplateModal, null), /* @__PURE__ */ import_react414.default.createElement(MouseOrTrackpadModal, null), /* @__PURE__ */ import_react414.default.createElement(CreateCardsModal, null), /* @__PURE__ */ import_react414.default.createElement(CreateDiceModal, null)), /* @__PURE__ */ import_react414.default.createElement(LocalFileSaveProgress_default, null)), /* @__PURE__ */ import_react414.default.createElement(Sprite, null));
|
|
@@ -427401,7 +427405,7 @@ function preventDefault2(event) {
|
|
|
427401
427405
|
// src/features/AppView/LocalAppView.tsx
|
|
427402
427406
|
var import_react415 = __toESM(require_react(), 1);
|
|
427403
427407
|
function LocalAppView() {
|
|
427404
|
-
const { app
|
|
427408
|
+
const { app, board } = useAppContext();
|
|
427405
427409
|
const forceUpdate = useForceUpdate2();
|
|
427406
427410
|
const animationId = import_react415.useRef(null);
|
|
427407
427411
|
const containerRef = import_react415.useRef(null);
|
|
@@ -427438,9 +427442,9 @@ function LocalAppView() {
|
|
|
427438
427442
|
controller16.onPaste(event);
|
|
427439
427443
|
canPasteAgain = false;
|
|
427440
427444
|
};
|
|
427441
|
-
|
|
427445
|
+
app.boardSubject.subscribe(update);
|
|
427442
427446
|
const container = containerRef.current;
|
|
427443
|
-
const controller16 =
|
|
427447
|
+
const controller16 = app.controller;
|
|
427444
427448
|
if (container) {
|
|
427445
427449
|
document.addEventListener("touchmove", preventDefault3, {
|
|
427446
427450
|
passive: false
|
|
@@ -427468,7 +427472,7 @@ function LocalAppView() {
|
|
|
427468
427472
|
window.addEventListener("dragover", (event) => event.preventDefault());
|
|
427469
427473
|
}
|
|
427470
427474
|
return () => {
|
|
427471
|
-
|
|
427475
|
+
app.boardSubject.unsubscribe(update);
|
|
427472
427476
|
if (container) {
|
|
427473
427477
|
document.removeEventListener("touchmove", preventDefault3);
|
|
427474
427478
|
container.removeEventListener("wheel", controller16.onWheel);
|
|
@@ -427489,10 +427493,10 @@ function LocalAppView() {
|
|
|
427489
427493
|
}, /* @__PURE__ */ import_react415.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react415.default.createElement("div", {
|
|
427490
427494
|
ref: containerRef
|
|
427491
427495
|
}, /* @__PURE__ */ import_react415.default.createElement(CanvasNoRouter, {
|
|
427492
|
-
app
|
|
427496
|
+
app,
|
|
427493
427497
|
board
|
|
427494
427498
|
}, /* @__PURE__ */ import_react415.default.createElement(LinksProvider, null)), /* @__PURE__ */ import_react415.default.createElement(TextEditors, {
|
|
427495
|
-
app
|
|
427499
|
+
app,
|
|
427496
427500
|
board,
|
|
427497
427501
|
setQuotedText,
|
|
427498
427502
|
setHyperLinkData,
|
|
@@ -446310,30 +446314,28 @@ var pasteWelcomeBoardData = (board, lang) => {
|
|
|
446310
446314
|
board.camera.zoomToFit(mbr);
|
|
446311
446315
|
};
|
|
446312
446316
|
function WelcomePage() {
|
|
446313
|
-
const { app
|
|
446317
|
+
const { app } = useAppContext();
|
|
446314
446318
|
const navigate = useNavigate();
|
|
446315
|
-
const
|
|
446316
|
-
|
|
446317
|
-
const createPublicBoard = async (app3) => {
|
|
446318
|
-
const lastBoardId = app3.getLastBoardId();
|
|
446319
|
+
const createPublicBoard = async (app2) => {
|
|
446320
|
+
const lastBoardId = app2.getLastBoardId();
|
|
446319
446321
|
if (lastBoardId) {
|
|
446320
|
-
await
|
|
446322
|
+
await app2.openBoard(lastBoardId);
|
|
446321
446323
|
return lastBoardId;
|
|
446322
446324
|
}
|
|
446323
|
-
return "welcome";
|
|
446325
|
+
return "welcome-local";
|
|
446324
446326
|
};
|
|
446325
446327
|
import_react419.default.useEffect(() => {
|
|
446326
|
-
createPublicBoard(
|
|
446328
|
+
createPublicBoard(app).then((boardId) => {
|
|
446327
446329
|
navigate(`/boards/${boardId}`);
|
|
446328
446330
|
}).catch(console.error);
|
|
446329
|
-
}, [
|
|
446331
|
+
}, [app]);
|
|
446330
446332
|
return null;
|
|
446331
446333
|
}
|
|
446332
446334
|
|
|
446333
446335
|
// src/pages/BoardPage.tsx
|
|
446334
446336
|
var BoardPage = () => {
|
|
446335
|
-
const { app
|
|
446336
|
-
const board =
|
|
446337
|
+
const { app } = useAppContext();
|
|
446338
|
+
const board = app.getBoard();
|
|
446337
446339
|
const params = useParams();
|
|
446338
446340
|
const { t: t11, i18n: i18n7 } = useTranslation();
|
|
446339
446341
|
const navigate = useNavigate();
|
|
@@ -446345,10 +446347,10 @@ var BoardPage = () => {
|
|
|
446345
446347
|
const boardsList = useBoardsList();
|
|
446346
446348
|
const account = useAccount2();
|
|
446347
446349
|
const { openModal: openModal2 } = useUiModalContext();
|
|
446348
|
-
|
|
446350
|
+
app.connection.onAccessDenied = async (deniedBoardId, forceUpdate = false) => {
|
|
446349
446351
|
if (forceUpdate || deniedBoardId === board.getBoardId() && !isOpenMiroBoards) {
|
|
446350
446352
|
openModal2(ACCESS_DENIED_MODAL);
|
|
446351
|
-
const deniedBoard =
|
|
446353
|
+
const deniedBoard = app.getConnectedBoard(deniedBoardId);
|
|
446352
446354
|
if (deniedBoard) {
|
|
446353
446355
|
deniedBoard.disconnect();
|
|
446354
446356
|
}
|
|
@@ -446356,54 +446358,54 @@ var BoardPage = () => {
|
|
|
446356
446358
|
await boardsList.removeBoard(board.getBoardId());
|
|
446357
446359
|
}
|
|
446358
446360
|
navigate("/boards/blank");
|
|
446359
|
-
await
|
|
446360
|
-
|
|
446361
|
+
await app.openBoard("blank");
|
|
446362
|
+
app.render();
|
|
446361
446363
|
}
|
|
446362
446364
|
};
|
|
446363
446365
|
import_react420.useLayoutEffect(() => {
|
|
446364
446366
|
boardsList.loadBoards().then(() => {
|
|
446365
446367
|
if (params.boardId?.includes("local")) {
|
|
446366
|
-
|
|
446368
|
+
app.openBoardFromFile().then(() => {
|
|
446367
446369
|
navigate(`/boards/${params.boardId}${search3}`, {
|
|
446368
446370
|
replace: true
|
|
446369
446371
|
});
|
|
446370
|
-
|
|
446372
|
+
app.render();
|
|
446371
446373
|
});
|
|
446372
446374
|
} else if (params.boardId && params.boardId !== "blank") {
|
|
446373
|
-
|
|
446375
|
+
app.openBoard(params.boardId, searchParams.get("accessKey") || undefined).then(() => {
|
|
446374
446376
|
navigate(`/boards/${params.boardId}${search3}`, {
|
|
446375
446377
|
replace: true
|
|
446376
446378
|
});
|
|
446377
|
-
|
|
446379
|
+
app.render();
|
|
446378
446380
|
});
|
|
446379
446381
|
} else {
|
|
446380
446382
|
const lastSeenBoard = localStorage.getItem(LAST_BOARD_KEY);
|
|
446381
446383
|
const isFirstVisit = !api10.get("first_visit");
|
|
446382
446384
|
if (lastSeenBoard) {
|
|
446383
|
-
|
|
446385
|
+
app.openBoard(lastSeenBoard).then(() => {
|
|
446384
446386
|
navigate(`/boards/${lastSeenBoard}${search3}`, {
|
|
446385
446387
|
replace: true
|
|
446386
446388
|
});
|
|
446387
|
-
|
|
446389
|
+
app.render();
|
|
446388
446390
|
});
|
|
446389
446391
|
} else if (isFirstVisit) {
|
|
446390
446392
|
boardsList.createBoard(t11("board.welcomeBoardTitle"), true).then((boardId) => {
|
|
446391
|
-
|
|
446393
|
+
app.openBoard(boardId).then(() => {
|
|
446392
446394
|
navigate(`/boards/${boardId}`, {
|
|
446393
446395
|
replace: true
|
|
446394
446396
|
});
|
|
446395
|
-
|
|
446396
|
-
const board2 =
|
|
446397
|
+
app.render();
|
|
446398
|
+
const board2 = app.getBoard();
|
|
446397
446399
|
pasteWelcomeBoardData(board2, i18n7.language);
|
|
446398
446400
|
});
|
|
446399
446401
|
});
|
|
446400
446402
|
} else {
|
|
446401
446403
|
boardsList.createBoard().then((boardId) => {
|
|
446402
|
-
|
|
446404
|
+
app.openBoard(boardId).then(() => {
|
|
446403
446405
|
navigate(`/boards/${boardId}`, {
|
|
446404
446406
|
replace: true
|
|
446405
446407
|
});
|
|
446406
|
-
|
|
446408
|
+
app.render();
|
|
446407
446409
|
});
|
|
446408
446410
|
});
|
|
446409
446411
|
}
|
|
@@ -446442,7 +446444,7 @@ var BoardPage = () => {
|
|
|
446442
446444
|
return /* @__PURE__ */ import_react420.default.createElement("div", null);
|
|
446443
446445
|
}
|
|
446444
446446
|
return /* @__PURE__ */ import_react420.default.createElement(AppContext2.Provider, {
|
|
446445
|
-
value: { app
|
|
446447
|
+
value: { app, board }
|
|
446446
446448
|
}, /* @__PURE__ */ import_react420.default.createElement(AppView, null));
|
|
446447
446449
|
};
|
|
446448
446450
|
|
|
@@ -446815,19 +446817,19 @@ var LOCAL_PROVIDERS = [
|
|
|
446815
446817
|
];
|
|
446816
446818
|
var Provider = compose2(PROVIDERS);
|
|
446817
446819
|
var LocalProvider = compose2(LOCAL_PROVIDERS);
|
|
446818
|
-
function AppLayout({ app
|
|
446819
|
-
const board =
|
|
446820
|
+
function AppLayout({ app }) {
|
|
446821
|
+
const board = app.getBoard();
|
|
446820
446822
|
return /* @__PURE__ */ import_react427.default.createElement(AppContext2.Provider, {
|
|
446821
|
-
value: { app
|
|
446823
|
+
value: { app, board }
|
|
446822
446824
|
}, /* @__PURE__ */ import_react427.default.createElement(Provider, null, /* @__PURE__ */ import_react427.default.createElement(Outlet, null), /* @__PURE__ */ import_react427.default.createElement(ToastProvider, null)));
|
|
446823
446825
|
}
|
|
446824
446826
|
function LocalAppLayout({
|
|
446825
|
-
app
|
|
446827
|
+
app,
|
|
446826
446828
|
children
|
|
446827
446829
|
}) {
|
|
446828
|
-
const board =
|
|
446830
|
+
const board = app.getBoard();
|
|
446829
446831
|
return /* @__PURE__ */ import_react427.default.createElement(AppContext2.Provider, {
|
|
446830
|
-
value: { app
|
|
446832
|
+
value: { app, board }
|
|
446831
446833
|
}, /* @__PURE__ */ import_react427.default.createElement(LocalProvider, null, children, /* @__PURE__ */ import_react427.default.createElement(Outlet, null)));
|
|
446832
446834
|
}
|
|
446833
446835
|
|
|
@@ -446836,8 +446838,8 @@ var import_react428 = __toESM(require_react(), 1);
|
|
|
446836
446838
|
var QuickAddButtonsClear = ({
|
|
446837
446839
|
children
|
|
446838
446840
|
}) => {
|
|
446839
|
-
const { app
|
|
446840
|
-
|
|
446841
|
+
const { app } = useAppContext();
|
|
446842
|
+
app.getBoard()?.selection.quickAddButtons.clear();
|
|
446841
446843
|
return /* @__PURE__ */ import_react428.default.createElement(import_react428.default.Fragment, null, children);
|
|
446842
446844
|
};
|
|
446843
446845
|
var QuickAddButtonsClear_default = QuickAddButtonsClear;
|
|
@@ -447171,7 +447173,7 @@ var SelectBoardPage_module_default = {
|
|
|
447171
447173
|
// src/pages/SelectBoardPage/SelectBoardPage.tsx
|
|
447172
447174
|
var getName = (i18t, name3) => name3 || i18t("board.untitled");
|
|
447173
447175
|
var SelectBoardPage = () => {
|
|
447174
|
-
const { app
|
|
447176
|
+
const { app } = useAppContext();
|
|
447175
447177
|
const { t: t11 } = useTranslation();
|
|
447176
447178
|
const navigate = useNavigate();
|
|
447177
447179
|
const forceUpdate = useForceUpdate2();
|
|
@@ -447220,7 +447222,7 @@ var SelectBoardPage = () => {
|
|
|
447220
447222
|
}, [selected]);
|
|
447221
447223
|
import_react433.useEffect(() => {
|
|
447222
447224
|
const fetchBoards = async () => {
|
|
447223
|
-
await
|
|
447225
|
+
await app.boardsList.loadBoards();
|
|
447224
447226
|
};
|
|
447225
447227
|
fetchBoards();
|
|
447226
447228
|
}, []);
|
|
@@ -447228,7 +447230,7 @@ var SelectBoardPage = () => {
|
|
|
447228
447230
|
try {
|
|
447229
447231
|
if (selected === "addNew") {
|
|
447230
447232
|
const createdId = await boardsList.createBoard(newBoardRef.current?.value, true);
|
|
447231
|
-
const unauthedData =
|
|
447233
|
+
const unauthedData = app.storage.getCreatedBoard(createdId);
|
|
447232
447234
|
if (unauthedData) {
|
|
447233
447235
|
handleSuccess(unauthedData.id, unauthedData.title, unauthedData.authorKey ?? undefined);
|
|
447234
447236
|
} else {
|
|
@@ -448143,8 +448145,8 @@ var WheelLogger_module_default = {
|
|
|
448143
448145
|
|
|
448144
448146
|
// src/pages/WheelLogger/WheelLogger.tsx
|
|
448145
448147
|
var WheelEventLoggerPage = () => {
|
|
448146
|
-
const { app
|
|
448147
|
-
const board =
|
|
448148
|
+
const { app } = useAppContext();
|
|
448149
|
+
const board = app.getBoard();
|
|
448148
448150
|
const boardsList = useBoardsList();
|
|
448149
448151
|
const [events4, setEvents] = import_react439.useState([]);
|
|
448150
448152
|
const [mousePosition, setMousePosition] = import_react439.useState({ x: 0, y: 0 });
|
|
@@ -448154,8 +448156,8 @@ var WheelEventLoggerPage = () => {
|
|
|
448154
448156
|
try {
|
|
448155
448157
|
await boardsList.loadBoards();
|
|
448156
448158
|
const boardId = await boardsList.createBoard();
|
|
448157
|
-
await
|
|
448158
|
-
|
|
448159
|
+
await app.openBoard(boardId);
|
|
448160
|
+
app.render();
|
|
448159
448161
|
loggerRef.current = new WheelEventLogger(setEvents, setMousePosition);
|
|
448160
448162
|
console.log("Logger initialized successfully");
|
|
448161
448163
|
} catch (error3) {
|
|
@@ -448183,7 +448185,7 @@ var WheelEventLoggerPage = () => {
|
|
|
448183
448185
|
return /* @__PURE__ */ import_react439.default.createElement("div", null);
|
|
448184
448186
|
}
|
|
448185
448187
|
return /* @__PURE__ */ import_react439.default.createElement(import_react439.default.Fragment, null, /* @__PURE__ */ import_react439.default.createElement(AppContext2.Provider, {
|
|
448186
|
-
value: { app
|
|
448188
|
+
value: { app, board }
|
|
448187
448189
|
}, /* @__PURE__ */ import_react439.default.createElement(AppView, null)), /* @__PURE__ */ import_react439.default.createElement("div", {
|
|
448188
448190
|
className: WheelLogger_module_default.loggerContainer
|
|
448189
448191
|
}, /* @__PURE__ */ import_react439.default.createElement("div", {
|
|
@@ -448205,11 +448207,11 @@ var WheelEventLoggerPage = () => {
|
|
|
448205
448207
|
// src/App/router.tsx
|
|
448206
448208
|
var import_react440 = __toESM(require_react(), 1);
|
|
448207
448209
|
var import_react_dom19 = __toESM(require_react_dom(), 1);
|
|
448208
|
-
function getRender(
|
|
448210
|
+
function getRender(app) {
|
|
448209
448211
|
const router = createBrowserRouter([
|
|
448210
448212
|
{
|
|
448211
448213
|
element: /* @__PURE__ */ import_react440.default.createElement(AppLayout, {
|
|
448212
|
-
app
|
|
448214
|
+
app
|
|
448213
448215
|
}),
|
|
448214
448216
|
children: [
|
|
448215
448217
|
{
|
|
@@ -448297,10 +448299,10 @@ function getRender(app2) {
|
|
|
448297
448299
|
router
|
|
448298
448300
|
};
|
|
448299
448301
|
}
|
|
448300
|
-
function getLocalRender(
|
|
448302
|
+
function getLocalRender(app, customId) {
|
|
448301
448303
|
return () => {
|
|
448302
448304
|
import_react_dom19.default.render(/* @__PURE__ */ import_react440.default.createElement(LocalAppLayout, {
|
|
448303
|
-
app
|
|
448305
|
+
app
|
|
448304
448306
|
}, /* @__PURE__ */ import_react440.default.createElement(LocalSidePanelContextProvider, null, /* @__PURE__ */ import_react440.default.createElement(LocalAppView, null))), document.getElementById(customId));
|
|
448305
448307
|
};
|
|
448306
448308
|
}
|
|
@@ -448719,8 +448721,8 @@ function createApp(isHistory = true) {
|
|
|
448719
448721
|
const authInterceptor = getAuthInterceptor(account);
|
|
448720
448722
|
api.interceptors.addRequestInterceptor(authInterceptor);
|
|
448721
448723
|
async function openBoard(id3, accessKey) {
|
|
448722
|
-
if (id3
|
|
448723
|
-
const welcomeBoard = new Board(
|
|
448724
|
+
if (id3.includes("welcome")) {
|
|
448725
|
+
const welcomeBoard = new Board(id3);
|
|
448724
448726
|
pasteWelcomeBoardData(welcomeBoard, conf.i18n.language);
|
|
448725
448727
|
subscriptions.setBoard(welcomeBoard);
|
|
448726
448728
|
boardSubject.publish(welcomeBoard);
|
|
@@ -448729,7 +448731,7 @@ function createApp(isHistory = true) {
|
|
|
448729
448731
|
await connectBoard(board);
|
|
448730
448732
|
return;
|
|
448731
448733
|
}
|
|
448732
|
-
const appBoard =
|
|
448734
|
+
const appBoard = app.getBoard();
|
|
448733
448735
|
if (id3 === "boards" || appBoard?.getBoardId() === id3) {
|
|
448734
448736
|
return;
|
|
448735
448737
|
}
|
|
@@ -448761,7 +448763,7 @@ function createApp(isHistory = true) {
|
|
|
448761
448763
|
board.setName(boardsList.getBoardInfo(id3)?.title);
|
|
448762
448764
|
}
|
|
448763
448765
|
appBoard?.setIsOpen(false);
|
|
448764
|
-
const newBoard =
|
|
448766
|
+
const newBoard = app.getBoard();
|
|
448765
448767
|
if (!newBoard.camera.useSavedSnapshot(newBoard.getCameraSnapshot())) {
|
|
448766
448768
|
if (newBoard.items.listAll().length > 0) {
|
|
448767
448769
|
const itemsMbr = newBoard.items.getMbr();
|
|
@@ -448801,9 +448803,9 @@ function createApp(isHistory = true) {
|
|
|
448801
448803
|
}, 1000);
|
|
448802
448804
|
}
|
|
448803
448805
|
async function openBoardFromFile() {
|
|
448804
|
-
|
|
448806
|
+
app.getBoard()?.cleanup();
|
|
448805
448807
|
const id3 = "local";
|
|
448806
|
-
const currentBoard = new Board(id3, undefined, saveEditingFile.bind(
|
|
448808
|
+
const currentBoard = new Board(id3, undefined, saveEditingFile.bind(app));
|
|
448807
448809
|
connectBoard(currentBoard);
|
|
448808
448810
|
subscriptions.setBoard(currentBoard);
|
|
448809
448811
|
boardSubject.publish(currentBoard);
|
|
@@ -448864,13 +448866,13 @@ function createApp(isHistory = true) {
|
|
|
448864
448866
|
const snapshotId = window.parent.location.href.split("/snapshots/")[1];
|
|
448865
448867
|
const snapshot2 = document.documentElement.outerHTML;
|
|
448866
448868
|
const boardId = await boardsList.createBoard(snapshotId.split("?")[0] + " copy", !account.isLoggedIn);
|
|
448867
|
-
await
|
|
448869
|
+
await app.connection.connect();
|
|
448868
448870
|
window.parent.history.pushState({}, "", `/boards/${boardId}`);
|
|
448869
|
-
await
|
|
448870
|
-
const addedIds =
|
|
448871
|
+
await app.openBoard(boardId);
|
|
448872
|
+
const addedIds = app.getBoard().deserializeHTMLAndEmit(snapshot2);
|
|
448871
448873
|
const promise = new Promise((resolve2) => {
|
|
448872
448874
|
const reloadInterval = setInterval(() => {
|
|
448873
|
-
const confirmedEvents =
|
|
448875
|
+
const confirmedEvents = app.getBoard().events?.getRaw().confirmedEvents;
|
|
448874
448876
|
const flatOperations = confirmedEvents?.flatMap((ev) => ("operations" in ev.body) ? ev.body.operations : ev.body.operation) || [];
|
|
448875
448877
|
const confirmedAddedIds = flatOperations.filter((op2) => op2.method === "add").flatMap((op2) => op2.item);
|
|
448876
448878
|
if (confirmedAddedIds.length >= addedIds.length) {
|
|
@@ -448926,7 +448928,7 @@ function createApp(isHistory = true) {
|
|
|
448926
448928
|
await writable.write(data);
|
|
448927
448929
|
await writable.close();
|
|
448928
448930
|
}
|
|
448929
|
-
const
|
|
448931
|
+
const app = {
|
|
448930
448932
|
connection,
|
|
448931
448933
|
clipboard,
|
|
448932
448934
|
location: location3,
|
|
@@ -448961,7 +448963,7 @@ function createApp(isHistory = true) {
|
|
|
448961
448963
|
storage2.softClean();
|
|
448962
448964
|
});
|
|
448963
448965
|
function render2() {
|
|
448964
|
-
const { render: render3, router } = getRender(
|
|
448966
|
+
const { render: render3, router } = getRender(app);
|
|
448965
448967
|
boardSubject.subscribe(() => {
|
|
448966
448968
|
boardsList.subject.publish();
|
|
448967
448969
|
});
|
|
@@ -448992,10 +448994,10 @@ function createApp(isHistory = true) {
|
|
|
448992
448994
|
render3();
|
|
448993
448995
|
}
|
|
448994
448996
|
function localRender(id3) {
|
|
448995
|
-
const render3 = getLocalRender(
|
|
448997
|
+
const render3 = getLocalRender(app, id3);
|
|
448996
448998
|
render3();
|
|
448997
448999
|
}
|
|
448998
|
-
return
|
|
449000
|
+
return app;
|
|
448999
449001
|
}
|
|
449000
449002
|
// src/features/Cursors/pencil.svg
|
|
449001
449003
|
var pencil_default = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|