move the router into its own file

This commit is contained in:
Andreas Zweili 2021-05-04 16:41:24 +02:00
parent 904fe565f5
commit 5b987ba607
2 changed files with 51 additions and 46 deletions

View File

@ -1,53 +1,8 @@
import { createApp } from 'vue';
import { createRouter, createWebHistory } from 'vue-router';
import App from './App.vue';
import TeamsList from './components/teams/TeamsList';
import TeamMembers from './components/teams/TeamMembers';
import UsersList from './components/users/UsersList';
import router from './router.js';
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: TeamsList },
{
name: 'teams',
path: '/teams',
meta: {
needsAuth: true
},
component: TeamsList,
children: [
{
name: 'team-members',
path: ':teamId',
component: TeamMembers,
props: true
}
]
},
{ path: '/users', component: UsersList }
],
linkActiveClass: 'active',
scrollBehavior(_, _2, savedPosition) {
if (savedPosition) {
return savedPosition;
}
return { left: 0, top: 0 };
}
});
router.beforeEach(function(to, _2, next) {
if (to.meta.needsAuth) {
console.log('Needs authentication.');
}
// if (to.name === 'team-members') {
// next();
// } else {
// next({ name: 'team-members', params: { teamId: 't2' } });
// }
next();
});
const app = createApp(App);
app.use(router);
app.mount('#app');

View File

@ -0,0 +1,50 @@
import { createRouter, createWebHistory } from 'vue-router';
import TeamsList from './components/teams/TeamsList';
import TeamMembers from './components/teams/TeamMembers';
import UsersList from './components/users/UsersList';
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: TeamsList },
{
name: 'teams',
path: '/teams',
meta: {
needsAuth: true
},
component: TeamsList,
children: [
{
name: 'team-members',
path: ':teamId',
component: TeamMembers,
props: true
}
]
},
{ path: '/users', component: UsersList }
],
linkActiveClass: 'active',
scrollBehavior(_, _2, savedPosition) {
if (savedPosition) {
return savedPosition;
}
return { left: 0, top: 0 };
}
});
router.beforeEach(function(to, _2, next) {
if (to.meta.needsAuth) {
console.log('Needs authentication.');
}
// if (to.name === 'team-members') {
// next();
// } else {
// next({ name: 'team-members', params: { teamId: 't2' } });
// }
next();
});
export default router;