diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index 7c34506b76..0c39f1112b 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -3,27 +3,28 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { createApp, defineAsyncComponent, markRaw } from 'vue'; -import { common } from './common.js'; +import {createApp, defineAsyncComponent, markRaw} from 'vue'; +import {common} from './common.js'; import type * as Misskey from 'misskey-js'; -import { ui } from '@@/js/config.js'; -import { i18n } from '@/i18n.js'; -import { alert, confirm, popup, post, toast } from '@/os.js'; -import { useStream } from '@/stream.js'; +import {ui} from '@@/js/config.js'; +import {i18n} from '@/i18n.js'; +import {alert, popup, post} from '@/os.js'; +import {useStream} from '@/stream.js'; import * as sound from '@/scripts/sound.js'; -import { $i, signout, updateAccount } from '@/account.js'; -import { instance } from '@/instance.js'; -import { ColdDeviceStorage, defaultStore } from '@/store.js'; -import { reactionPicker } from '@/scripts/reaction-picker.js'; -import { miLocalStorage } from '@/local-storage.js'; -import { claimAchievement, claimedAchievements } from '@/scripts/achievements.js'; -import { initializeSw } from '@/scripts/initialize-sw.js'; -import { deckStore } from '@/ui/deck/deck-store.js'; -import { emojiPicker } from '@/scripts/emoji-picker.js'; -import { mainRouter } from '@/router/main.js'; -import { setFavIconDot } from '@/scripts/favicon-dot.js'; -import { type Keymap, makeHotkey } from '@/scripts/hotkey.js'; -import { addCustomEmoji, removeCustomEmojis, updateCustomEmojis } from '@/custom-emojis.js'; +import {$i, signout, updateAccount} from '@/account.js'; +import {instance} from '@/instance.js'; +import {ColdDeviceStorage, defaultStore} from '@/store.js'; +import {reactionPicker} from '@/scripts/reaction-picker.js'; +import {miLocalStorage} from '@/local-storage.js'; +import {claimAchievement, claimedAchievements} from '@/scripts/achievements.js'; +import {initializeSw} from '@/scripts/initialize-sw.js'; +import {deckStore} from '@/ui/deck/deck-store.js'; +import {emojiPicker} from '@/scripts/emoji-picker.js'; +import {mainRouter} from '@/router/main.js'; +import {setFavIconDot} from '@/scripts/favicon-dot.js'; +import {type Keymap, makeHotkey} from '@/scripts/hotkey.js'; +import {addCustomEmoji, removeCustomEmojis, updateCustomEmojis} from '@/custom-emojis.js'; +import MkDialog from "@/components/MkDialog.vue"; export async function mainBoot() { const { isClientUpdated } = await common(() => createApp( @@ -50,25 +51,20 @@ export async function mainBoot() { if (defaultStore.state.serverDisconnectedBehavior === 'dialog') { if (reloadDialogShowing) return; reloadDialogShowing = true; - const { canceled } = await new Promise(resolve => { - const {dispose} = popup(MkDialog, { - ...({ - type: 'warning', - title: i18n.ts.disconnectedFromServer, - text: i18n.ts.reloadConfirm, - }), - showCancelButton: true, - }, { - done: result => { - resolve(result ? result : {canceled: true}); - }, - closed: () => dispose(), - }); + const {dispose} = popup(MkDialog, { + ...({ + type: 'warning', + title: i18n.ts.disconnectedFromServer, + text: i18n.ts.reloadConfirm, + }), + showCancelButton: true, + }, { + done: result => { + if (!result) location.reload(); + }, + closed: () => dispose(), }); reloadDialogShowing = false; - if (!canceled) { - location.reload(); - } } });