From 9933e2ab54d1566ea82a4e0197e01d33515b63ea Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 11 Dec 2023 13:47:34 +1000 Subject: [PATCH] Split "auto advance" into a separate section --- ftl/core/deck-config.ftl | 3 + ts/deck-options/AutoAdvance.svelte | 133 +++++++++++++++++++++++++ ts/deck-options/DeckOptionsPage.svelte | 7 +- ts/deck-options/TimerOptions.svelte | 82 --------------- 4 files changed, 142 insertions(+), 83 deletions(-) create mode 100644 ts/deck-options/AutoAdvance.svelte diff --git a/ftl/core/deck-config.ftl b/ftl/core/deck-config.ftl index 88323d5af..2a1b9815d 100644 --- a/ftl/core/deck-config.ftl +++ b/ftl/core/deck-config.ftl @@ -234,6 +234,9 @@ deck-config-stop-timer-on-answer = Stop timer on answer deck-config-stop-timer-on-answer-tooltip = Whether to stop the timer when the answer is revealed. This doesn't affect statistics. + +## Auto Advance section + deck-config-seconds-to-show-question = Seconds to show question for deck-config-seconds-to-show-question-tooltip-2 = When auto advance is activated, the number of seconds to wait before revealing the answer. Set to 0 to disable. deck-config-seconds-to-show-answer = Seconds to show answer for diff --git a/ts/deck-options/AutoAdvance.svelte b/ts/deck-options/AutoAdvance.svelte new file mode 100644 index 000000000..d44bcaddd --- /dev/null +++ b/ts/deck-options/AutoAdvance.svelte @@ -0,0 +1,133 @@ + + + + + { + modal = e.detail.modal; + carousel = e.detail.carousel; + }} + /> + + + + + openHelpModal( + Object.keys(settings).indexOf("secondsToShowQuestion"), + )} + > + {settings.secondsToShowQuestion.title} + + + + + + + + openHelpModal( + Object.keys(settings).indexOf("secondsToShowAnswer"), + )} + > + {settings.secondsToShowAnswer.title} + + + + + + + + openHelpModal(Object.keys(settings).indexOf("waitForAudio"))} + > + {settings.waitForAudio.title} + + + + + + + + openHelpModal(Object.keys(settings).indexOf("answerAction"))} + > + {settings.answerAction.title} + + + + + diff --git a/ts/deck-options/DeckOptionsPage.svelte b/ts/deck-options/DeckOptionsPage.svelte index 29231472d..b240e35d0 100644 --- a/ts/deck-options/DeckOptionsPage.svelte +++ b/ts/deck-options/DeckOptionsPage.svelte @@ -11,6 +11,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import Addons from "./Addons.svelte"; import AdvancedOptions from "./AdvancedOptions.svelte"; import AudioOptions from "./AudioOptions.svelte"; + import AutoAdvance from "./AutoAdvance.svelte"; import BuryOptions from "./BuryOptions.svelte"; import ConfigSelector from "./ConfigSelector.svelte"; import DailyLimits from "./DailyLimits.svelte"; @@ -88,12 +89,16 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
+ + + + - + {#if $addons.length} diff --git a/ts/deck-options/TimerOptions.svelte b/ts/deck-options/TimerOptions.svelte index 78c05a5ae..6102d1c13 100644 --- a/ts/deck-options/TimerOptions.svelte +++ b/ts/deck-options/TimerOptions.svelte @@ -9,16 +9,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import type Modal from "bootstrap/js/dist/modal"; import DynamicallySlottable from "../components/DynamicallySlottable.svelte"; - import EnumSelectorRow from "../components/EnumSelectorRow.svelte"; import HelpModal from "../components/HelpModal.svelte"; import Item from "../components/Item.svelte"; import SettingTitle from "../components/SettingTitle.svelte"; import SwitchRow from "../components/SwitchRow.svelte"; import TitledContainer from "../components/TitledContainer.svelte"; import type { HelpItem } from "../components/types"; - import { answerChoices } from "./choices"; import type { DeckOptionsState } from "./lib"; - import SpinBoxFloatRow from "./SpinBoxFloatRow.svelte"; import SpinBoxRow from "./SpinBoxRow.svelte"; import Warning from "./Warning.svelte"; @@ -46,22 +43,6 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html title: tr.deckConfigStopTimerOnAnswer(), help: tr.deckConfigStopTimerOnAnswerTooltip(), }, - secondsToShowQuestion: { - title: tr.deckConfigSecondsToShowQuestion(), - help: tr.deckConfigSecondsToShowQuestionTooltip2(), - }, - secondsToShowAnswer: { - title: tr.deckConfigSecondsToShowAnswer(), - help: tr.deckConfigSecondsToShowAnswerTooltip2(), - }, - waitForAudio: { - title: tr.deckConfigWaitForAudio(), - help: tr.deckConfigWaitForAudioTooltip(), - }, - answerAction: { - title: tr.deckConfigAnswerAction(), - help: tr.deckConfigAnswerActionTooltip(), - }, }; const helpSections = Object.values(settings) as HelpItem[]; @@ -144,68 +125,5 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
- - - - - openHelpModal( - Object.keys(settings).indexOf("secondsToShowQuestion"), - )} - > - {settings.secondsToShowQuestion.title} - - - - - - - - openHelpModal( - Object.keys(settings).indexOf("secondsToShowAnswer"), - )} - > - {settings.secondsToShowAnswer.title} - - - - - - - - openHelpModal(Object.keys(settings).indexOf("waitForAudio"))} - > - {settings.waitForAudio.title} - - - - - - - - openHelpModal(Object.keys(settings).indexOf("answerAction"))} - > - {settings.answerAction.title} - - -