diff options
Diffstat (limited to 'diplomacy/web/src/gui/core/page.jsx')
-rw-r--r-- | diplomacy/web/src/gui/core/page.jsx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/diplomacy/web/src/gui/core/page.jsx b/diplomacy/web/src/gui/core/page.jsx index 560252c..5e7aee2 100644 --- a/diplomacy/web/src/gui/core/page.jsx +++ b/diplomacy/web/src/gui/core/page.jsx @@ -59,6 +59,7 @@ export class Page extends React.Component { this._add_to_my_games = this._add_to_my_games.bind(this); this._remove_from_my_games = this._remove_from_my_games.bind(this); this._remove_from_games = this._remove_from_games.bind(this); + this.onReconnectionError = this.onReconnectionError.bind(this); } static wrapMessage(message) { @@ -75,6 +76,10 @@ export class Page extends React.Component { return <ContentConnection/>; } + onReconnectionError(error) { + this.__disconnect(error); + } + //// Methods to load a global fancybox. loadFancyBox(title, callback) { @@ -124,18 +129,18 @@ export class Page extends React.Component { //// Methods to sign out channel and go back to connection page. - __disconnect() { + __disconnect(error) { // Clear local data and go back to connection page. this.connection.close(); this.connection = null; this.channel = null; this.availableMaps = null; - const message = Page.wrapMessage(`Disconnected from channel and server.`); + const message = Page.wrapMessage(error ? `${error.toString()}` : `Disconnected from channel and server.`); Diplog.success(message); this.setState({ - error: null, + error: error ? message : null, info: null, - success: message, + success: error ? null : message, name: null, body: null, // When disconnected, remove all games previously loaded. |