From 3a0c3ef4e7be69c995e64b172a829716056cae8d Mon Sep 17 00:00:00 2001 From: Abdo Date: Sun, 26 Oct 2025 17:59:33 +0300 Subject: [PATCH] Fix notetype changing after changes to fields --- ts/routes/editor/NoteEditor.svelte | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/ts/routes/editor/NoteEditor.svelte b/ts/routes/editor/NoteEditor.svelte index f6f84f997..9fdb59f25 100644 --- a/ts/routes/editor/NoteEditor.svelte +++ b/ts/routes/editor/NoteEditor.svelte @@ -314,10 +314,9 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html let notetypeChooser: NotetypeChooser; let deckChooser: DeckChooser; - async function onNotetypeChange(notetypeId: bigint, updateDeck: boolean = true) { + async function onNotetypeChange(notetypeId: bigint) { loadNote({ notetypeId, copyFromNote: note }); if ( - updateDeck && !( await getConfigBool({ key: ConfigKey_Bool.ADDING_DEFAULTS_TO_CURRENT_DECK, @@ -1034,10 +1033,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html } } if (deckId) { - selectedDeckId = BigInt(deckId); + selectedDeckId = deckId; } if (notetypeId) { - selectedNotetypeId = BigInt(notetypeId); + selectedNotetypeId = notetypeId; + } + if(!selectedNotetypeId && copyFromNote) { + selectedNotetypeId = copyFromNote?.notetypeId; } if (mode === "add") { deckChooser.select(selectedDeckId!); @@ -1253,15 +1255,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html async function onOperationDidExecute(changes: Partial) { if (mode === "add" && (changes.notetype || changes.deck)) { - let homeDeckId = 0n; - if (reviewerCard) { - homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId; - } - const chooserDefaults = await defaultsForAdding({ - homeDeckOfCurrentReviewCard: homeDeckId, - }); - notetypeChooser.select(chooserDefaults.notetypeId); - onNotetypeChange(chooserDefaults.notetypeId, false); + loadNote({ copyFromNote: note }); + lastAddedNote = null; } else if (mode !== "add" && changes.noteText) { reloadNote(); }