Avoid route change scroll when clicking on links
sapper-noscroll here for the rescue, keeps the scroll position and loads the new page content
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
export let href = '#'
|
export let href = '#'
|
||||||
export let type = 'a'
|
export let type = 'a'
|
||||||
export let text = ''
|
export let text = ''
|
||||||
|
export let noScroll = null
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if type === 'button'}
|
{#if type === 'button'}
|
||||||
@@ -13,7 +14,7 @@
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
{:else}
|
{:else}
|
||||||
<a {href} class={$$props.class ? $$props.class : 'button'} on:click>
|
<a {href} class={$$props.class ? $$props.class : 'button'} sapper-noscroll={noScroll} on:click>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
<div class="text" data-text={text}>
|
<div class="text" data-text={text}>
|
||||||
<span>{text}</span>
|
<span>{text}</span>
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<script>
|
<script>
|
||||||
export let href = '#'
|
export let href = '#'
|
||||||
export let text = ''
|
export let text = ''
|
||||||
|
export let noScroll = null
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<a href={href} class="link-change">
|
<a href={href} class="link-change" sapper-noscroll={noScroll}>
|
||||||
{text}
|
{text}
|
||||||
<span class="icon">
|
<span class="icon">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
|
|||||||
@@ -5,9 +5,10 @@
|
|||||||
export let text = ''
|
export let text = ''
|
||||||
export let target = null
|
export let target = null
|
||||||
export let rel = null
|
export let rel = null
|
||||||
|
export let noScroll = null
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<a class="link-translate" {href} {target} {rel}>
|
<a class="link-translate" {href} {target} {rel} sapper-noscroll={noScroll}>
|
||||||
<slot />
|
<slot />
|
||||||
<div class="text" data-text={text}>
|
<div class="text" data-text={text}>
|
||||||
<span>{text}</span>
|
<span>{text}</span>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="location" data-aos="location">
|
<div class="location" data-aos="location">
|
||||||
<a href="/location/{location.country.slug}/{location.slug}" rel="prefetch">
|
<a href="/location/{location.country.slug}/{location.slug}" rel="prefetch" sapper-noscroll>
|
||||||
<img src={location.country.flag.full_url} alt="Flag of {location.country.name}">
|
<img src={location.country.flag.full_url} alt="Flag of {location.country.name}">
|
||||||
<div class="anim-mask mask-city">
|
<div class="anim-mask mask-city">
|
||||||
<h3 class="location__city">{location.name}</h3>
|
<h3 class="location__city">{location.name}</h3>
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
<div class="photo__image wrap">
|
<div class="photo__image wrap">
|
||||||
<div class="align">
|
<div class="align">
|
||||||
<a href={photoHref}>
|
<a href={photoHref} sapper-noscroll>
|
||||||
<picture class="photo__picture">
|
<picture class="photo__picture">
|
||||||
{#if layout === 'list'}
|
{#if layout === 'list'}
|
||||||
<source media="(min-width: 992px)" data-srcset={fn.getThumbnail(photo.image.private_hash, 1300)}>
|
<source media="(min-width: 992px)" data-srcset={fn.getThumbnail(photo.image.private_hash, 1300)}>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<div class="switcher {type}">
|
<div class="switcher {type}">
|
||||||
<div class="switcher__text" class:empty={!location}>
|
<div class="switcher__text" class:empty={!location}>
|
||||||
<a href="/">
|
<a href="/" sapper-noscroll>
|
||||||
{#if !location}
|
{#if !location}
|
||||||
<span class="top">Houses</span>
|
<span class="top">Houses</span>
|
||||||
<span class="bottom">
|
<span class="bottom">
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="button-control button-control--dashed switcher__icon">
|
<div class="button-control button-control--dashed switcher__icon">
|
||||||
<a href="/choose">
|
<a href="/choose" sapper-noscroll>
|
||||||
<IconGlobe
|
<IconGlobe
|
||||||
color={type.includes('side') ? '#333' : '#fff'}
|
color={type.includes('side') ? '#333' : '#fff'}
|
||||||
width={type.includes('side') ? 18 : 24}
|
width={type.includes('side') ? 18 : 24}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<LinkTranslate href="/credits" text="Credits" rel="prefetch" />
|
<LinkTranslate href="/credits" text="Credits" rel="prefetch" noScroll="true" />
|
||||||
</li>
|
</li>
|
||||||
{#if $site}
|
{#if $site}
|
||||||
<li class="instagram">
|
<li class="instagram">
|
||||||
|
|||||||
Reference in New Issue
Block a user