From 8c3ac513813b7f0992fcf8c5c243fbff0c869ac1 Mon Sep 17 00:00:00 2001 From: Greg Fodor <gfodor@gmail.com> Date: Sat, 29 Sep 2018 03:26:15 +0000 Subject: [PATCH] show screenshot after 5s delay --- src/assets/stylesheets/scene-ui.scss | 3 ++- src/assets/stylesheets/scene.scss | 2 +- src/components/scene-preview-camera.js | 5 ++--- src/react-components/scene-ui.js | 15 ++++++++++----- src/scene.js | 1 - 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/assets/stylesheets/scene-ui.scss b/src/assets/stylesheets/scene-ui.scss index 55b72bfcb..7a881a03e 100644 --- a/src/assets/stylesheets/scene-ui.scss +++ b/src/assets/stylesheets/scene-ui.scss @@ -89,12 +89,13 @@ height: 115%; top: -40px; left: -40px; + img { width: 100%; height: 100%; - background-color: black; } + background-color: black; filter: blur(10px); } diff --git a/src/assets/stylesheets/scene.scss b/src/assets/stylesheets/scene.scss index 39c9092e8..2c2d78c74 100644 --- a/src/assets/stylesheets/scene.scss +++ b/src/assets/stylesheets/scene.scss @@ -1,7 +1,7 @@ @import 'shared'; @import 'loader'; -.brightened { +canvas { filter: saturate(1.1) brightness(1.1) contrast(1.1); } diff --git a/src/components/scene-preview-camera.js b/src/components/scene-preview-camera.js index 17024305c..0b7beaa29 100644 --- a/src/components/scene-preview-camera.js +++ b/src/components/scene-preview-camera.js @@ -29,8 +29,7 @@ AFRAME.registerComponent("scene-preview-camera", { }, tick: function() { - let t = (new Date().getTime() - this.startTime) / (1000.0 * DURATION); - t = (Math.sin(t * Math.PI * 2) + 1.0) / 2.0; + const t = (new Date().getTime() - this.startTime) / (1000.0 * DURATION); const from = this.backwards ? this.targetPoint : this.startPoint; const to = this.backwards ? this.startPoint : this.targetPoint; @@ -43,7 +42,7 @@ AFRAME.registerComponent("scene-preview-camera", { this.el.object3D.position.set(lerp(from.x, to.x, t), lerp(from.y, to.y, t), lerp(from.z, to.z, t)); this.el.object3D.rotation.setFromQuaternion(newRot); - if (t >= 1.0) { + if (t >= 0.99) { this.backwards = !this.backwards; this.startTime = new Date().getTime(); } diff --git a/src/react-components/scene-ui.js b/src/react-components/scene-ui.js index 2007269c1..ef47cc598 100644 --- a/src/react-components/scene-ui.js +++ b/src/react-components/scene-ui.js @@ -25,11 +25,18 @@ class SceneUI extends Component { }; state = { - screenshotReady: false + showScreenshot: false }; constructor(props) { super(props); + + // Show screenshot if scene isn't loaded in 5 seconds + setTimeout(() => { + if (!this.props.sceneLoaded) { + this.setState({ showScreenshot: true }); + } + }, 5000); } componentDidMount() { @@ -60,18 +67,16 @@ class SceneUI extends Component { }; render() { - const showScreenshot = !this.props.sceneLoaded || !this.props.sceneId; - return ( <IntlProvider locale={lang} messages={messages}> <div className={styles.ui}> <div className={classNames({ [styles.screenshot]: true, - [styles.screenshotHidden]: !showScreenshot + [styles.screenshotHidden]: this.props.sceneLoaded })} > - <img src={this.props.sceneScreenshotURL} onLoad={() => this.setState({ screenshotReady: true })} /> + {this.state.showScreenshot && <img src={this.props.sceneScreenshotURL} />} </div> <div className={styles.whiteOverlay} /> <div className={styles.grid}> diff --git a/src/scene.js b/src/scene.js index c72e1bc11..4928184b1 100644 --- a/src/scene.js +++ b/src/scene.js @@ -87,7 +87,6 @@ function mountUI(scene, props = {}) { const onReady = async () => { const scene = document.querySelector("a-scene"); window.APP.scene = scene; - document.querySelector("canvas").classList.add("brightened"); const sceneId = qs.get("scene_id") || document.location.pathname.substring(1).split("/")[1]; console.log(`Scene ID: ${sceneId}`); -- GitLab