diff --git a/src/containers/gui.jsx b/src/containers/gui.jsx index e7766cf7a91b8810d2cb9cd859a2f868a37039f0..3146e55a55aadfd1d72e935e37e2397a83deda6d 100644 --- a/src/containers/gui.jsx +++ b/src/containers/gui.jsx @@ -29,6 +29,7 @@ import FontLoaderHOC from '../lib/font-loader-hoc.jsx'; import LocalizationHOC from '../lib/localization-hoc.jsx'; import ProjectFetcherHOC from '../lib/project-fetcher-hoc.jsx'; import ProjectSaverHOC from '../lib/project-saver-hoc.jsx'; +import storage from '../lib/storage'; import vmListenerHOC from '../lib/vm-listener-hoc.jsx'; import vmManagerHOC from '../lib/vm-manager-hoc.jsx'; @@ -45,6 +46,7 @@ const messages = defineMessages({ class GUI extends React.Component { componentDidMount () { this.setReduxTitle(this.props.projectTitle); + this.props.onStorageInit(storage); } componentDidUpdate (prevProps) { if (this.props.projectId !== prevProps.projectId && this.props.projectId !== null) { @@ -75,6 +77,7 @@ class GUI extends React.Component { hideIntro, isError, isShowingProject, + onStorageInit, onUpdateProjectId, onUpdateReduxProjectTitle, projectHost, @@ -111,6 +114,7 @@ GUI.propTypes = { isShowingProject: PropTypes.bool, loadingStateVisible: PropTypes.bool, onSeeCommunity: PropTypes.func, + onStorageInit: PropTypes.func, onUpdateProjectId: PropTypes.func, onUpdateProjectTitle: PropTypes.func, onUpdateReduxProjectTitle: PropTypes.func, @@ -122,6 +126,7 @@ GUI.propTypes = { }; GUI.defaultProps = { + onStorageInit: storageInstance => storageInstance.addOfficialScratchWebStores(), onUpdateProjectId: () => {} }; diff --git a/src/lib/storage.js b/src/lib/storage.js index b0634d9c3cfa0f79a659559bb8e2f2cda6fb5ffb..546de16ec853e8ebc576cb5bedb6c46127949710 100644 --- a/src/lib/storage.js +++ b/src/lib/storage.js @@ -10,6 +10,8 @@ class Storage extends ScratchStorage { constructor () { super(); this.cacheDefaultProject(); + } + addOfficialScratchWebStores () { this.addWebStore( [this.AssetType.Project], this.getProjectGetConfig.bind(this),