88 lines
1.9 KiB
JavaScript
88 lines
1.9 KiB
JavaScript
import userState from "../lib/userstate.js";
|
|
|
|
import MainPage from '../views/mobile/Main.vue';
|
|
import MainPageHomeTab from '../views/mobile/main/Home.vue';
|
|
|
|
import LoginPage from '../views/mobile/Login.vue';
|
|
import SignUpPage from '../views/mobile/Signup.vue';
|
|
import SettingsPage from '../views/mobile/Settings.vue';
|
|
import AboutPage from "../views/mobile/About.vue";
|
|
import UserProfilePage from "../views/mobile/users/UserProfile.vue";
|
|
import SessionListPage from "../views/mobile/users/SessionList.vue";
|
|
|
|
function checkLogin(to, from, resolve, reject) {
|
|
const router = this;
|
|
|
|
if (userState.isUserLogined()) {
|
|
resolve();
|
|
return;
|
|
}
|
|
|
|
reject();
|
|
router.navigate('/login');
|
|
}
|
|
|
|
function checkNotLogin(to, from, resolve, reject) {
|
|
const router = this;
|
|
|
|
if (!userState.isUserLogined()) {
|
|
resolve();
|
|
return;
|
|
}
|
|
|
|
reject();
|
|
router.navigate('/');
|
|
}
|
|
|
|
const routes = [
|
|
{
|
|
path: '/',
|
|
component: MainPage,
|
|
tabs: [
|
|
{
|
|
path: '/',
|
|
id: 'main-tab-home',
|
|
component: MainPageHomeTab,
|
|
beforeEnter: checkLogin
|
|
}
|
|
],
|
|
beforeEnter: checkLogin
|
|
},
|
|
{
|
|
path: '/login',
|
|
component: LoginPage,
|
|
beforeEnter: checkNotLogin
|
|
},
|
|
{
|
|
path: '/signup',
|
|
component: SignUpPage,
|
|
beforeEnter: checkNotLogin
|
|
},
|
|
{
|
|
path: '/settings',
|
|
component: SettingsPage,
|
|
beforeEnter: checkLogin
|
|
},
|
|
{
|
|
path: '/about',
|
|
component: AboutPage,
|
|
beforeEnter: checkLogin
|
|
},
|
|
{
|
|
path: '/user/profile',
|
|
component: UserProfilePage,
|
|
beforeEnter: checkLogin
|
|
},
|
|
{
|
|
path: '/user/sessions',
|
|
component: SessionListPage,
|
|
beforeEnter: checkLogin
|
|
},
|
|
{
|
|
path: '(.*)',
|
|
redirect: '/'
|
|
}
|
|
];
|
|
|
|
export default routes;
|