From a65c905621603fbfb8148df7ae3f9d923a587a41 Mon Sep 17 00:00:00 2001 From: Dhaval Javia <31767853+dj0024javia@users.noreply.github.com> Date: Sun, 18 May 2025 02:39:15 +0530 Subject: [PATCH] fix: delay settings apply for slideshow popup (#18028) * fix: fixed slideshow values to apply on done. * chore: linting error fixes * feat: added cancel button and changed text from done to confirm --- .../lib/components/slideshow-settings.svelte | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/web/src/lib/components/slideshow-settings.svelte b/web/src/lib/components/slideshow-settings.svelte index 4af6cdc5e74..c30d2cfb09a 100644 --- a/web/src/lib/components/slideshow-settings.svelte +++ b/web/src/lib/components/slideshow-settings.svelte @@ -25,6 +25,13 @@ let { onClose = () => {} }: Props = $props(); + // Temporary variables to hold the settings - marked as reactive with $state() but initialized with store values + let tempSlideshowDelay = $state($slideshowDelay); + let tempShowProgressBar = $state($showProgressBar); + let tempSlideshowNavigation = $state($slideshowNavigation); + let tempSlideshowLook = $state($slideshowLook); + let tempSlideshowTransition = $state($slideshowTransition); + const navigationOptions: Record = { [SlideshowNavigation.Shuffle]: { icon: mdiShuffle, title: $t('shuffle') }, [SlideshowNavigation.AscendingOrder]: { icon: mdiArrowUpThin, title: $t('backward') }, @@ -47,6 +54,15 @@ } } }; + + const applyChanges = () => { + $slideshowDelay = tempSlideshowDelay; + $showProgressBar = tempShowProgressBar; + $slideshowNavigation = tempSlideshowNavigation; + $slideshowLook = tempSlideshowLook; + $slideshowTransition = tempSlideshowTransition; + onClose(); + }; onClose()}> @@ -54,31 +70,32 @@ { - $slideshowNavigation = handleToggle(option, navigationOptions) || $slideshowNavigation; + tempSlideshowNavigation = handleToggle(option, navigationOptions) || tempSlideshowNavigation; }} /> { - $slideshowLook = handleToggle(option, lookOptions) || $slideshowLook; + tempSlideshowLook = handleToggle(option, lookOptions) || tempSlideshowLook; }} /> - - + + {#snippet stickyBottom()} - + + {/snippet}