summaryrefslogtreecommitdiff
path: root/packages/frontend/src/ui/deck.vue
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-02-05 17:02:10 +0900
committerGitHub <noreply@github.com>2025-02-05 08:02:10 +0000
commitfd880660a3120a0ff3c44740df98cd46c9113237 (patch)
tree36de6dc49a0dd10e819c08ab81c3e867c33ecf25 /packages/frontend/src/ui/deck.vue
parentBump version to 2025.2.0-beta.1 (diff)
downloadmisskey-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.vue26
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>