From 05cbcd7924238017e591f5da0ff3681f5d9d8492 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 21 Mar 2024 17:48:16 -0400 Subject: [PATCH] update URL when the engine state is saved --- .../pages/storyteller_studio_intro/StudioIntroPage.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/fakeyou.com/src/v2/view/pages/storyteller_studio_intro/StudioIntroPage.tsx b/packages/fakeyou.com/src/v2/view/pages/storyteller_studio_intro/StudioIntroPage.tsx index 11b1a7f60c..e01c01fbb5 100644 --- a/packages/fakeyou.com/src/v2/view/pages/storyteller_studio_intro/StudioIntroPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/storyteller_studio_intro/StudioIntroPage.tsx @@ -19,6 +19,8 @@ interface Props { sessionSubscriptionsWrapper: SessionSubscriptionsWrapper; } +const PAGE_TITLE = "Storyteller Studio"; + function StudioIntroPage(props: Props) { // NB: The URL parameter might be a raw media token (for .scn.ron files), or it might // have an appended suffix to assist the engine in loading the correct scene format. @@ -49,11 +51,17 @@ function StudioIntroPage(props: Props) { const [camera, cameraSet] = useState("zoom"); - usePrefixedDocumentTitle("Storyteller Studio"); + usePrefixedDocumentTitle(PAGE_TITLE); const onSaveCallback = useCallback((sceneMediaToken: string) => { + console.log(`Saved scene, new media token: ${sceneMediaToken}`) + setSavedMediaToken(sceneMediaToken); sceneIsSavedSet(true); // Just in case we missed the "scene loaded" event. + + // Replace the history state without causing a React re-render + window.history.replaceState(null, PAGE_TITLE, `/studio-intro/${sceneMediaToken}`); + }, [setSavedMediaToken, sceneIsSavedSet]); const onSceneReadyCallback = useCallback(() => {