freezerpc/app/client/src/views/Library.vue

92 lines
2.2 KiB
Vue
Raw Normal View History

2020-08-28 23:06:19 +02:00
<template>
<div>
<h1>{{$t("Library")}}</h1>
2020-08-28 23:06:19 +02:00
<v-tabs v-model='tab'>
<v-tab key='tracks'>
{{$t("Tracks")}}
2020-08-28 23:06:19 +02:00
</v-tab>
<v-tab key='albums'>
{{$t("Albums")}}
2020-08-28 23:06:19 +02:00
</v-tab>
<v-tab key='artists'>
{{$t("Artists")}}
2020-08-28 23:06:19 +02:00
</v-tab>
<v-tab key='playlists'>
{{$t("Playlists")}}
2020-08-28 23:06:19 +02:00
</v-tab>
2020-09-02 14:39:43 +02:00
<v-tab key='history'>
{{$t("History")}}
2020-09-02 14:39:43 +02:00
</v-tab>
2020-08-28 23:06:19 +02:00
</v-tabs>
<v-tabs-items v-model='tab'>
<!-- Tracks -->
<v-tab-item key='tracks'>
<LibraryTracks height='calc(100vh - 290px)'></LibraryTracks>
2020-08-28 23:06:19 +02:00
</v-tab-item>
<!-- Albums -->
<v-tab-item key='albums'>
<LibraryAlbums></LibraryAlbums>
</v-tab-item>
<!-- Artists -->
<v-tab-item key='artists'>
<LibraryArtists></LibraryArtists>
</v-tab-item>
<!-- Playlists -->
<v-tab-item key='playlists'>
<LibraryPlaylists></LibraryPlaylists>
</v-tab-item>
2020-09-02 14:39:43 +02:00
<!-- History -->
<v-tab-item key='history'>
<LibraryHistory></LibraryHistory>
</v-tab-item>
2020-08-28 23:06:19 +02:00
</v-tabs-items>
</div>
</template>
<script>
import LibraryTracks from '@/components/LibraryTracks.vue';
import LibraryAlbums from '@/components/LibraryAlbums.vue';
import LibraryArtists from '@/components/LibraryArtists.vue';
import LibraryPlaylists from '@/components/LibraryPlaylists.vue';
2020-09-02 14:39:43 +02:00
import LibraryHistory from '@/components/LibraryHistory.vue';
2020-08-28 23:06:19 +02:00
export default {
name: 'Library',
components: {
2020-09-02 14:39:43 +02:00
LibraryTracks, LibraryAlbums, LibraryArtists, LibraryPlaylists, LibraryHistory
2020-08-28 23:06:19 +02:00
},
props: {
routeTab: {
default: 'tracks',
type: String
}
},
data() {
return {
tab: null,
tabs: ['tracks', 'albums', 'artists', 'playlists'],
}
},
methods: {
},
mounted() {
//Make mutable
this.tab = this.tabs.indexOf(this.routeTab);
},
watch: {
//Update when navigating from drawer
routeTab() {
this.tab = this.tabs.indexOf(this.routeTab);
}
}
}
</script>