diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-08-19 21:47:18 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-08-19 21:47:18 +0900 |
| commit | c34f302b1c91bd3b091cd03fa60fae86b385f902 (patch) | |
| tree | aff533d9acc24952c5bac0e3e190a117824f0a61 /src/client/init.ts | |
| parent | enhance(client): Better element visible detection (diff) | |
| download | sharkey-c34f302b1c91bd3b091cd03fa60fae86b385f902.tar.gz sharkey-c34f302b1c91bd3b091cd03fa60fae86b385f902.tar.bz2 sharkey-c34f302b1c91bd3b091cd03fa60fae86b385f902.zip | |
enhance(client): サーバーから切断されたときにダイアログで警告を表示できるように
Diffstat (limited to 'src/client/init.ts')
| -rw-r--r-- | src/client/init.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/client/init.ts b/src/client/init.ts index b80df44c88..3931329aa5 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -237,6 +237,26 @@ os.init(async () => { document.documentElement.style.setProperty('--modalBgFilter', v ? 'blur(4px)' : 'none'); }, { immediate: true }); + let reloadDialogShowing = false; + os.stream.on('_disconnected_', async () => { + if (store.state.device.serverDisconnectedBehavior === 'reload') { + location.reload(); + } else if (store.state.device.serverDisconnectedBehavior === 'dialog') { + if (reloadDialogShowing) return; + reloadDialogShowing = true; + const { canceled } = await app.dialog({ + type: 'warning', + title: app.$t('disconnectedFromServer'), + text: app.$t('reloadConfirm'), + showCancelButton: true + }); + reloadDialogShowing = false; + if (!canceled) { + location.reload(); + } + } + }); + os.stream.on('emojiAdded', data => { // TODO //store.commit('instance/set', ); |