From 8d669808b20f8d579b9c2de9144642928881c98d Mon Sep 17 00:00:00 2001
From: Joni Laukka <jonilaukka@hotmail.com>
Date: Mon, 15 Jul 2019 20:11:56 +0300
Subject: [PATCH] Role changes updates player lists and forms

---
 src/components/PlayerlistFaction.js    | 5 +++++
 src/components/PlayerlistPlayerCard.js | 6 ++++--
 src/components/PlayerlistView.js       | 1 -
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/components/PlayerlistFaction.js b/src/components/PlayerlistFaction.js
index b4e5ed6..387f67f 100644
--- a/src/components/PlayerlistFaction.js
+++ b/src/components/PlayerlistFaction.js
@@ -8,6 +8,10 @@ export default class PlayerlistFaction extends React.Component {
 
   // get faction members
   componentDidMount() {
+    this.getFactionMembers();
+  }
+
+  getFactionMembers() {
     fetch(
       `${process.env.REACT_APP_API_URL}/faction/get-faction-members/${
         this.props.faction.factionId
@@ -32,6 +36,7 @@ export default class PlayerlistFaction extends React.Component {
           player={member}
           role={this.props.role}
           gameId={this.props.gameId}
+          onChange={() => this.getFactionMembers()}
         />
       );
     });
diff --git a/src/components/PlayerlistPlayerCard.js b/src/components/PlayerlistPlayerCard.js
index 08d4562..ebc2dde 100644
--- a/src/components/PlayerlistPlayerCard.js
+++ b/src/components/PlayerlistPlayerCard.js
@@ -39,16 +39,18 @@ export default class PlayerlistPlayerCard extends React.Component {
           return res.json();
         })
         .then(res => {
+          this.props.onChange();
           alert(
             `Player ${this.props.player.person.name}'s role was changed to "${
               res.role
             }"`
           );
+          this.setState({ edit: false });
         })
         .catch(error => console.log(error));
+    } else {
+      this.setState({ edit: false, roleInput: this.props.player.role });
     }
-
-    this.setState({ edit: false, roleInput: this.props.player.role });
   };
 
   render() {
diff --git a/src/components/PlayerlistView.js b/src/components/PlayerlistView.js
index 0eff9bc..5eeeb64 100644
--- a/src/components/PlayerlistView.js
+++ b/src/components/PlayerlistView.js
@@ -18,7 +18,6 @@ export default class PlayerlistView extends React.Component {
       fetch(`${process.env.REACT_APP_API_URL}/game/${this.props.gameId}`)
         .then(res => res.json())
         .then(res => {
-          console.log(res);
           this.setState({ factions: res.factions });
         })
         .catch(error => console.log(error));
-- 
GitLab