diff --git a/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte b/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte index f4bead5b39..7d2a8f7aa8 100644 --- a/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte +++ b/web/src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte @@ -232,6 +232,7 @@ />
- +
.

- + {#if config.oauth.enabled}
@@ -160,6 +166,7 @@ />
{/if} import { createEventDispatcher } from 'svelte'; + /** + * Unique identifier for the checkbox element, used to associate labels with the input element. + */ + export let id: string; + /** + * Optional aria-describedby attribute to associate the checkbox with a description. + */ + export let ariaDescribedBy: string | undefined = undefined; export let checked = false; export let disabled = false; @@ -10,17 +18,23 @@ @@ -32,8 +46,8 @@ right: 0; bottom: 0; background-color: #ccc; - -webkit-transition: 0.4s; - transition: 0.4s; + -webkit-transition: transform 0.4s; + transition: transform 0.4s; border-radius: 34px; } @@ -46,12 +60,12 @@ content: ''; height: 20px; width: 20px; - left: 0px; + left: -2px; right: 0px; - bottom: -4px; + bottom: -6px; background-color: gray; - -webkit-transition: 0.4s; - transition: 0.4s; + -webkit-transition: transform 0.4s; + transition: transform 0.4s; border-radius: 50%; } diff --git a/web/src/lib/components/forms/create-user-form.svelte b/web/src/lib/components/forms/create-user-form.svelte index 1f612af151..65f6e34982 100644 --- a/web/src/lib/components/forms/create-user-form.svelte +++ b/web/src/lib/components/forms/create-user-form.svelte @@ -94,10 +94,10 @@
-
diff --git a/web/src/lib/components/map-page/map-settings-modal.svelte b/web/src/lib/components/map-page/map-settings-modal.svelte index aa95714b46..377513145f 100644 --- a/web/src/lib/components/map-page/map-settings-modal.svelte +++ b/web/src/lib/components/map-page/map-settings-modal.svelte @@ -31,10 +31,10 @@ on:submit|preventDefault={() => dispatch('save', settings)} class="flex flex-col gap-4 text-immich-primary dark:text-immich-dark-primary" > - - - - + + + + {#if customDateRange}
diff --git a/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte b/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte index c4bc233def..b33a83cfc6 100644 --- a/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte +++ b/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte @@ -199,25 +199,33 @@
- +
- +
- +
- +
{#if editingLink}

- +

{:else}

Expire after

diff --git a/web/src/lib/components/shared-components/settings/setting-switch.svelte b/web/src/lib/components/shared-components/settings/setting-switch.svelte index 54e51a4f6a..2701fd2820 100644 --- a/web/src/lib/components/shared-components/settings/setting-switch.svelte +++ b/web/src/lib/components/shared-components/settings/setting-switch.svelte @@ -4,20 +4,24 @@ import { createEventDispatcher } from 'svelte'; import Slider from '$lib/components/elements/slider.svelte'; + export let id: string; export let title: string; export let subtitle = ''; export let checked = false; export let disabled = false; export let isEdited = false; + $: sliderId = `${id}-slider`; + $: subtitleId = subtitle ? `${id}-subtitle` : undefined; + const dispatch = createEventDispatcher<{ toggle: boolean }>(); - const onToggle = (ischecked: boolean) => dispatch('toggle', ischecked); + const onToggle = (isChecked: boolean) => dispatch('toggle', isChecked);
-
+
-
-

{subtitle}

+ {#if subtitle} +

{subtitle}

+ {/if}
- onToggle(detail)} /> + onToggle(detail)} + ariaDescribedBy={subtitleId} + />
diff --git a/web/src/lib/components/slideshow-settings.svelte b/web/src/lib/components/slideshow-settings.svelte index 46b5ff9631..3cc1c71a8f 100644 --- a/web/src/lib/components/slideshow-settings.svelte +++ b/web/src/lib/components/slideshow-settings.svelte @@ -45,7 +45,7 @@ selectedOption={options[$slideshowNavigation]} onToggle={(option) => handleToggle(option)} /> - +

PHOTOS FROM {partner.user.name.toUpperCase()}