From 95bb3307925be146b49a4c4ef377f1b8bbf8915b Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 16 Mar 2021 11:36:16 +0100 Subject: [PATCH 1/3] fix: Auto scroll settings from settings home --- .../shared/components/SettingsMenu.svelte | 4 ++-- packages/shared/lib/router.ts | 5 +++++ .../routes/dashboard/settings/Settings.svelte | 3 ++- .../settings/views/SettingsHome.svelte | 22 ++++++++++++++----- .../settings/views/SettingsViewer.svelte | 10 ++++++++- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/packages/shared/components/SettingsMenu.svelte b/packages/shared/components/SettingsMenu.svelte index 7629c7202cf..85a1b6cd420 100644 --- a/packages/shared/components/SettingsMenu.svelte +++ b/packages/shared/components/SettingsMenu.svelte @@ -8,7 +8,7 @@ export let iconColor export let title export let description - export let onClick = () => {} + export let onClick = (setting) => {}
@@ -17,7 +17,7 @@ {description} {#each Object.values(settings) as setting}
diff --git a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte index ae104da3d9d..94df14cc32c 100644 --- a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte +++ b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte @@ -1,9 +1,11 @@ {#if mobile} From 6444c2dd636ec5ecf16b79ca106b0151643dfda0 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 16 Mar 2021 11:38:55 +0100 Subject: [PATCH 2/3] fix: Clear the child route --- .../shared/routes/dashboard/settings/views/SettingsViewer.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte index 94df14cc32c..aae9ff87312 100644 --- a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte +++ b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte @@ -38,6 +38,7 @@ } onMount(() => { const child = $settingsChildRoute + settingsChildRoute.set(null) if (child) { scrollIntoView(child) } From 6363525141adecbd2085fccd8f49c0f2a86380fd Mon Sep 17 00:00:00 2001 From: Charlie Varley Date: Wed, 17 Mar 2021 01:32:49 +0000 Subject: [PATCH 3/3] fix: settings scroll behaviour --- .../routes/dashboard/settings/views/SettingsViewer.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte index aae9ff87312..80ff91b69a7 100644 --- a/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte +++ b/packages/shared/routes/dashboard/settings/views/SettingsViewer.svelte @@ -23,11 +23,11 @@ helpAndInfo: HelpAndInfo, } - function scrollIntoView(id) { + function scrollIntoView(id, options = null) { if (id) { const elem = document.getElementById(id) if (elem) { - elem.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'nearest' }) + elem.scrollIntoView(options ?? { behavior: 'smooth' }) } else { console.error(`Element with id "${id}" missing in scrollIntoView`) } @@ -40,7 +40,7 @@ const child = $settingsChildRoute settingsChildRoute.set(null) if (child) { - scrollIntoView(child) + scrollIntoView(child, { behavior: 'auto' }) } })