feat(canvas): 绘图工具支持自定义 tldraw License Key (#100)

* feat(canvas): 绘图工具 - 支持自定义 tldraw License Key

* docs(canvas): 绘图工具 - 添加 License Key 页面截图
This commit is contained in:
ahyang
2026-08-03 21:38:04 +08:00
committed by GitHub
parent 9b3ec218e2
commit d83ec033bb
11 changed files with 186 additions and 47 deletions

View File

@@ -4,6 +4,7 @@ export type CanvasDrawingEngine = "tldraw" | "excalidraw";
export type CanvasDrawingEngineSetting = {
defaultEngine: CanvasDrawingEngine;
tldrawLicenseKey?: string;
configured?: boolean;
updatedBy?: string;
createdAt?: string;
@@ -17,10 +18,14 @@ export function drawingEngineForNode(node?: Pick<CanvasNodeData, "metadata"> | n
return node?.metadata?.drawingEngine === "excalidraw" ? "excalidraw" : "tldraw";
}
export function isDrawingEngineAvailable(engine: CanvasDrawingEngine) {
return engine === "excalidraw" || import.meta.env.DEV || Boolean(import.meta.env.VITE_TLDRAW_LICENSE_KEY);
export function resolveTldrawLicenseKey(configuredLicenseKey?: string) {
return configuredLicenseKey?.trim() || import.meta.env.VITE_TLDRAW_LICENSE_KEY?.trim() || undefined;
}
export function isDrawingEngineAvailable(engine: CanvasDrawingEngine, configuredLicenseKey?: string) {
return engine === "excalidraw" || Boolean(resolveTldrawLicenseKey(configuredLicenseKey));
}
export function drawingEngineLabel(engine: CanvasDrawingEngine) {
return engine === "excalidraw" ? "Excalidraw" : "tldraw";
}
}