Read "mode" from URL params

This commit is contained in:
Danny McGee
2024-01-15 15:04:28 -05:00
parent 2f549e2d14
commit 9099cf6bb7
+15
View File
@@ -9,6 +9,7 @@ import {
TransformSpace,
TransformType,
SceneState,
StudioMode,
} from "@storyteller/studio";
import { CanvasProvider } from "@storyteller/studio-web/canvas-provider";
import { match } from "@storyteller/utility";
@@ -43,6 +44,8 @@ export class AppElement extends LitElement {
@state() sceneObjects: SceneObject[] = [];
@state() selection?: string | null;
@state() mode?: StudioMode;
#sceneObjects: studio.SceneObject[] = [];
#entityMap = new Map<string, SceneObject>();
#canvasProvider: Ref<CanvasProvider> = createRef();
@@ -54,6 +57,18 @@ export class AppElement extends LitElement {
return document.getElementById(provider.canvasId) as HTMLCanvasElement | null;
}
override connectedCallback(): void {
super.connectedCallback();
const params = new URLSearchParams(document.location.search);
this.mode = match (params.get("mode"), {
"studio": () => StudioMode.Editor,
"Viewer": () => StudioMode.Viewer,
_: () => StudioMode.Viewer,
});
}
protected override createRenderRoot(): Element | ShadowRoot {
return this;
}