@@ -97,7 +97,25 @@ export const withCodeEditor = makeDecorator({
9797 css : styleCode
9898 } ;
9999
100- editor . addEventListener ( 'fileUpdated' , ( ) => {
100+ const loadEditorContent = ( ) => {
101+ const token = window . parent . location . hash . replace ( '#' , '' ) ;
102+ console . log ( token ) ;
103+
104+ let providerInitCode = `
105+ import {Providers, MockProvider} from "${ mgtScriptName } ";
106+ Providers.globalProvider = new MockProvider(true);
107+ ` ;
108+
109+ if ( token ) {
110+ providerInitCode = `
111+ import {Providers, SimpleProvider, ProviderState} from "${ mgtScriptName } ";
112+ Providers.globalProvider = new SimpleProvider(async () => {
113+ return '${ token } ';
114+ });
115+ Providers.globalProvider.setState(ProviderState.SignedIn);
116+ ` ;
117+ }
118+
101119 const storyElement = document . createElement ( 'iframe' ) ;
102120
103121 storyElement . addEventListener ( 'load' , ( ) => {
@@ -114,8 +132,7 @@ export const withCodeEditor = makeDecorator({
114132 <head>
115133 <script type="module" src="${ mgtScriptName } "></script>
116134 <script type="module">
117- import {Providers, MockProvider} from "${ mgtScriptName } ";
118- Providers.globalProvider = new MockProvider(true);
135+ ${ providerInitCode }
119136 </script>
120137 <style>
121138 html, body {
@@ -141,7 +158,11 @@ export const withCodeEditor = makeDecorator({
141158 storyElement . className = 'story-mgt-preview' ;
142159 storyElementWrapper . innerHTML = '' ;
143160 storyElementWrapper . appendChild ( storyElement ) ;
144- } ) ;
161+ } ;
162+
163+ window . parent . addEventListener ( 'hashchange' , loadEditorContent ) ;
164+
165+ editor . addEventListener ( 'fileUpdated' , loadEditorContent ) ;
145166
146167 const separator = document . createElement ( 'div' ) ;
147168
0 commit comments