summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/reload-ask.ts
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-09-17 22:18:06 +0900
committerGitHub <noreply@github.com>2024-09-17 22:18:06 +0900
commit3bf63dd9c5b47f42bcbe70a96c0a5186f087330a (patch)
tree5a1eaed94b2dc14f163e8598d595689ec263907d /packages/frontend/src/scripts/reload-ask.ts
parentfix(antenna): src=list && userListId=null の場合クエリータイムア... (diff)
downloadsharkey-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.ts40
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();
+ }
+}