diff options
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', ); |