This commit is contained in:
j3d1 2023-12-09 00:57:09 +01:00
parent 55577adde8
commit 916de9fd6b
7 changed files with 498 additions and 34 deletions

View file

@ -6,6 +6,8 @@ import Error from './views/Error';
import HowTo from './views/HowTo';
import VueRouter from 'vue-router';
import Vue from 'vue';
import Login from '@/views/Login.vue';
import Register from '@/views/Register.vue';
import Debug from "@/views/admin/Debug.vue";
import Tickets from "@/views/Tickets.vue";
import Ticket from "@/views/Ticket.vue";
@ -15,19 +17,21 @@ import store from "@/store";
Vue.use(VueRouter);
const routes = [
{path: '/', redirect: '/Camp23/items'},
{path: '/howto', name: 'howto', component: HowTo},
{path: '/:event/boxes', name: 'boxes', component: Boxes},
{path: '/:event/items', name: 'items', component: Items},
{path: '/:event/box/:uid', name: 'box', component: Boxes},
{path: '/:event/item/:uid', name: 'item', component: Items},
{path: '/:event/tickets', name: 'tickets', component: Tickets},
{path: '/:event/ticket/:id', name: 'ticket', component: Ticket},
{path: '/admin', name: 'admin', component: Admin},
{path: '/admin/files', name: 'files', component: Files},
{path: '/admin/events', name: 'events', component: Events},
{path: '/admin/debug', name: 'debug', component: Debug},
{path: '/admin/users', name: 'users', component: Events},
{path: '/', redirect: '/Camp23/items', meta: {requiresAuth: false}},
{path: '/login', name: 'login', component: Login, meta: {requiresAuth: false}},
{path: '/register', name: 'register', component: Register, meta: {requiresAuth: false}},
{path: '/howto', name: 'howto', component: HowTo, meta: {requiresAuth: true}},
{path: '/:event/boxes', name: 'boxes', component: Boxes, meta: {requiresAuth: true}},
{path: '/:event/items', name: 'items', component: Items, meta: {requiresAuth: true}},
{path: '/:event/box/:uid', name: 'box', component: Boxes, meta: {requiresAuth: true}},
{path: '/:event/item/:uid', name: 'item', component: Items, meta: {requiresAuth: true}},
{path: '/:event/tickets', name: 'tickets', component: Tickets, meta: {requiresAuth: true}},
{path: '/:event/ticket/:id', name: 'ticket', component: Ticket, meta: {requiresAuth: true}},
{path: '/admin', name: 'admin', component: Admin, meta: {requiresAuth: true}},
{path: '/admin/files', name: 'files', component: Files, meta: {requiresAuth: true}},
{path: '/admin/events', name: 'events', component: Events, meta: {requiresAuth: true}},
{path: '/admin/debug', name: 'debug', component: Debug, meta: {requiresAuth: true}},
{path: '/admin/users', name: 'users', component: Events, meta: {requiresAuth: true}},
{path: '*', component: Error},
];
@ -36,7 +40,34 @@ const router = new VueRouter({
routes,
});
router.afterEach((to, from) => {
//router.beforeEach((to/*, from*/, next) => {
// console.log("beforeEach", to);
// if (to.meta.requiresAuth && !store.getters.isLoggedIn) {
// console.log("Not logged in, redirecting to login page")
// return {
// name: 'login',
// query: {redirect: to.fullPath},
// }
// }
//});
//router.beforeResolve((to, from, next) => {
// next()
//});
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !store.getters.isLoggedIn) {
//console.log("Not logged in, redirecting to login page")
next({
name: 'login',
query: {redirect: to.fullPath},
})
} else {
next()
}
});
router.afterEach((to/*, from*/) => {
if (to.params.event) {
//console.log('update last event', to.params.event);
store.commit('updateLastEvent', to.params.event);