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, TransformSpace,
TransformType, TransformType,
SceneState, SceneState,
StudioMode,
} from "@storyteller/studio"; } from "@storyteller/studio";
import { CanvasProvider } from "@storyteller/studio-web/canvas-provider"; import { CanvasProvider } from "@storyteller/studio-web/canvas-provider";
import { match } from "@storyteller/utility"; import { match } from "@storyteller/utility";
@@ -43,6 +44,8 @@ export class AppElement extends LitElement {
@state() sceneObjects: SceneObject[] = []; @state() sceneObjects: SceneObject[] = [];
@state() selection?: string | null; @state() selection?: string | null;
@state() mode?: StudioMode;
#sceneObjects: studio.SceneObject[] = []; #sceneObjects: studio.SceneObject[] = [];
#entityMap = new Map<string, SceneObject>(); #entityMap = new Map<string, SceneObject>();
#canvasProvider: Ref<CanvasProvider> = createRef(); #canvasProvider: Ref<CanvasProvider> = createRef();
@@ -54,6 +57,18 @@ export class AppElement extends LitElement {
return document.getElementById(provider.canvasId) as HTMLCanvasElement | null; 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 { protected override createRenderRoot(): Element | ShadowRoot {
return this; return this;
} }