@@ -58858,7 +58858,41 @@ var toastrConfigs = {
58858
58858
vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(cxlt_vue2_toastr__WEBPACK_IMPORTED_MODULE_4___default.a, toastrConfigs);
58859
58859
vue__WEBPACK_IMPORTED_MODULE_0___default.a.component(vform__WEBPACK_IMPORTED_MODULE_2__["HasError"].name, vform__WEBPACK_IMPORTED_MODULE_2__["HasError"]);
58860
58860
vue__WEBPACK_IMPORTED_MODULE_0___default.a.component(vform__WEBPACK_IMPORTED_MODULE_2__["AlertError"].name, vform__WEBPACK_IMPORTED_MODULE_2__["AlertError"]);
58861
- vue__WEBPACK_IMPORTED_MODULE_0___default.a.component('app-header', __webpack_require__(/*! ./components/Header.vue */ "./resources/js/components/Header.vue")["default"]); // check authentication
58861
+ vue__WEBPACK_IMPORTED_MODULE_0___default.a.component('app-header', __webpack_require__(/*! ./components/Header.vue */ "./resources/js/components/Header.vue")["default"]); // Vue Router Nagivation Guard
58862
+
58863
+ function isLoggedIn() {
58864
+ return _store_index__WEBPACK_IMPORTED_MODULE_3__["default"].getters.getAuthenticated;
58865
+ }
58866
+
58867
+ _router_index__WEBPACK_IMPORTED_MODULE_1__["default"].beforeEach(function (to, from, next) {
58868
+ if (to.matched.some(function (record) {
58869
+ return record.meta.requiresAuth;
58870
+ })) {
58871
+ // this route requires auth, check if logged in
58872
+ // if not, redirect to login page.
58873
+ if (!isLoggedIn()) {
58874
+ next({
58875
+ name: 'login'
58876
+ });
58877
+ } else {
58878
+ next();
58879
+ }
58880
+ } else if (to.matched.some(function (record) {
58881
+ return record.meta.requiresVisitor;
58882
+ })) {
58883
+ // this route requires auth, check if logged in
58884
+ // if not, redirect to login page.
58885
+ if (isLoggedIn()) {
58886
+ next({
58887
+ name: 'dashboard'
58888
+ });
58889
+ } else {
58890
+ next();
58891
+ }
58892
+ } else {
58893
+ next(); // make sure to always call next()!
58894
+ }
58895
+ }); // check authentication
58862
58896
58863
58897
var auth = localStorage.getItem("auth");
58864
58898
@@ -59661,11 +59695,17 @@ var routes = new vue_router__WEBPACK_IMPORTED_MODULE_1__["default"]({
59661
59695
}, {
59662
59696
path: '/auth/login',
59663
59697
component: _pages_auth_Login_vue__WEBPACK_IMPORTED_MODULE_10__["default"],
59664
- name: 'login'
59698
+ name: 'login',
59699
+ meta: {
59700
+ requiresVisitor: true
59701
+ }
59665
59702
}, {
59666
59703
path: '/dashboard',
59667
59704
component: _pages_dashboard_index_vue__WEBPACK_IMPORTED_MODULE_9__["default"],
59668
- name: 'dashboard'
59705
+ name: 'dashboard',
59706
+ meta: {
59707
+ requiresAuth: true
59708
+ }
59669
59709
}]
59670
59710
});
59671
59711
/* harmony default export */ __webpack_exports__["default"] = (routes);
0 commit comments