Merge pull request #12 from nikandlv/development
Finished sidebar and added a better scrollbarmaster
commit
54114f198a
|
|
@ -12370,6 +12370,11 @@
|
||||||
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
|
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"perfect-scrollbar": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-/2Sk/khljhdrsamjJYS5NjrH+GKEHEwh7zFSiYyxROyYKagkE4kSn2zDQDRTOMo8mpT2jikxx6yI1dG7lNP/hw=="
|
||||||
|
},
|
||||||
"performance-now": {
|
"performance-now": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||||
|
|
@ -16662,6 +16667,15 @@
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
|
||||||
"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
|
"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
|
||||||
},
|
},
|
||||||
|
"vue-custom-scrollbar": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/vue-custom-scrollbar/-/vue-custom-scrollbar-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZXf4Kjg7NZxVF6vo3OyXdueRkwHPp1qal+W08Ea6dJQcmm6FaCjJBrc6ukYbTEHMZHc2v8QNBpJg7pi4AYLhTA==",
|
||||||
|
"requires": {
|
||||||
|
"perfect-scrollbar": "^1.4.0",
|
||||||
|
"vue": "^2.5.17"
|
||||||
|
}
|
||||||
|
},
|
||||||
"vue-electron": {
|
"vue-electron": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/vue-electron/-/vue-electron-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/vue-electron/-/vue-electron-1.0.6.tgz",
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@
|
||||||
"axios": "^0.18.0",
|
"axios": "^0.18.0",
|
||||||
"normalize-scss": "^7.0.1",
|
"normalize-scss": "^7.0.1",
|
||||||
"vue": "^2.5.16",
|
"vue": "^2.5.16",
|
||||||
|
"vue-custom-scrollbar": "^1.1.0",
|
||||||
"vue-electron": "^1.0.6",
|
"vue-electron": "^1.0.6",
|
||||||
"vue-router": "^3.0.1",
|
"vue-router": "^3.0.1",
|
||||||
"vuex": "^3.0.1",
|
"vuex": "^3.0.1",
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ export default {
|
||||||
border-radius: .375rem
|
border-radius: .375rem
|
||||||
transition: background-color 200ms
|
transition: background-color 200ms
|
||||||
box-sizing: border-box
|
box-sizing: border-box
|
||||||
overflow: hidden
|
|
||||||
outline: unset
|
outline: unset
|
||||||
&--contained
|
&--contained
|
||||||
background-color: #336cfb
|
background-color: #336cfb
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,25 @@
|
||||||
</div>
|
</div>
|
||||||
<Logo :nopadding="true"/>
|
<Logo :nopadding="true"/>
|
||||||
</section>
|
</section>
|
||||||
<section class="sidebar" :class="{'open': menuStatus === true}">
|
<section class="overlay" :class="{'open': menuStatus === true}" @click="toggleMenuStatus" />
|
||||||
|
<section >
|
||||||
|
<vue-custom-scrollbar class="sidebar" :class="{'open': menuStatus === true}" :settings="settings">
|
||||||
|
<div class="logo-wrapper">
|
||||||
|
<div @click="toggleMenuStatus" class="icon">
|
||||||
|
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 384.97 384.97" style="enable-background:new 0 0 384.97 384.97;" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
<g id="Menu_1_">
|
||||||
|
<path d="M12.03,120.303h360.909c6.641,0,12.03-5.39,12.03-12.03c0-6.641-5.39-12.03-12.03-12.03H12.03
|
||||||
|
c-6.641,0-12.03,5.39-12.03,12.03C0,114.913,5.39,120.303,12.03,120.303z"/>
|
||||||
|
<path d="M372.939,180.455H12.03c-6.641,0-12.03,5.39-12.03,12.03s5.39,12.03,12.03,12.03h360.909c6.641,0,12.03-5.39,12.03-12.03
|
||||||
|
S379.58,180.455,372.939,180.455z"/>
|
||||||
|
<path d="M372.939,264.667H132.333c-6.641,0-12.03,5.39-12.03,12.03c0,6.641,5.39,12.03,12.03,12.03h240.606
|
||||||
|
c6.641,0,12.03-5.39,12.03-12.03C384.97,270.056,379.58,264.667,372.939,264.667z"/>
|
||||||
|
</g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
<Logo class="logo" />
|
<Logo class="logo" />
|
||||||
|
</div>
|
||||||
<MenuGroup>
|
<MenuGroup>
|
||||||
<template v-slot:title>Menu</template>
|
<template v-slot:title>Menu</template>
|
||||||
<MenuItem to="/artists">
|
<MenuItem to="/artists">
|
||||||
|
|
@ -112,6 +129,7 @@
|
||||||
Version {{version}}
|
Version {{version}}
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</MenuGroup>
|
</MenuGroup>
|
||||||
|
</vue-custom-scrollbar>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -123,12 +141,13 @@ 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'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DockableSidebar',
|
name: 'DockableSidebar',
|
||||||
components: { MenuGroup, MenuItem, Logo, Button },
|
components: { MenuGroup, MenuItem, Logo, Button, vueCustomScrollbar },
|
||||||
data: () => {
|
data: () => {
|
||||||
return { version: projectPackage.version }
|
return { version: projectPackage.version, settings: { maxScrollbarLength: 60, swipeEasing: true, wheelSpeed: 0.5 } }
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(['toggleMenuStatus'])
|
...mapActions(['toggleMenuStatus'])
|
||||||
|
|
@ -164,18 +183,41 @@ section.handle
|
||||||
svg
|
svg
|
||||||
width: 24px
|
width: 24px
|
||||||
height: 24px
|
height: 24px
|
||||||
|
section.overlay
|
||||||
|
position: absolute
|
||||||
|
top: 0
|
||||||
|
left: 0
|
||||||
|
width: 100%
|
||||||
|
height: 100%
|
||||||
|
background-color: rgba(0,0,0,0)
|
||||||
|
z-index: 1100
|
||||||
|
transition: background-color 200ms
|
||||||
|
pointer-events: none
|
||||||
|
&.open
|
||||||
|
pointer-events: all
|
||||||
|
background-color: rgba(0,0,0,0.1)
|
||||||
section.sidebar
|
section.sidebar
|
||||||
width: 250px
|
width: 250px
|
||||||
max-width: 250px
|
max-width: 250px
|
||||||
min-height: 100vh
|
min-height: 100vh
|
||||||
max-height: 100vh
|
max-height: 100vh
|
||||||
padding: 2rem 2rem 0rem 2rem
|
padding: 2rem 0rem 0rem 2rem
|
||||||
box-sizing: border-box
|
box-sizing: border-box
|
||||||
background-color: #fcfcfc
|
background-color: #fcfcfc
|
||||||
display: flex
|
display: flex
|
||||||
flex-direction: column
|
flex-direction: column
|
||||||
overflow-y: auto
|
overflow-y: hidden
|
||||||
transition: width 300ms,transform 300ms,padding 500ms
|
transition: width 300ms,transform 300ms,padding 500ms
|
||||||
|
.logo-wrapper
|
||||||
|
min-height: 48px
|
||||||
|
.icon
|
||||||
|
display: none
|
||||||
|
&.open
|
||||||
|
transform: translateX(0%)
|
||||||
|
padding: 1rem 0rem 0rem 1rem
|
||||||
|
width: 300px
|
||||||
|
overflow-y: hidden
|
||||||
|
|
||||||
.playlist-button
|
.playlist-button
|
||||||
align-self: flex-start
|
align-self: flex-start
|
||||||
.icon
|
.icon
|
||||||
|
|
@ -189,13 +231,32 @@ section.sidebar
|
||||||
section.sidebar
|
section.sidebar
|
||||||
width: 200px
|
width: 200px
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
padding: 1rem 1rem 0rem 1rem
|
padding: 1rem 0rem 0rem 1rem
|
||||||
@media(max-width: 800px)
|
@media(max-width: 800px)
|
||||||
section.sidebar
|
section.sidebar
|
||||||
transform: translateX(-100%)
|
transform: translateX(-100%)
|
||||||
width: 0
|
|
||||||
overflow-y: hidden
|
overflow-y: hidden
|
||||||
padding: 2rem 0rem 0rem 0rem
|
z-index: 1200
|
||||||
|
position: absolute
|
||||||
|
left: 0
|
||||||
|
top: 0
|
||||||
|
.logo-wrapper
|
||||||
|
display: flex
|
||||||
|
.icon
|
||||||
|
display: block
|
||||||
|
width: 24px
|
||||||
|
height: 24px
|
||||||
|
padding: 0.8rem
|
||||||
|
cursor: pointer
|
||||||
|
transition: background-color 200ms
|
||||||
|
border-radius: 100%
|
||||||
|
&:hover
|
||||||
|
background-color: rgba(black,0.05)
|
||||||
|
svg
|
||||||
|
width: 24px
|
||||||
|
height: 24px
|
||||||
|
.logo
|
||||||
|
display: none
|
||||||
section.handle
|
section.handle
|
||||||
transform: translateY(0%)
|
transform: translateY(0%)
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue