aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Settings/SettingCheckboxToggle.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-10-09 00:41:20 -0700
committerFuwn <[email protected]>2024-10-09 00:41:43 -0700
commit998b63a35256ac985a5a2714dd1ca451af4dfd8a (patch)
tree50796121a9d5ab0330fdc5d7e098bda2860d9726 /src/lib/Settings/SettingCheckboxToggle.svelte
parentfeat(graphql): add badgeCount field (diff)
downloaddue.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.tar.xz
due.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.zip
chore(prettier): use spaces instead of tabs
Diffstat (limited to 'src/lib/Settings/SettingCheckboxToggle.svelte')
-rw-r--r--src/lib/Settings/SettingCheckboxToggle.svelte132
1 files changed, 66 insertions, 66 deletions
diff --git a/src/lib/Settings/SettingCheckboxToggle.svelte b/src/lib/Settings/SettingCheckboxToggle.svelte
index 43e9accf..bb4e8893 100644
--- a/src/lib/Settings/SettingCheckboxToggle.svelte
+++ b/src/lib/Settings/SettingCheckboxToggle.svelte
@@ -1,82 +1,82 @@
<script lang="ts">
- 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;
-
- $: 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 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;
+
+ $: 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" on:change={check} bind:checked />
<span
- on:click={flip}
- on:keydown={() => {
- return;
- }}
- role="button"
- tabindex="0"
+ on:click={flip}
+ on:keydown={() => {
+ return;
+ }}
+ role="button"
+ tabindex="0"
>
- {#if disabled}
- <strike>
- {field}
- </strike>
- {:else}
- {field}
- {/if}
+ {#if disabled}
+ <strike>
+ {field}
+ </strike>
+ {:else}
+ {field}
+ {/if}
</span>
<slot />
{#if lineBreak}
- <br />
+ <br />
{/if}
{#if sectionBreak}
- <p />
+ <p />
{/if}