aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Settings
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-05-27 18:47:24 -0700
committerFuwn <[email protected]>2024-05-27 18:47:24 -0700
commit84588c9adfeee6ec829532613b78f6133a7bba7b (patch)
tree431d13af0b3f5da21138daf0c2d4a055a7404273 /src/lib/Settings
parentrefactor(badges): move category toggle to script (diff)
downloaddue.moe-84588c9adfeee6ec829532613b78f6133a7bba7b.tar.xz
due.moe-84588c9adfeee6ec829532613b78f6133a7bba7b.zip
fix(SettingCheckboxToggle): ensure types
Diffstat (limited to 'src/lib/Settings')
-rw-r--r--src/lib/Settings/SettingCheckboxToggle.svelte14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/Settings/SettingCheckboxToggle.svelte b/src/lib/Settings/SettingCheckboxToggle.svelte
index e17eddbc..43e9accf 100644
--- a/src/lib/Settings/SettingCheckboxToggle.svelte
+++ b/src/lib/Settings/SettingCheckboxToggle.svelte
@@ -16,7 +16,7 @@
};
export let invert = false;
- $: checked = invert ? !$settings[setting] : $settings[setting];
+ $: checked = setting ? (invert ? !$settings[setting] : $settings[setting]) : false;
$: field = text instanceof Function ? text() : text;
// const toggler = (key: keyof Settings) => [
@@ -41,15 +41,21 @@
const check = (e: Event & { currentTarget: EventTarget & HTMLInputElement }): void => {
const checked = (e.target as HTMLInputElement).checked;
- settings.setKey(setting, invert ? !checked : checked);
- onChange();
+ if (setting) {
+ settings.setKey(setting, invert ? !checked : checked);
+ onChange();
+ }
+ };
+
+ const flip = () => {
+ if (setting) $settings[setting] = !$settings[setting];
};
</script>
<input type="checkbox" on:change={check} bind:checked />
<span
- on:click={() => ($settings[setting] = !$settings[setting])}
+ on:click={flip}
on:keydown={() => {
return;
}}