Newer
Older
Eliot Berriot
committed
<template>
Eliot Berriot
committed
<div class="main library pusher">
Eliot Berriot
committed
<div class="ui secondary pointing menu">
<router-link class="ui item" to="/library" exact><i18next path="Browse"/></router-link>
<router-link class="ui item" to="/library/artists" exact><i18next path="Artists"/></router-link>
<router-link class="ui item" to="/library/radios" exact><i18next path="Radios"/></router-link>
<router-link class="ui item" to="/library/playlists" exact><i18next path="Playlists"/></router-link>
<div class="ui secondary right menu">
Eliot Berriot
committed
<router-link v-if="$store.state.auth.authenticated" class="ui item" to="/library/requests/" exact>
<div class="ui teal label">{{ requestsCount }}</div>
</router-link>
<router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/launch" exact>
<i18next path="Import"/>
</router-link>
<router-link v-if="$store.state.auth.availablePermissions['import.launch']" class="ui item" to="/library/import/batches">
<i18next path="Import batches"/>
Eliot Berriot
committed
</div>
<router-view :key="$route.fullPath"></router-view>
Eliot Berriot
committed
</div>
</template>
<script>
Eliot Berriot
committed
export default {
name: 'library',
data () {
return {
requestsCount: 0
}
},
created () {
this.fetchRequestsCount()
},
methods: {
fetchRequestsCount () {
Eliot Berriot
committed
if (!this.$store.state.authenticated) {
return
}
Eliot Berriot
committed
axios.get('requests/import-requests/', {params: {status: 'pending'}}).then(response => {
self.requestsCount = response.data.count
})
}
}
Eliot Berriot
committed
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss">
@import '../../style/vendor/media';
Eliot Berriot
committed
.library.pusher > .ui.secondary.menu {
@include media(">tablet") {
margin: 0 2.5rem;
}
.item {
padding-top: 1.5em;
padding-bottom: 1.5em;
}
Eliot Berriot
committed
}
Eliot Berriot
committed
.library {
Eliot Berriot
committed
.ui.segment.head {
background-size: cover;
background-position: center;
padding: 0;
.segment-content {
margin: 0 auto;
padding: 2em;
@include media(">tablet") {
padding: 4em;
}
Eliot Berriot
committed
}
&.with-background {
.header {
&, .sub, a {
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
color: white !important;
}
}
.segment-content {
background-color: rgba(0, 0, 0, 0.5)
}
}
}
}
</style>