mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 20:25:32 -04:00
* chore(deps): update dependency eslint-plugin-svelte to v3 * chore: linting * chore: rebase --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Daniel Dietzler <mail@ddietzler.dev> Co-authored-by: Zack Pollard <zackpollard@ymail.com>
71 lines
2.4 KiB
Svelte
71 lines
2.4 KiB
Svelte
<script lang="ts">
|
|
import { user } from '$lib/stores/user.store';
|
|
import { getConfig, type SystemConfigDto } from '@immich/sdk';
|
|
import { mdiArrowLeft, mdiArrowRight, mdiIncognito } from '@mdi/js';
|
|
import { onMount } from 'svelte';
|
|
import AdminSettings from '$lib/components/admin-page/settings/admin-settings.svelte';
|
|
import Button from '$lib/components/elements/buttons/button.svelte';
|
|
import Icon from '$lib/components/elements/icon.svelte';
|
|
import OnboardingCard from './onboarding-card.svelte';
|
|
import { t } from 'svelte-i18n';
|
|
import SettingSwitch from '$lib/components/shared-components/settings/setting-switch.svelte';
|
|
|
|
interface Props {
|
|
onDone: () => void;
|
|
onPrevious: () => void;
|
|
}
|
|
|
|
let { onDone, onPrevious }: Props = $props();
|
|
|
|
let config: SystemConfigDto | null = $state(null);
|
|
let adminSettingsComponent = $state<ReturnType<typeof AdminSettings>>();
|
|
|
|
onMount(async () => {
|
|
config = await getConfig();
|
|
});
|
|
</script>
|
|
|
|
<OnboardingCard title={$t('privacy')} icon={mdiIncognito}>
|
|
<p>
|
|
{$t('onboarding_privacy_description')}
|
|
</p>
|
|
|
|
{#if config && $user}
|
|
<AdminSettings bind:config bind:this={adminSettingsComponent}>
|
|
{#if config}
|
|
<SettingSwitch
|
|
title={$t('admin.map_settings')}
|
|
subtitle={$t('admin.map_implications')}
|
|
bind:checked={config.map.enabled}
|
|
/>
|
|
<SettingSwitch
|
|
title={$t('admin.version_check_settings')}
|
|
subtitle={$t('admin.version_check_implications')}
|
|
bind:checked={config.newVersionCheck.enabled}
|
|
/>
|
|
<div class="flex pt-4">
|
|
<div class="w-full flex place-content-start">
|
|
<Button class="flex gap-2 place-content-center" onclick={() => onPrevious()}>
|
|
<Icon path={mdiArrowLeft} size="18" />
|
|
<p>{$t('theme')}</p>
|
|
</Button>
|
|
</div>
|
|
<div class="flex w-full place-content-end">
|
|
<Button
|
|
onclick={() => {
|
|
adminSettingsComponent?.handleSave({ map: config?.map, newVersionCheck: config?.newVersionCheck });
|
|
onDone();
|
|
}}
|
|
>
|
|
<span class="flex place-content-center place-items-center gap-2">
|
|
{$t('admin.storage_template_settings')}
|
|
<Icon path={mdiArrowRight} size="18" />
|
|
</span>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</AdminSettings>
|
|
{/if}
|
|
</OnboardingCard>
|