diff --git a/studio-frontend/src/app/app.element.ts b/studio-frontend/src/app/app.element.ts index a2ee738..7cf245e 100644 --- a/studio-frontend/src/app/app.element.ts +++ b/studio-frontend/src/app/app.element.ts @@ -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(); #canvasProvider: Ref = 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; }