@@ -53,6 +53,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
5353 let desiredRetentionFocused = false ;
5454 let desiredRetentionEverFocused = false ;
5555 let optimized = false ;
56+ const initialParams = [... fsrsParams ($config )];
5657 $ : if (desiredRetentionFocused ) {
5758 desiredRetentionEverFocused = true ;
5859 }
@@ -338,6 +339,14 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
338339 state .save (UpdateDeckConfigsMode .COMPUTE_ALL_PARAMS );
339340 }
340341
342+ function showSimulatorModal(modal : Modal ) {
343+ if (fsrsParams ($config ).toString () === initialParams .toString ()) {
344+ modal ?.show ();
345+ } else {
346+ alert (tr .deckConfigFsrsSimulateSavePreset ());
347+ }
348+ }
349+
341350 let simulatorModal: Modal ;
342351 let workloadModal: Modal ;
343352 </script >
@@ -368,7 +377,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
368377 class =" btn btn-primary"
369378 on:click ={() => {
370379 simulateFsrsRequest .reviewLimit = 9999 ;
371- workloadModal ?. show ( );
380+ showSimulatorModal ( workloadModal );
372381 }}
373382>
374383 {tr .deckConfigFsrsDesiredRetentionHelpMeDecideExperimental ()}
@@ -455,7 +464,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
455464<hr />
456465
457466<div class =" m-1" >
458- <button class ="btn btn-primary" on:click ={() => simulatorModal ?. show ( )}>
467+ <button class ="btn btn-primary" on:click ={() => showSimulatorModal ( simulatorModal )}>
459468 {tr .deckConfigFsrsSimulatorExperimental ()}
460469 </button >
461470</div >
0 commit comments