Fix Shop location switcher scroll when changing

This commit is contained in:
2022-09-14 22:15:59 +02:00
parent 1699203f02
commit 829487ebea

View File

@@ -4,13 +4,13 @@
<script lang="ts">
import { goto } from '$app/navigation'
import { getContext } from 'svelte'
import { getContext, tick } from 'svelte'
import { shopCurrentProductSlug } from '$utils/stores/shop'
import { smoothScroll } from '$utils/functions'
import { smoothScroll } from '$utils/stores'
export let isOver: boolean = false
const { shopLocations } = getContext('shop')
const { shopLocations }: any = getContext('shop')
const classes = [
'shop-locationswitcher',
@@ -20,11 +20,15 @@
// Quick location change
const quickLocationChange = ({ target: { value }}: any) => {
const newPath = `/shop/poster-${value}`
goto(newPath, { replaceState: true, noscroll: true, keepfocus: true })
const quickLocationChange = async ({ target: { value }}: any) => {
const pathTo = `/shop/poster-${value}`
goto(pathTo, { replaceState: true, noscroll: true, keepfocus: true })
// Scroll to anchor
setTimeout(() => smoothScroll({ hash: 'poster' }), 1000)
await tick()
$smoothScroll.scrollTo(document.getElementById('poster').offsetTop, {
duration: 2
})
}
</script>