aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Settings/SettingCheckboxToggle.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Settings/SettingCheckboxToggle.svelte')
-rw-r--r--src/lib/Settings/SettingCheckboxToggle.svelte106
1 files changed, 53 insertions, 53 deletions
diff --git a/src/lib/Settings/SettingCheckboxToggle.svelte b/src/lib/Settings/SettingCheckboxToggle.svelte
index c9d82907..b5ef4989 100644
--- a/src/lib/Settings/SettingCheckboxToggle.svelte
+++ b/src/lib/Settings/SettingCheckboxToggle.svelte
@@ -1,57 +1,57 @@
<script lang="ts">
- import Spacer from '$lib/Layout/Spacer.svelte';
- import settings, { type Settings } from '$stores/settings';
-
- type BooleanSettingsKeys<T> = {
- [K in keyof T]: T[K] extends boolean ? K : never;
- };
- type SettingsBooleanKeys = BooleanSettingsKeys<Settings>;
-
- export let sectionBreak = false;
- export let disabled = false;
- export let text: string | (() => string);
- export let setting: SettingsBooleanKeys[keyof SettingsBooleanKeys];
- export let lineBreak = true;
- export let onChange: () => void = () => {
- return;
- };
- export let invert = false;
- export let id: string | null = null;
-
- $: checked = setting ? (invert ? !$settings[setting] : $settings[setting]) : false;
- $: field = text instanceof Function ? text() : text;
-
- // const toggler = (key: keyof Settings) => [
- // () =>
- // settings.update((s) => {
- // (s[key] as boolean) = true;
-
- // $settings = s;
-
- // return s;
- // }),
- // () =>
- // settings.update((s) => {
- // (s[key] as boolean) = false;
-
- // $settings = s;
-
- // return s;
- // })
- // ];
-
- const check = (e: Event & { currentTarget: EventTarget & HTMLInputElement }): void => {
- const checked = (e.target as HTMLInputElement).checked;
-
- if (setting) {
- settings.setKey(setting, invert ? !checked : checked);
- onChange();
- }
- };
-
- const flip = () => {
- if (setting) $settings[setting] = !$settings[setting];
- };
+import Spacer from '$lib/Layout/Spacer.svelte';
+import settings, { type Settings } from '$stores/settings';
+
+type BooleanSettingsKeys<T> = {
+ [K in keyof T]: T[K] extends boolean ? K : never;
+};
+type SettingsBooleanKeys = BooleanSettingsKeys<Settings>;
+
+export let sectionBreak = false;
+export let disabled = false;
+export let text: string | (() => string);
+export let setting: SettingsBooleanKeys[keyof SettingsBooleanKeys];
+export let lineBreak = true;
+export let onChange: () => void = () => {
+ return;
+};
+export let invert = false;
+export let id: string | null = null;
+
+$: checked = setting ? (invert ? !$settings[setting] : $settings[setting]) : false;
+$: field = text instanceof Function ? text() : text;
+
+// const toggler = (key: keyof Settings) => [
+// () =>
+// settings.update((s) => {
+// (s[key] as boolean) = true;
+
+// $settings = s;
+
+// return s;
+// }),
+// () =>
+// settings.update((s) => {
+// (s[key] as boolean) = false;
+
+// $settings = s;
+
+// return s;
+// })
+// ];
+
+const check = (e: Event & { currentTarget: EventTarget & HTMLInputElement }): void => {
+ const checked = (e.target as HTMLInputElement).checked;
+
+ if (setting) {
+ settings.setKey(setting, invert ? !checked : checked);
+ onChange();
+ }
+};
+
+const flip = () => {
+ if (setting) $settings[setting] = !$settings[setting];
+};
</script>
<input type="checkbox" onchange={check} bind:checked {id} />