Skip to content
Snippets Groups Projects
Commit 84901ebb authored by Ray Schamp's avatar Ray Schamp
Browse files

Use storage to retrieve costume data urls

parent d7d1ad9e
Branches
Tags
No related merge requests found
......@@ -27,8 +27,8 @@ const Selector = props => {
<Box className={styles.listArea}>
{items.map((item, index) => (
<SpriteSelectorItem
assetId={item.assetId}
className={styles.listItem}
costumeURL={item.url}
id={index}
key={`asset-${index}`}
name={item.name}
......
......@@ -53,17 +53,15 @@ const SpriteSelectorComponent = function (props) {
{Object.keys(sprites)
// Re-order by list order
.sort((id1, id2) => sprites[id1].order - sprites[id2].order)
.map(id => (
.map(id => sprites[id])
.map(sprite => (
<SpriteSelectorItem
assetId={sprite.costume && sprite.costume.assetId}
className={styles.sprite}
costumeURL={
sprites[id].costume &&
sprites[id].costume.url
}
id={id}
key={id}
name={sprites[id].name}
selected={id === selectedId}
id={sprite.id}
key={sprite.id}
name={sprite.name}
selected={sprite.id === selectedId}
onClick={onSelectSprite}
onDeleteButtonClick={onDeleteSprite}
/>
......
......@@ -2,6 +2,8 @@ const bindAll = require('lodash.bindall');
const PropTypes = require('prop-types');
const React = require('react');
const {connect} = require('react-redux');
const SpriteSelectorItemComponent = require('../components/sprite-selector-item/sprite-selector-item.jsx');
class SpriteSelectorItem extends React.Component {
......@@ -40,6 +42,7 @@ class SpriteSelectorItem extends React.Component {
}
SpriteSelectorItem.propTypes = {
assetId: PropTypes.string,
costumeURL: PropTypes.string,
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
name: PropTypes.string,
......@@ -48,4 +51,10 @@ SpriteSelectorItem.propTypes = {
selected: PropTypes.bool
};
module.exports = SpriteSelectorItem;
const mapStateToProps = (state, {assetId}) => ({
costumeURL: assetId && state.vm.runtime.storage.get(assetId).encodeDataURI()
});
module.exports = connect(
mapStateToProps
)(SpriteSelectorItem);
......@@ -2,6 +2,8 @@ const bindAll = require('lodash.bindall');
const PropTypes = require('prop-types');
const React = require('react');
const {connect} = require('react-redux');
const StageSelectorComponent = require('../components/stage-selector/stage-selector.jsx');
class StageSelector extends React.Component {
......@@ -18,6 +20,7 @@ class StageSelector extends React.Component {
render () {
const {
/* eslint-disable no-unused-vars */
assetId,
id,
onSelect,
/* eslint-enable no-unused-vars */
......@@ -36,4 +39,12 @@ StageSelector.propTypes = {
id: PropTypes.string,
onSelect: PropTypes.func
};
module.exports = StageSelector;
const mapStateToProps = (state, {assetId}) => ({
url: assetId && state.vm.runtime.storage.get(assetId).encodeDataURI()
});
module.exports = connect(
mapStateToProps,
() => ({}) // omit dispatch prop
)(StageSelector);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment