From 9be59196611dc2b40fa287183ab82f3c5174323f Mon Sep 17 00:00:00 2001 From: johnshaughnessy <johnfshaughnessy@gmail.com> Date: Mon, 20 Aug 2018 14:58:45 -0700 Subject: [PATCH] Get mobile media picker to a functional state. --- src/assets/hud/mobile_media_picker.png | Bin 0 -> 15412 bytes src/assets/stylesheets/2d-hud.scss | 8 +++++ src/react-components/2d-hud.js | 43 ++++++++++++++++++++----- src/react-components/ui-root.js | 5 +-- 4 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 src/assets/hud/mobile_media_picker.png diff --git a/src/assets/hud/mobile_media_picker.png b/src/assets/hud/mobile_media_picker.png new file mode 100644 index 0000000000000000000000000000000000000000..af63116b547ba073bb97d95ff2e24e3cec5dd0ae GIT binary patch literal 15412 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 literal 0 HcmV?d00001 diff --git a/src/assets/stylesheets/2d-hud.scss b/src/assets/stylesheets/2d-hud.scss index edc8b3919..7840e3168 100644 --- a/src/assets/stylesheets/2d-hud.scss +++ b/src/assets/stylesheets/2d-hud.scss @@ -16,6 +16,10 @@ &:local(.bottom) { bottom: 20px; } + + &:local(.aboveBottom) { + bottom: 120px; + } } :local(.panel) { @@ -109,3 +113,7 @@ :local(.iconButton.create-object:hover) { background-image: url(../hud/create_object-hover.png); } + +:local(.iconButton.mobile-media-picker) { + background-image: url(../hud/mobile_media_picker.png); +} diff --git a/src/react-components/2d-hud.js b/src/react-components/2d-hud.js index 15168e999..7ccaf1cdb 100644 --- a/src/react-components/2d-hud.js +++ b/src/react-components/2d-hud.js @@ -37,18 +37,45 @@ TopHUD.propTypes = { onToggleSpaceBubble: PropTypes.func }; -const BottomHUD = ({ onCreateObject }) => ( - <div className={cx(styles.container, styles.bottom)}> - <div - className={cx("ui-interactive", styles.iconButton, styles.large, styles.createObject)} - title={"Create Object"} - onClick={onCreateObject} - /> +const mediaPickerInput = "media-picker-input"; +const BottomHUD = ({ onCreateObject, onMediaPicked }) => ( + <div> + {onMediaPicked ? ( + <div> + <input + id={mediaPickerInput} + type="file" + accept="image/*" + multiple + onChange={e => { + for (const file of e.target.files) { + onMediaPicked(file); + } + }} + /> + <label htmlFor={mediaPickerInput} className={cx(styles.container, styles.aboveBottom)}> + <div + className={cx("ui-interactive", styles.iconButton, styles.large, styles.mobileMediaPicker)} + title={"Pick Media"} + /> + </label> + </div> + ) : ( + <div /> + )} + <div className={cx(styles.container, styles.bottom)}> + <div + className={cx("ui-interactive", styles.iconButton, styles.large, styles.createObject)} + title={"Create Object"} + onClick={onCreateObject} + /> + </div> </div> ); BottomHUD.propTypes = { - onCreateObject: PropTypes.func + onCreateObject: PropTypes.func, + onMediaPicked: PropTypes.func }; export default { TopHUD, BottomHUD }; diff --git a/src/react-components/ui-root.js b/src/react-components/ui-root.js index 36b543471..50093fde8 100644 --- a/src/react-components/ui-root.js +++ b/src/react-components/ui-root.js @@ -526,8 +526,8 @@ class UIRoot extends Component { this.setState({ infoDialogType: null, linkCode: null, linkCodeCancel: null }); }; - handleCreateObject = url => { - this.props.scene.emit("add_media", url); + handleCreateObject = media => { + this.props.scene.emit("add_media", media); }; render() { @@ -910,6 +910,7 @@ class UIRoot extends Component { )} <TwoDHUD.BottomHUD onCreateObject={() => this.setState({ infoDialogType: InfoDialog.dialogTypes.create_object })} + onMediaPicked={AFRAME.utils.device.isMobile() ? this.handleCreateObject : null} /> </div> ) : null} -- GitLab