commit
a228c04b7f
|
|
@ -4282,8 +4282,7 @@
|
||||||
"core-js": {
|
"core-js": {
|
||||||
"version": "2.6.9",
|
"version": "2.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
|
||||||
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
|
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"core-util-is": {
|
"core-util-is": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
|
|
@ -10152,6 +10151,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
|
||||||
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
|
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
|
||||||
},
|
},
|
||||||
|
"lodash-es": {
|
||||||
|
"version": "4.17.15",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
|
||||||
|
"integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
|
||||||
|
},
|
||||||
"lodash._arraycopy": {
|
"lodash._arraycopy": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
|
||||||
|
|
@ -14678,6 +14682,16 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"smooth-scrollbar": {
|
||||||
|
"version": "8.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/smooth-scrollbar/-/smooth-scrollbar-8.4.0.tgz",
|
||||||
|
"integrity": "sha512-ROKPDABrNcCpiR7grzyRMykYtWSP7qyX59Ka/fcSPRYcixYPZhzW5mkg6EuAHMBvvVc9iHst7mOnnuM0+C/kBQ==",
|
||||||
|
"requires": {
|
||||||
|
"core-js": "^2.6.5",
|
||||||
|
"lodash-es": "^4.17.11",
|
||||||
|
"tslib": "^1.9.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"smtp-connection": {
|
"smtp-connection": {
|
||||||
"version": "2.12.0",
|
"version": "2.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
|
||||||
|
|
@ -16148,8 +16162,7 @@
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "1.10.0",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
|
||||||
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
|
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"tsscmp": {
|
"tsscmp": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@
|
||||||
"dominant-color": "0.0.1",
|
"dominant-color": "0.0.1",
|
||||||
"normalize-scss": "^7.0.1",
|
"normalize-scss": "^7.0.1",
|
||||||
"roboto-slab-fontface-kit": "^1.0.2",
|
"roboto-slab-fontface-kit": "^1.0.2",
|
||||||
|
"smooth-scrollbar": "^8.4.0",
|
||||||
"vue": "^2.5.16",
|
"vue": "^2.5.16",
|
||||||
"vue-custom-scrollbar": "^1.1.0",
|
"vue-custom-scrollbar": "^1.1.0",
|
||||||
"vue-electron": "^1.0.6",
|
"vue-electron": "^1.0.6",
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,7 @@
|
||||||
<Logo :nopadding="true"/>
|
<Logo :nopadding="true"/>
|
||||||
</section>
|
</section>
|
||||||
<section class="overlay" :class="{'open': menuStatus === true}" @click="toggleMenuStatus" />
|
<section class="overlay" :class="{'open': menuStatus === true}" @click="toggleMenuStatus" />
|
||||||
<section >
|
<section class="sidebar" :class="{'open': menuStatus === true}">
|
||||||
<vue-custom-scrollbar class="sidebar" :class="{'open': menuStatus === true}" :settings="settings">
|
|
||||||
<div class="logo-wrapper">
|
<div class="logo-wrapper">
|
||||||
<Logo class="logo" />
|
<Logo class="logo" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -116,7 +115,6 @@
|
||||||
Version {{version}}
|
Version {{version}}
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</MenuGroup>
|
</MenuGroup>
|
||||||
</vue-custom-scrollbar>
|
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -128,13 +126,18 @@ import projectPackage from '~/package.json'
|
||||||
import Logo from '../components/Logo'
|
import Logo from '../components/Logo'
|
||||||
import { mapActions, mapGetters } from 'vuex'
|
import { mapActions, mapGetters } from 'vuex'
|
||||||
import Button from '../components/Button'
|
import Button from '../components/Button'
|
||||||
import vueCustomScrollbar from 'vue-custom-scrollbar'
|
import Scrollbar from 'smooth-scrollbar'
|
||||||
|
import OverscrollPlugin from 'smooth-scrollbar/plugins/overscroll'
|
||||||
|
Scrollbar.use(OverscrollPlugin)
|
||||||
export default {
|
export default {
|
||||||
name: 'DockableSidebar',
|
name: 'DockableSidebar',
|
||||||
components: { MenuGroup, MenuItem, Logo, Button, vueCustomScrollbar },
|
components: { MenuGroup, MenuItem, Logo, Button },
|
||||||
data: () => {
|
data: () => {
|
||||||
return { version: projectPackage.version, settings: { maxScrollbarLength: 60, swipeEasing: true, wheelSpeed: 0.5 } }
|
return { version: projectPackage.version }
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
let container = this.$el.getElementsByClassName('sidebar')[0]
|
||||||
|
Scrollbar.init(container, { overscrollEffect: 'bounce', continuousScrolling: true })
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(['toggleMenuStatus'])
|
...mapActions(['toggleMenuStatus'])
|
||||||
|
|
@ -143,7 +146,7 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="sass">
|
<style lang="sass">
|
||||||
section.handle
|
section.handle
|
||||||
position: absolute
|
position: absolute
|
||||||
left: 0
|
left: 0
|
||||||
|
|
@ -198,6 +201,9 @@ section.sidebar
|
||||||
flex-direction: column
|
flex-direction: column
|
||||||
overflow-y: hidden
|
overflow-y: hidden
|
||||||
transition: width 300ms,transform 300ms,padding 500ms
|
transition: width 300ms,transform 300ms,padding 500ms
|
||||||
|
.scroll-content
|
||||||
|
display: flex
|
||||||
|
flex-direction: column
|
||||||
.logo-wrapper
|
.logo-wrapper
|
||||||
min-height: 48px
|
min-height: 48px
|
||||||
.icon
|
.icon
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<section>
|
<section class="wtf">
|
||||||
<ActionBar class="action-bar" />
|
<ActionBar class="action-bar" />
|
||||||
<div class="upper-row">
|
<div class="upper-row">
|
||||||
<MusicRow :items='items' />
|
<MusicRow :items='items' />
|
||||||
|
|
@ -68,10 +68,16 @@ import ListItem from '../components/ListItem'
|
||||||
import Button from '../components/Button'
|
import Button from '../components/Button'
|
||||||
import carousel from 'vue-owl-carousel'
|
import carousel from 'vue-owl-carousel'
|
||||||
import MusicBox from '../components/MusicBox'
|
import MusicBox from '../components/MusicBox'
|
||||||
|
import Scrollbar from 'smooth-scrollbar'
|
||||||
|
import OverscrollPlugin from 'smooth-scrollbar/plugins/overscroll'
|
||||||
|
Scrollbar.use(OverscrollPlugin)
|
||||||
export default {
|
export default {
|
||||||
name: 'HomePage',
|
name: 'HomePage',
|
||||||
components: { ActionBar, MusicRow, List, ListItem, Button, carousel, MusicBox },
|
components: { ActionBar, MusicRow, List, ListItem, Button, carousel, MusicBox },
|
||||||
|
mounted () {
|
||||||
|
let container = this.$el
|
||||||
|
Scrollbar.init(container, { overscrollEffect: 'bounce', continuousScrolling: true })
|
||||||
|
},
|
||||||
data: () => {
|
data: () => {
|
||||||
return {
|
return {
|
||||||
items: [
|
items: [
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue