diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-02-05 17:02:10 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-05 08:02:10 +0000 |
| commit | fd880660a3120a0ff3c44740df98cd46c9113237 (patch) | |
| tree | 36de6dc49a0dd10e819c08ab81c3e867c33ecf25 /packages/frontend/src/ui/deck.vue | |
| parent | Bump version to 2025.2.0-beta.1 (diff) | |
| download | misskey-fd880660a3120a0ff3c44740df98cd46c9113237.tar.gz misskey-fd880660a3120a0ff3c44740df98cd46c9113237.tar.bz2 misskey-fd880660a3120a0ff3c44740df98cd46c9113237.zip | |
fix(frontend): デッキのプロファイルが新規作成できない問題を修正 (#15406)
* fix(frontend): デッキのプロファイルが保存できない問題を修正
* Update Changelog
* Update CHANGELOG.md
Diffstat (limited to 'packages/frontend/src/ui/deck.vue')
| -rw-r--r-- | packages/frontend/src/ui/deck.vue | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/packages/frontend/src/ui/deck.vue b/packages/frontend/src/ui/deck.vue index a1a76a7e7d..71a18fbc66 100644 --- a/packages/frontend/src/ui/deck.vue +++ b/packages/frontend/src/ui/deck.vue @@ -95,7 +95,7 @@ SPDX-License-Identifier: AGPL-3.0-only import { computed, defineAsyncComponent, ref, watch, shallowRef } from 'vue'; import { v4 as uuid } from 'uuid'; import XCommon from './_common_/common.vue'; -import { deckStore, columnTypes, addColumn as addColumnToStore, loadDeck, getProfiles, deleteProfile as deleteProfile_ } from './deck/deck-store.js'; +import { deckStore, columnTypes, addColumn as addColumnToStore, forceSaveDeck, loadDeck, getProfiles, deleteProfile as deleteProfile_ } from './deck/deck-store.js'; import type { ColumnType } from './deck/deck-store.js'; import type { MenuItem } from '@/types/menu.js'; import XSidebar from '@/ui/_common_/navbar.vue'; @@ -233,10 +233,15 @@ function changeProfile(ev: MouseEvent) { title: i18n.ts._deck.profile, minLength: 1, }); + if (canceled || name == null) return; - deckStore.set('profile', name); - unisonReload(); + os.promiseDialog((async () => { + await deckStore.set('profile', name); + await forceSaveDeck(); + })(), () => { + unisonReload(); + }); }, }); }).then(() => { @@ -251,9 +256,18 @@ async function deleteProfile() { }); if (canceled) return; - deleteProfile_(deckStore.state.profile); - deckStore.set('profile', 'default'); - unisonReload(); + os.promiseDialog((async () => { + if (deckStore.state.profile === 'default') { + await deckStore.set('columns', []); + await deckStore.set('layout', []); + await forceSaveDeck(); + } else { + await deleteProfile_(deckStore.state.profile); + } + await deckStore.set('profile', 'default'); + })(), () => { + unisonReload(); + }); } </script> |