aboutsummaryrefslogtreecommitdiff
path: root/apps/web/lib/loadSnap.ts
blob: bcf81eca3eac7c11a09384c49b5a0a1436288eda (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { createTLStore, defaultShapeUtils, loadSnapshot } from "tldraw";
import { getCanvasData } from "../app/actions/fetchers";
import { twitterCardUtil } from "../components/canvas/twitterCard";
import { textCardUtil } from "../components/canvas/textCard";

export async function loadRemoteSnapshot(id: string) {
	const snapshot = await getCanvasData(id);

	const newStore = createTLStore({
		shapeUtils: [...defaultShapeUtils, twitterCardUtil, textCardUtil],
	});
	loadSnapshot(newStore, snapshot.snapshot);
	return newStore;
}