From 2441714eec20e9387e67e888d1c63ab546ef38da Mon Sep 17 00:00:00 2001
From: Jussi Surma-Aho <L4929@student.jamk.fi>
Date: Mon, 8 Jul 2019 16:00:37 +0300
Subject: [PATCH] Added timing for updating Player component. Also fixed circle
 and rectangle dragging bug again

---
 src/components/DrawTools.js |  4 ++--
 src/components/Player.js    | 15 ++++++++++++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/components/DrawTools.js b/src/components/DrawTools.js
index a9d70f7..3de6edd 100644
--- a/src/components/DrawTools.js
+++ b/src/components/DrawTools.js
@@ -252,14 +252,14 @@ class DrawTools extends Component {
           onDeleteStop={this._onEditDeleteStop}
           draw={{
             circle: {
-              repeatMode: true, // allows using the tool again after finishing the previous shape
+              repeatMode: false, // allows using the tool again after finishing the previous shape
               shapeOptions: {
                 color: "#f9f10c",
                 opacity: 1 // affects the outline only. for some reason it wasn't at full opacity, so this is needed for more clarity
               }
             },
             rectangle: {
-              repeatMode: true
+              repeatMode: false
             },
             polygon: {
               repeatMode: true,
diff --git a/src/components/Player.js b/src/components/Player.js
index c64884b..15f7a7f 100644
--- a/src/components/Player.js
+++ b/src/components/Player.js
@@ -5,7 +5,8 @@ class Player extends Component {
   constructor(props) {
     super(props);
     this.state = {
-      players: null
+      players: null,
+      time: Date.now()
     };
   }
 
@@ -33,6 +34,14 @@ class Player extends Component {
       });
   }
 
+  componentDidMount() {
+    // update components every 10 seconds
+    this.interval = setInterval(
+      () => this.setState({ time: Date.now() }),
+      10000
+    );
+  }
+
   shouldComponentUpdate(nextProps, nextState) {
     // do not update component until players have been fetched and game ID is available
     if (this.state.players === null) {
@@ -54,6 +63,10 @@ class Player extends Component {
     }
   }
 
+  componentWillUnmount() {
+    clearInterval(this.interval);
+  }
+
   render() {
     return (
       <div>
-- 
GitLab