Initial project commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import { createRouter, createWebHashHistory } from 'vue-router'
|
||||
|
||||
import AdminLayout from '~/layouts/AdminLayout.vue'
|
||||
import LoginPage from '~/pages/login.vue'
|
||||
import DashboardPage from '~/pages/dashboard.vue'
|
||||
import SpotsPage from '~/pages/spots.vue'
|
||||
import EventsPage from '~/pages/events.vue'
|
||||
import ShootingPage from '~/pages/shooting.vue'
|
||||
import ModuleDesignPage from '~/pages/module-design.vue'
|
||||
import NavConfigsPage from '~/pages/nav-configs.vue'
|
||||
import PromotionsPage from '~/pages/promotions.vue'
|
||||
import UsersPage from '~/pages/users.vue'
|
||||
import MembershipPage from '~/pages/membership.vue'
|
||||
import OpsPage from '~/pages/ops.vue'
|
||||
import { getAdminToken } from '~/composables/admin-auth'
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(),
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
component: AdminLayout,
|
||||
children: [
|
||||
{ path: '', redirect: '/dashboard' },
|
||||
{ path: 'dashboard', component: DashboardPage },
|
||||
{ path: 'spots', component: SpotsPage },
|
||||
{ path: 'events', component: EventsPage },
|
||||
{ path: 'shooting', component: ShootingPage },
|
||||
{ path: 'module-design', component: ModuleDesignPage },
|
||||
{ path: 'nav-configs', component: NavConfigsPage },
|
||||
{ path: 'promotions', component: PromotionsPage },
|
||||
{ path: 'users', component: UsersPage },
|
||||
{ path: 'membership', component: MembershipPage },
|
||||
{ path: 'ops', component: OpsPage },
|
||||
],
|
||||
},
|
||||
{ path: '/login', component: LoginPage },
|
||||
],
|
||||
})
|
||||
|
||||
router.beforeEach((to, _from, next) => {
|
||||
if (to.path === '/login') {
|
||||
next()
|
||||
return
|
||||
}
|
||||
if (!getAdminToken()) {
|
||||
next('/login')
|
||||
return
|
||||
}
|
||||
next()
|
||||
})
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user