Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // import something here import firebase from "firebase/app"; import "firebase/auth"; import { Loading } from "quasar"; // "async" is optional export default async ({ router, store /* app, router, Vue, ... */ }) => { router.beforeEach((to, from, next) => { let requiresAuth = to.matched.some(record => record.meta.requiresAuth); // console.log(to.path) requiresAuth = to.path != "/" && to.path != "/not-found" && to.path != "/sign-in"; // Loading.show(); // something to do firebase.auth().onAuthStateChanged(user => { // Loading.hide(); if (user) { // Signed in. Let Vuex know. // console.log("signin in from session"); store.dispatch("auth/sessionLogin", user); // new Vue(app) } else { // console.log("signed out"); // console.log("should reset user here"); // Signed out. Let Vuex know. store.dispatch("auth/resetUser"); } if (requiresAuth) { if (!store.getters["auth/user"]) next(`/sign-in?from=${to.fullPath}`); else next(); } else next(); }); }); }; |