diff options
Diffstat (limited to 'settings.html')
-rw-r--r-- | settings.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/settings.html b/settings.html new file mode 100644 index 0000000..8a82ff8 --- /dev/null +++ b/settings.html @@ -0,0 +1,50 @@ +<script> +const $default_settings = { + default_new_cards: 5, + speed: 250, + time_factor: 1, + autosave: true, +} + +async function save_settings$(form) { + form.status.value = "Saving…" + $settings = { + default_new_cards: +form.default_new_cards.value, + speed: +form.speed.value, + time_factor: +form.time_factor.value, + autosave: form.autosave.checked, + } + await ṡ.set("settings", $settings) + form.status.value = "Saved!" +} + +function put_settings$({default_new_cards, speed, time_factor, autosave}, form) { + form.default_new_cards.value = default_new_cards + form.speed.value = speed + form.time_factor.value = time_factor + form.autosave.checked = autosave +} + +$loaded_p.then(() => + put_settings$($settings, document.forms.settings)) +</script> + +<p> +<button onclick="document.forms.settings.showPopover()"> +Settings +</button> +<form popover name=settings onsubmit="save_settings$(this).then(() => this.hidePopover()); return false"> +<p> +<label>Default new cards per session: <input type=number name=default_new_cards min=0></label> +<p> +<label>Word speed (in milliseconds): <input type=number name=speed min=0></label> +<p> +<label>Auto-save deck after each review? <input type=checkbox name=autosave></label> +<p> +<label>Review-time scale-factor: <input type=number name=time_factor min=0 step=any></label> +<p> +<input type=submit value="Save settings"> +<button type=button onclick="document.forms.settings.hidePopover()">Cancel</button> +<p> +<output name=status></output> +</form> |