adds changes from previous PR

This commit is contained in:
tomlum 2022-06-06 15:49:54 -04:00
parent 99e3a469a1
commit 60965bd24b
5 changed files with 38 additions and 18 deletions

View file

@ -11,9 +11,19 @@ class Storage extends ScratchStorage {
super();
this.addWebSource(
[this.AssetType.Project],
projectAsset => `${PROJECT_HOST}/${projectAsset.assetId}`
this.getProjectGetConfig.bind(this)
);
}
setProjectToken (projectToken) {
this.projectToken = projectToken;
}
getProjectGetConfig (projectAsset) {
const path = `${PROJECT_HOST}/${projectAsset.assetId}`;
const qs = this.projectToken ? `?token=${this.projectToken}` : '';
return path + qs;
}
}
const storage = new Storage();

View file

@ -40,19 +40,23 @@ class EmbedView extends React.Component {
);
}
return (
<React.Fragment>
<Meta projectInfo={this.props.projectInfo} />
<IntlGUI
assetHost={this.props.assetHost}
basePath="/"
className="gui"
projectHost={this.props.projectHost}
projectId={this.state.projectId}
projectTitle={this.props.projectInfo.title}
/>
</React.Fragment>
);
if (this.props.projectInfo && this.props.projectInfo.project_token){
return (
<React.Fragment>
<Meta projectInfo={this.props.projectInfo} />
<IntlGUI
assetHost={this.props.assetHost}
basePath="/"
className="gui"
projectHost={this.props.projectHost}
projectId={this.state.projectId}
projectTitle={this.props.projectInfo.title}
projectToken={this.props.projectInfo.project_token}
/>
</React.Fragment>
);
}
return null;
}
}

View file

@ -359,6 +359,7 @@ const PreviewPresentation = ({
isFullScreen={isFullScreen}
previewInfoVisible="false"
projectHost={projectHost}
projectToken={projectInfo.project_token}
projectId={projectId}
onGreenFlag={onGreenFlag}
onProjectLoaded={onProjectLoaded}

View file

@ -143,7 +143,6 @@ class Preview extends React.Component {
this.props.sessionStatus === sessionActions.Status.FETCHED) ||
(this.state.projectId !== prevState.projectId))) {
this.fetchCommunityData();
this.getProjectData(this.state.projectId, true /* Show cloud/username alerts */);
if (this.state.justShared) {
this.setState({ // eslint-disable-line react/no-did-update-set-state
justShared: false
@ -160,6 +159,10 @@ class Preview extends React.Component {
});
}
}
if (this.props.projectInfo.id !== prevProps.projectInfo.id) {
storage.setProjectToken(this.props.projectInfo.project_token);
this.loadProjectData(this.state.projectId, true /* Show cloud/username alerts */);
}
if (this.props.projectInfo.id !== prevProps.projectInfo.id) {
if (typeof this.props.projectInfo.id === 'undefined') {
this.initCounts(0, 0);
@ -198,7 +201,8 @@ class Preview extends React.Component {
// Switching out of editor mode, refresh data that comes from project json
if (this.props.playerMode && !prevProps.playerMode) {
this.getProjectData(
storage.setProjectToken(this.props.projectInfo.project_token);
this.loadProjectData(
this.state.projectId,
false // Do not show cloud/username alerts again
);
@ -325,7 +329,7 @@ class Preview extends React.Component {
}
}
}
getProjectData (projectId, showAlerts) {
loadProjectData (projectId, showAlerts) {
if (projectId <= 0) return 0;
storage
.load(storage.AssetType.Project, projectId, storage.DataFormat.JSON)

View file

@ -31,5 +31,6 @@ export const projectShape = shape({
remix: shape({
parent: number,
root: number
})
}),
project_token: string
});