From b16439fc9c2201b940ac5f2b8286ca13aa012cca Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Mon, 7 Jul 2025 09:10:24 +0100 Subject: [PATCH] Feat/Confirmation box for save options to preset (#4172) --- ftl/core/deck-config.ftl | 1 + ts/routes/deck-options/SimulatorModal.svelte | 30 +++++++++++--------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ftl/core/deck-config.ftl b/ftl/core/deck-config.ftl index a091dccef..01eac3369 100644 --- a/ftl/core/deck-config.ftl +++ b/ftl/core/deck-config.ftl @@ -514,6 +514,7 @@ deck-config-advanced-settings = Advanced Settings deck-config-smooth-graph = Smooth graph deck-config-suspend-leeches = Suspend leeches deck-config-save-options-to-preset = Save Changes to Preset +deck-config-save-options-to-preset-confirm = Overwrite the options in your current preset with the options that are currently set in the simulator? # Radio button in the FSRS simulation diagram (Deck options -> FSRS) selecting # to show the total number of cards that can be recalled or retrieved on a # specific date. diff --git a/ts/routes/deck-options/SimulatorModal.svelte b/ts/routes/deck-options/SimulatorModal.svelte index 546f840d6..9ac28636b 100644 --- a/ts/routes/deck-options/SimulatorModal.svelte +++ b/ts/routes/deck-options/SimulatorModal.svelte @@ -447,19 +447,23 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html class="btn {computing ? 'btn-warning' : 'btn-primary'}" disabled={computing} on:click={() => { - $config.newPerDay = simulateFsrsRequest.newLimit; - $config.reviewsPerDay = simulateFsrsRequest.reviewLimit; - $config.maximumReviewInterval = simulateFsrsRequest.maxInterval; - $config.desiredRetention = simulateFsrsRequest.desiredRetention; - $newCardsIgnoreReviewLimit = - simulateFsrsRequest.newCardsIgnoreReviewLimit; - $config.reviewOrder = simulateFsrsRequest.reviewOrder; - $config.leechAction = suspendLeeches - ? DeckConfig_Config_LeechAction.SUSPEND - : DeckConfig_Config_LeechAction.TAG_ONLY; - $config.leechThreshold = leechThreshold; - $config.easyDaysPercentages = [...easyDayPercentages]; - onPresetChange(); + if (confirm(tr.deckConfigSaveOptionsToPresetConfirm())) { + $config.newPerDay = simulateFsrsRequest.newLimit; + $config.reviewsPerDay = simulateFsrsRequest.reviewLimit; + $config.maximumReviewInterval = + simulateFsrsRequest.maxInterval; + $config.desiredRetention = + simulateFsrsRequest.desiredRetention; + $newCardsIgnoreReviewLimit = + simulateFsrsRequest.newCardsIgnoreReviewLimit; + $config.reviewOrder = simulateFsrsRequest.reviewOrder; + $config.leechAction = suspendLeeches + ? DeckConfig_Config_LeechAction.SUSPEND + : DeckConfig_Config_LeechAction.TAG_ONLY; + $config.leechThreshold = leechThreshold; + $config.easyDaysPercentages = [...easyDayPercentages]; + onPresetChange(); + } }} > {tr.deckConfigSaveOptionsToPreset()}