Files
unity/resources/js/user/router.js
T
glovetleong ad85832e75 user UI setup
user login UI
2021-07-06 11:54:00 +08:00

168 lines
4.6 KiB
JavaScript
Vendored

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router);
import Logins from './pages/logins/Index';
// import Dashboards from './pages/dashboards/Index';
// import UserList from './pages/users/List';
// import UserDetail from './pages/users/Detail';
// import AdminList from './pages/admins/List';
// import AdminCreate from './pages/admins/Create';
// import AdminEdit from './pages/admins/Edit';
// import AdminProfile from './pages/admins/Profile';
// import AdminRoleList from './pages/admin-roles/List';
// import AdminRoleCreate from './pages/admin-roles/Create';
// import AdminRoleEdit from './pages/admin-roles/Edit';
// import PageNotFound from './pages/page-not-founds/Index';
let router = new Router({
mode: 'history',
base: process.env.MIX_SUB_URL,
scrollBehavior() {
return window.scrollTo({ top: 0, behavior: 'smooth' });
},
routes: [
/////////////////////////////////////////////////////
// Login
{
path: '/login',
name: 'Login',
meta: {
layout: 'userpages',
guest: true
},
component: Logins
},
/////////////////////////////////////////////////////
// // Dashboard
// {
// path: '/',
// name: 'Dashboards',
// meta: {
// auth: true
// },
// component: Dashboards
// },
// /////////////////////////////////////////////////////
// // User
// {
// path: '/user/list',
// name: 'User List',
// meta: {
// auth: true
// },
// component: UserList
// },
// {
// path: '/user/detail/:hash_id',
// name: 'User Detail',
// meta: {
// auth: true
// },
// component: UserDetail
// },
// /////////////////////////////////////////////////////
// // Admin
// {
// path: '/admin/list',
// name: 'Admin List',
// meta: {
// auth: true
// },
// component: AdminList
// },
// {
// path: '/admin/create',
// name: 'Admin Create',
// meta: {
// auth: true
// },
// component: AdminCreate
// },
// {
// path: '/admin/edit/:hash_id',
// name: 'Admin Edit',
// meta: {
// auth: true
// },
// component: AdminEdit
// },
// {
// path: '/admin/profile/update',
// name: 'Admin Profile',
// meta: {
// auth: true
// },
// component: AdminProfile
// },
// /////////////////////////////////////////////////////
// // Admin Role
// {
// path: '/admin-role/list',
// name: 'Admin Role List',
// meta: {
// auth: true
// },
// component: AdminRoleList
// },
// {
// path: '/admin-role/create',
// name: 'Admin Role Create',
// meta: {
// auth: true
// },
// component: AdminRoleCreate
// },
// {
// path: '/admin-role/edit/:hash_id',
// name: 'Admin Role Edit',
// meta: {
// auth: true
// },
// component: AdminRoleEdit
// },
// /////////////////////////////////////////////////////
// // 404
// {
// path: '*',
// name: 'Page 404',
// meta: {
// layout: 'userpages',
// guest: true
// },
// component: PageNotFound
// },
// /////////////////////////////////////////////////////
]
});
// window.USER_DETAIL = localStorage.getItem('user_detail') != null ? JSON.parse(localStorage.getItem('user_detail')) : null;
window.TOKEN = localStorage.getItem('user_jwt');
router.beforeEach((to, from, next) => {
if(to.matched.some(record => record.meta.auth)) {
if (localStorage.getItem('user_jwt') == null) {
next({ path: 'login' })
}
else {
next();
}
}
if(to.matched.some(record => record.meta.without_auth)) {
if (localStorage.getItem('user_jwt') != null) {
next({ path: '/' })
}
else {
next();
}
}
next();
});
export default router;