WIP sync client

This commit is contained in:
Marcel Mraz 2024-11-26 22:51:19 +01:00
parent 508cfbc843
commit f12ed8e0b2
No known key found for this signature in database
GPG key ID: 4EBD6E62DC830CD2
12 changed files with 327 additions and 146 deletions

View file

@ -88,7 +88,9 @@ import type {
ReconciledExcalidrawElement,
RemoteExcalidrawElement,
} from "../../packages/excalidraw/data/reconcile";
import { ExcalidrawSyncClient } from "../../packages/excalidraw/sync/client";
export const syncAPIAtom = atom<ExcalidrawSyncClient | null>(null);
export const collabAPIAtom = atom<CollabAPI | null>(null);
export const isCollaboratingAtom = atom(false);
export const isOfflineAtom = atom(false);
@ -234,6 +236,10 @@ class Collab extends PureComponent<CollabProps, CollabState> {
};
appJotaiStore.set(collabAPIAtom, collabAPI);
appJotaiStore.set(
syncAPIAtom,
new ExcalidrawSyncClient(this.excalidrawAPI),
);
if (import.meta.env.MODE === ENV.TEST || import.meta.env.DEV) {
window.collab = window.collab || ({} as Window["collab"]);