cobalt/web/src/routes/settings/general/appearance/+page.svelte
wukko 97d381e993
web: move all strings to i18n & improve a11y
- omnibox is now fully usable with a screen reader
- back button is now interpreted as such
- subtext now accepts line breaks
2024-07-03 23:54:44 +06:00

55 lines
1.8 KiB
Svelte

<script lang="ts">
import { t } from "$lib/i18n/translations";
import { themeOptions } from "$lib/types/settings";
import SettingsCategory from "$components/settings/SettingsCategory.svelte";
import Switcher from "$components/buttons/Switcher.svelte";
import SettingsButton from "$components/buttons/SettingsButton.svelte";
import SettingsToggle from "$components/buttons/SettingsToggle.svelte";
import LanguageDropdown from "$components/settings/LanguageDropdown.svelte";
</script>
<SettingsCategory
title={$t("settings.theme")}
description={$t("settings.theme.description")}
>
<Switcher big={true}>
{#each themeOptions as value}
<SettingsButton
settingContext="appearance"
settingId="theme"
settingValue={value}
>
{$t(`settings.theme.${value}`)}
</SettingsButton>
{/each}
</Switcher>
</SettingsCategory>
<SettingsCategory title={$t("settings.accessibility")}>
<SettingsToggle
settingContext="accessibility"
settingId="reduceTransparency"
title={$t("settings.accessibility.transparency.title")}
description={$t("settings.accessibility.transparency.description")}
/>
<SettingsToggle
settingContext="accessibility"
settingId="reduceAnimations"
title={$t("settings.accessibility.animations.title")}
description={$t("settings.accessibility.animations.description")}
/>
</SettingsCategory>
<SettingsCategory title={$t("settings.language")}>
<LanguageDropdown />
<SettingsToggle
settingContext="appearance"
settingId="autoLanguage"
title={$t("settings.language.auto.title")}
description={$t("settings.language.auto.description")}
/>
</SettingsCategory>