2024-06-24 20:11:04 +02:00
|
|
|
<script lang="ts">
|
2024-07-13 15:17:03 +02:00
|
|
|
import settings from "$lib/state/settings";
|
2024-07-10 19:35:53 +02:00
|
|
|
|
2024-09-04 13:50:47 +02:00
|
|
|
import { version } from "$lib/version";
|
2024-07-03 19:54:44 +02:00
|
|
|
import { t } from "$lib/i18n/translations";
|
|
|
|
|
2024-09-04 13:50:47 +02:00
|
|
|
import PageNav from "$components/subnav/PageNav.svelte";
|
|
|
|
|
|
|
|
import PageNavTab from "$components/subnav/PageNavTab.svelte";
|
|
|
|
import PageNavSection from "$components/subnav/PageNavSection.svelte";
|
2024-06-24 15:42:31 +02:00
|
|
|
|
2024-08-30 13:15:05 +02:00
|
|
|
import IconLock from "@tabler/icons-svelte/IconLock.svelte";
|
2024-09-04 13:50:47 +02:00
|
|
|
import IconSunHigh from "@tabler/icons-svelte/IconSunHigh.svelte";
|
2024-06-24 15:42:31 +02:00
|
|
|
|
|
|
|
import IconMovie from "@tabler/icons-svelte/IconMovie.svelte";
|
|
|
|
import IconMusic from "@tabler/icons-svelte/IconMusic.svelte";
|
2024-07-23 07:00:27 +02:00
|
|
|
import IconFileDownload from "@tabler/icons-svelte/IconFileDownload.svelte";
|
2024-08-30 13:15:05 +02:00
|
|
|
|
2024-07-10 19:35:53 +02:00
|
|
|
import IconBug from "@tabler/icons-svelte/IconBug.svelte";
|
2024-08-30 13:15:05 +02:00
|
|
|
import IconWorld from "@tabler/icons-svelte/IconWorld.svelte";
|
|
|
|
import IconSettingsBolt from "@tabler/icons-svelte/IconSettingsBolt.svelte";
|
2024-06-24 20:11:04 +02:00
|
|
|
|
2024-07-23 11:36:49 +02:00
|
|
|
$: versionText = $version ? `v${$version.version}-${$version.commit.slice(0, 8)}` : '\xa0';
|
2024-06-24 15:42:31 +02:00
|
|
|
</script>
|
|
|
|
|
2024-09-04 13:50:47 +02:00
|
|
|
<PageNav
|
|
|
|
pageName="settings"
|
|
|
|
pageSubtitle={versionText}
|
|
|
|
homeNavPath="/settings"
|
|
|
|
homeTitle={$t("tabs.settings")}
|
|
|
|
>
|
|
|
|
<svelte:fragment slot="navigation">
|
|
|
|
<PageNavSection>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/appearance"
|
|
|
|
tabTitle={$t("settings.page.appearance")}
|
|
|
|
iconColor="blue"
|
|
|
|
>
|
|
|
|
<IconSunHigh />
|
|
|
|
</PageNavTab>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/privacy"
|
|
|
|
tabTitle={$t("settings.page.privacy")}
|
|
|
|
iconColor="blue"
|
|
|
|
>
|
|
|
|
<IconLock />
|
|
|
|
</PageNavTab>
|
|
|
|
</PageNavSection>
|
|
|
|
|
|
|
|
<PageNavSection>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/video"
|
|
|
|
tabTitle={$t("settings.page.video")}
|
|
|
|
iconColor="green"
|
|
|
|
>
|
|
|
|
<IconMovie />
|
|
|
|
</PageNavTab>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/audio"
|
|
|
|
tabTitle={$t("settings.page.audio")}
|
|
|
|
iconColor="green"
|
|
|
|
>
|
|
|
|
<IconMusic />
|
|
|
|
</PageNavTab>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/download"
|
|
|
|
tabTitle={$t("settings.page.download")}
|
|
|
|
iconColor="green"
|
|
|
|
>
|
|
|
|
<IconFileDownload />
|
|
|
|
</PageNavTab>
|
|
|
|
</PageNavSection>
|
|
|
|
|
|
|
|
<PageNavSection>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/instances"
|
|
|
|
tabTitle={$t("settings.page.instances")}
|
|
|
|
iconColor="gray"
|
|
|
|
>
|
|
|
|
<IconWorld />
|
|
|
|
</PageNavTab>
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/advanced"
|
|
|
|
tabTitle={$t("settings.page.advanced")}
|
|
|
|
iconColor="gray"
|
|
|
|
>
|
|
|
|
<IconSettingsBolt />
|
|
|
|
</PageNavTab>
|
|
|
|
{#if $settings.advanced.debug}
|
|
|
|
<PageNavTab
|
|
|
|
tabPath="/settings/debug"
|
|
|
|
tabTitle={$t("settings.page.debug")}
|
2024-07-10 19:35:53 +02:00
|
|
|
iconColor="gray"
|
|
|
|
>
|
2024-09-04 13:50:47 +02:00
|
|
|
<IconBug />
|
|
|
|
</PageNavTab>
|
2024-07-23 10:04:19 +02:00
|
|
|
{/if}
|
2024-09-04 13:50:47 +02:00
|
|
|
</PageNavSection>
|
|
|
|
</svelte:fragment>
|
2024-06-24 20:11:04 +02:00
|
|
|
|
2024-09-04 13:50:47 +02:00
|
|
|
<slot slot="content"></slot>
|
|
|
|
</PageNav>
|