diff options
Diffstat (limited to 'src/client/util/PingManager.ts')
-rw-r--r-- | src/client/util/PingManager.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/client/util/PingManager.ts b/src/client/util/PingManager.ts index 9f4bd3642..0c41a1ea7 100644 --- a/src/client/util/PingManager.ts +++ b/src/client/util/PingManager.ts @@ -7,16 +7,23 @@ export class PingManager { return PingManager._instance; } - @observable IsBeating: boolean = true; - private setIsBeating = action((status: boolean) => (this.IsBeating = status)); + @observable IsBeating = true; + private setIsBeating = action((status: boolean) => { + this.IsBeating = status; + setTimeout(this.showAlert, 100); + }); + showAlert = () => { + alert(PingManager.Instance.IsBeating ? 'The server connection is active' : 'The server connection has been interrupted.NOTE: Any changes made will appear to persist but will be lost after a browser refreshes.'); + }; sendPing = async (): Promise<void> => { try { await Networking.PostToServer('/ping', { date: new Date() }); !this.IsBeating && this.setIsBeating(true); } catch { - console.error('ping error'); - this.IsBeating && this.setIsBeating(false); + if (this.IsBeating) { + this.setIsBeating(false); + } } }; |