From c53297f188fe26fffb68a3e9fceb2b66eb4703f5 Mon Sep 17 00:00:00 2001 From: niharikak101 Date: Tue, 4 Apr 2017 15:37:12 +0100 Subject: [PATCH] fix/2175: shows loading text while image loads (WIP) --- server/src/pages/shot/view.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/server/src/pages/shot/view.js b/server/src/pages/shot/view.js index 3409524bd6..c7e149d8a9 100644 --- a/server/src/pages/shot/view.js +++ b/server/src/pages/shot/view.js @@ -11,10 +11,20 @@ const reactruntime = require("../../reactruntime"); class Clip extends React.Component { constructor(props) { super(props); + this.state = { + loading: true, + imageDisplay: "none" + }; } componentDidMount() { let image = ReactDOM.findDOMNode(this.refs.clipImage); + if (image.complete) { + this.setState({ + loading: false, + imageDisplay: "inline" + }); + } let onResize = () => { let windowHeight = window.innerHeight; let paddingTop = Math.floor((windowHeight - image.height - 35) / 2); @@ -35,17 +45,30 @@ class Clip extends React.Component { console.warn("Somehow there's a shot without an image"); return null; } - let node = {; + let node = {; return
+ { this.renderSpinner() } { node }
; } + renderSpinner() { + if (!this.state.loading) { + return null; + } + return ( +
+ Loading... + +
+ ); + } + onClickClip() { sendEvent("goto-clip", "content", {useBeacon: true}); // Allow default action to continue