From 1c2c79e62fccb156d7900116d2061a9dcda9338e Mon Sep 17 00:00:00 2001 From: Karishma Chadha <kchadha@scratch.mit.edu> Date: Thu, 15 Feb 2018 23:13:49 -0500 Subject: [PATCH] Loading sb3 projects via load button that were saved via save button. --- src/containers/load-button.jsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/containers/load-button.jsx b/src/containers/load-button.jsx index a7b78a638..e5ec39154 100644 --- a/src/containers/load-button.jsx +++ b/src/containers/load-button.jsx @@ -2,6 +2,7 @@ import bindAll from 'lodash.bindall'; import PropTypes from 'prop-types'; import React from 'react'; import {connect} from 'react-redux'; +import JSZip from 'jszip'; import LoadButtonComponent from '../components/load-button/load-button.jsx'; @@ -16,8 +17,11 @@ class LoadButton extends React.Component { } handleChange (e) { const reader = new FileReader(); - reader.onload = () => this.props.loadProject(reader.result); - reader.readAsText(e.target.files[0]); + reader.onload = () => { + JSZip.loadAsync(reader.result) + .then(zip => this.props.loadProject(zip)); + }; + reader.readAsArrayBuffer(e.target.files[0]); } handleClick () { this.fileInput.click(); @@ -46,7 +50,7 @@ LoadButton.propTypes = { }; const mapStateToProps = state => ({ - loadProject: state.vm.fromJSON.bind(state.vm) + loadProject: state.vm.loadProjectLocal.bind(state.vm) }); export default connect( -- GitLab