diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-09-17 22:18:06 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-17 22:18:06 +0900 |
| commit | 3bf63dd9c5b47f42bcbe70a96c0a5186f087330a (patch) | |
| tree | 5a1eaed94b2dc14f163e8598d595689ec263907d /packages/frontend/src/scripts/reload-ask.ts | |
| parent | fix(antenna): src=list && userListId=null の場合クエリータイムア... (diff) | |
| download | sharkey-3bf63dd9c5b47f42bcbe70a96c0a5186f087330a.tar.gz sharkey-3bf63dd9c5b47f42bcbe70a96c0a5186f087330a.tar.bz2 sharkey-3bf63dd9c5b47f42bcbe70a96c0a5186f087330a.zip | |
fix(frontend): 設定変更時のリロード確認ダイアログが複数個表示されることがある問題を修正 (#14543)
* fix(frontend): reloadAskが同時に複数実行されないように
* Update Changelog
* fix
* フラグ解除が確実に行われるように
* reloadAskを汎用化、理由を受け取るように
* fix
Diffstat (limited to 'packages/frontend/src/scripts/reload-ask.ts')
| -rw-r--r-- | packages/frontend/src/scripts/reload-ask.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/frontend/src/scripts/reload-ask.ts b/packages/frontend/src/scripts/reload-ask.ts new file mode 100644 index 0000000000..733d91b85a --- /dev/null +++ b/packages/frontend/src/scripts/reload-ask.ts @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { i18n } from '@/i18n.js'; +import * as os from '@/os.js'; +import { unisonReload } from '@/scripts/unison-reload.js'; + +let isReloadConfirming = false; + +export async function reloadAsk(opts: { + unison?: boolean; + reason?: string; +}) { + if (isReloadConfirming) { + return; + } + + isReloadConfirming = true; + + const { canceled } = await os.confirm(opts.reason == null ? { + type: 'info', + text: i18n.ts.reloadConfirm, + } : { + type: 'info', + title: i18n.ts.reloadConfirm, + text: opts.reason, + }).finally(() => { + isReloadConfirming = false; + }); + + if (canceled) return; + + if (opts.unison) { + unisonReload(); + } else { + location.reload(); + } +} |