Newer
Older
Eliot Berriot
committed
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Login from '@/components/auth/Login'
import Profile from '@/components/auth/Profile'
import Logout from '@/components/auth/Logout'
Eliot Berriot
committed
import Library from '@/components/library/Library'
import LibraryHome from '@/components/library/Home'
import LibraryArtist from '@/components/library/Artist'
import LibraryArtists from '@/components/library/Artists'
Eliot Berriot
committed
import LibraryAlbum from '@/components/library/Album'
import LibraryTrack from '@/components/library/Track'
import LibraryImport from '@/components/library/import/Main'
import BatchList from '@/components/library/import/BatchList'
import BatchDetail from '@/components/library/import/BatchDetail'
Eliot Berriot
committed
import Favorites from '@/components/favorites/List'
Vue.use(Router)
export default new Router({
mode: 'history',
linkActiveClass: 'active',
routes: [
{
path: '/',
name: 'index',
component: Home
},
{
path: '/login',
name: 'login',
component: Login,
props: (route) => ({ next: route.query.next || '/library' })
Eliot Berriot
committed
},
{
path: '/logout',
name: 'logout',
component: Logout
},
{
path: '/@:username',
name: 'profile',
component: Profile,
props: true
},
{
path: '/favorites',
component: Favorites
},
{
Eliot Berriot
committed
path: '/library',
component: Library,
Eliot Berriot
committed
children: [
Eliot Berriot
committed
{ path: '', component: LibraryHome },
{ path: 'artists/', name: 'library.artists.browse', component: LibraryArtists },
{ path: 'artists/:id', name: 'library.artists.detail', component: LibraryArtist, props: true },
{ path: 'albums/:id', name: 'library.albums.detail', component: LibraryAlbum, props: true },
{ path: 'tracks/:id', name: 'library.tracks.detail', component: LibraryTrack, props: true },
Eliot Berriot
committed
{
path: 'import/launch',
name: 'library.import.launch',
component: LibraryImport,
props: (route) => ({ mbType: route.query.type, mbId: route.query.id })
},
{
path: 'import/batches',
name: 'library.import.batches',
component: BatchList,
children: [
]
},
{ path: 'import/batches/:id', name: 'library.import.batches.detail', component: BatchDetail, props: true }