Re-did list components

This commit is contained in:
2022-01-10 00:48:15 +01:00
parent 97c23fa895
commit 6615827b29
8 changed files with 278 additions and 180 deletions

View File

@@ -1,61 +1,58 @@
import Vue from 'vue'
import VueRouter from 'vue-router';
import store from '@/store'
Vue.use(VueRouter)
import Vue from "vue";
import VueRouter from "vue-router";
import store from "@/store";
Vue.use(VueRouter);
let routes = [
{
name: 'home',
path: '/',
component: (resolve) => require(['./components/Home.vue'], resolve)
name: "home",
path: "/",
component: resolve => require(["./components/Home.vue"], resolve)
},
{
name: 'activity',
path: '/activity',
name: "activity",
path: "/activity",
meta: { requiresAuth: true },
component: (resolve) => require(['./components/ActivityPage.vue'], resolve)
component: resolve => require(["./components/ActivityPage.vue"], resolve)
},
{
name: 'profile',
path: '/profile',
name: "profile",
path: "/profile",
meta: { requiresAuth: true },
component: (resolve) => require(['./components/Profile.vue'], resolve)
component: resolve => require(["./components/Profile.vue"], resolve)
},
{
name: 'list',
path: '/list/:name',
component: (resolve) => require(['./components/ListPage.vue'], resolve)
name: "list",
path: "/list/:name",
component: resolve => require(["./components/ListPage.vue"], resolve)
},
{
name: 'request',
path: '/request/all',
components: {
'request-router-view': require('./components/ListPage.vue')
}
name: "request",
path: "/requests",
component: resolve => require(["./components/RequestPage.vue"], resolve)
},
{
name: 'search',
path: '/search',
component: (resolve) => require(['./components/Search.vue'], resolve)
name: "search",
path: "/search",
component: resolve => require(["./components/Search.vue"], resolve)
},
{
name: 'register',
path: '/register',
component: (resolve) => require(['./components/Register.vue'], resolve)
name: "register",
path: "/register",
component: resolve => require(["./components/Register.vue"], resolve)
},
{
name: 'settings',
path: '/settings',
name: "settings",
path: "/settings",
meta: { requiresAuth: true },
component: (resolve) => require(['./components/Settings.vue'], resolve)
component: resolve => require(["./components/Settings.vue"], resolve)
},
{
name: 'signin',
path: '/signin',
alias: '/login',
component: (resolve) => require(['./components/Signin.vue'], resolve)
name: "signin",
path: "/signin",
alias: "/login",
component: resolve => require(["./components/Signin.vue"], resolve)
},
// {
// name: 'user-requests',
@@ -65,50 +62,52 @@ let routes = [
// }
// },
{
name: '404',
path: '/404',
component: (resolve) => require(['./components/404.vue'], resolve)
name: "404",
path: "/404",
component: resolve => require(["./components/404.vue"], resolve)
},
{
name: 'logout',
path: '/logout',
name: "logout",
path: "/logout",
component: {
template: '<div></div>',
template: "<div></div>",
created() {
localStorage.clear();
this.$router.push({ name: 'home' });
this.$router.push({ name: "home" });
}
}
},
{
path: '*',
redirect: '/'
path: "*",
redirect: "/"
},
{
path: '/request',
redirect: '/'
path: "/request",
redirect: "/"
}
];
const router = new VueRouter({
mode: 'history',
base: '/',
const router = new VueRouter({
mode: "history",
base: "/",
routes,
linkActiveClass: 'is-active'
linkActiveClass: "is-active"
});
router.beforeEach((to, from, next) => {
store.dispatch('documentTitle/updateTitle', to.name)
store.dispatch("documentTitle/updateTitle", to.name);
// Toggle mobile nav
if(document.querySelector('.nav__hamburger--active')){
document.querySelector('.nav__hamburger').classList.remove('nav__hamburger--active');
document.querySelector('.nav__list').classList.remove('nav__list--active');
if (document.querySelector(".nav__hamburger--active")) {
document
.querySelector(".nav__hamburger")
.classList.remove("nav__hamburger--active");
document.querySelector(".nav__list").classList.remove("nav__list--active");
}
if (to.matched.some(record => record.meta.requiresAuth)) {
if (localStorage.getItem('token') == null) {
next({ path: '/signin' });
if (localStorage.getItem("token") == null) {
next({ path: "/signin" });
}
}