added scroll to top button
This commit is contained in:
parent
e9ae1cbe2f
commit
630fc0e625
4 changed files with 58 additions and 4 deletions
|
@ -1613,6 +1613,32 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
||||||
|
|
||||||
// Collection Page
|
// Collection Page
|
||||||
.collection-page {
|
.collection-page {
|
||||||
|
padding-bottom: 128px;
|
||||||
|
.top-fab {
|
||||||
|
height: 52px;
|
||||||
|
width: 52px;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 32px;
|
||||||
|
right: 32px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background: rgb(86 86 86 / 50%);
|
||||||
|
border: 0px;
|
||||||
|
appearance: none;
|
||||||
|
backdrop-filter: blur(16px) saturate(180%);
|
||||||
|
|
||||||
|
>svg {
|
||||||
|
height: 50%;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgb(186 186 186 / 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
background: var(--keyColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
.header-text {
|
.header-text {
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
}
|
}
|
||||||
|
@ -2239,6 +2265,17 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fabfade-enter-active,
|
||||||
|
.fabfade-leave-active {
|
||||||
|
transition: transform .1s var(--appleEase), opacity .1s var(--appleEase);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fabfade-enter,
|
||||||
|
.fabfade-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
transform: scale(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
/* Transitions End */
|
/* Transitions End */
|
||||||
|
|
||||||
@media (prefers-color-scheme: light) {
|
@media (prefers-color-scheme: light) {
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
<input type="search" spellcheck="false" @click="showSearch()"
|
<input type="search" spellcheck="false" @click="showSearch()"
|
||||||
@focus="search.showHints = true"
|
@focus="search.showHints = true"
|
||||||
@blur="setTimeout(()=>{search.showHints = false}, 100)"
|
@blur="setTimeout(()=>{search.showHints = false}, 100)"
|
||||||
v-on:keyup.enter="searchQuery()"
|
v-on:keyup.enter="searchQuery();search.showHints = false"
|
||||||
@change="showSearch();" @input="getSearchHints()" placeholder="Search..."
|
@change="showSearch();" @input="getSearchHints()" placeholder="Search..."
|
||||||
v-model="search.term"
|
v-model="search.term"
|
||||||
class="search-input">
|
class="search-input">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script type="text/x-template" id="cider-collection-list">
|
<script type="text/x-template" id="cider-collection-list">
|
||||||
<div class="content-inner collection-page">
|
<div class="content-inner collection-page">
|
||||||
<h3 class="header-text">{{ title }}</h3>
|
<h3 class="header-text" v-observe-visibility="{callback: headerVisibility}">{{ title }}</h3>
|
||||||
<div v-if="data['data'] != 'null'" class="well">
|
<div v-if="data['data'] != 'null'" class="well">
|
||||||
<template v-for="item in data.data">
|
<template v-for="item in data.data">
|
||||||
<template v-if="item.type == 'artists'">
|
<template v-if="item.type == 'artists'">
|
||||||
|
@ -16,7 +16,11 @@
|
||||||
</template>
|
</template>
|
||||||
<button v-if="triggerEnabled" style="opacity:0;height: 32px;" v-observe-visibility="{callback: visibilityChanged}">Show More</button>
|
<button v-if="triggerEnabled" style="opacity:0;height: 32px;" v-observe-visibility="{callback: visibilityChanged}">Show More</button>
|
||||||
</div>
|
</div>
|
||||||
|
<transition name="fabfade">
|
||||||
|
<button class="top-fab" v-show="showFab" @click="scrollToTop()">
|
||||||
|
<%- include("../svg/arrow-up.svg") %>
|
||||||
|
</button>
|
||||||
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
|
@ -40,10 +44,15 @@
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
triggerEnabled: true,
|
triggerEnabled: true,
|
||||||
canSeeTrigger: false
|
canSeeTrigger: false,
|
||||||
|
showFab: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
scrollToTop() {
|
||||||
|
let target = document.querySelector(".header-text")
|
||||||
|
target.scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"})
|
||||||
|
},
|
||||||
getNext() {
|
getNext() {
|
||||||
// if this.data.next is not null, then we can run this.data.next() and concat to this.data.data to get the next page
|
// if this.data.next is not null, then we can run this.data.next() and concat to this.data.data to get the next page
|
||||||
switch(this.type) {
|
switch(this.type) {
|
||||||
|
@ -79,6 +88,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
headerVisibility: function (isVisible, entry) {
|
||||||
|
if(isVisible) {
|
||||||
|
this.showFab = false;
|
||||||
|
}else{
|
||||||
|
this.showFab = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
visibilityChanged: function (isVisible, entry) {
|
visibilityChanged: function (isVisible, entry) {
|
||||||
if(isVisible) {
|
if(isVisible) {
|
||||||
this.canSeeTrigger = true;
|
this.canSeeTrigger = true;
|
||||||
|
|
1
resources/cider-ui-tests/views/svg/arrow-up.svg
Normal file
1
resources/cider-ui-tests/views/svg/arrow-up.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"/></svg>
|
After Width: | Height: | Size: 531 B |
Loading…
Add table
Add a link
Reference in a new issue