diff --git a/public/0.js b/public/0.js index d903661c..39c516a5 100644 --- a/public/0.js +++ b/public/0.js @@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]); diff --git a/public/1.js b/public/1.js index ce9ff146..f9429ac3 100644 --- a/public/1.js +++ b/public/1.js @@ -137,7 +137,7 @@ __webpack_require__.r(__webpack_exports__); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding : 8px 22px;\n}\r\n\r\n", ""]); +exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding : 8px 22px;\n}\n\n", ""]); diff --git a/public/2.js b/public/2.js index 6accb5ec..632dcde4 100644 --- a/public/2.js +++ b/public/2.js @@ -423,7 +423,7 @@ __webpack_require__.r(__webpack_exports__); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]); +exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]); diff --git a/public/8.js b/public/8.js index 854bf615..75d2bb03 100644 --- a/public/8.js +++ b/public/8.js @@ -250,9 +250,20 @@ var render = function() { [_vm._v("fas fa-plus")] ), _vm._v(" "), - _c("span", { staticClass: "black--text" }, [ - _vm._v("Register") - ]) + _c( + "span", + [ + _c( + "router-link", + { + staticClass: "black--text", + attrs: { to: "register" } + }, + [_vm._v("Register")] + ) + ], + 1 + ) ], 1 ) diff --git a/public/vue/js/app.js b/public/vue/js/app.js index 5e3e989e..c81ae9aa 100644 --- a/public/vue/js/app.js +++ b/public/vue/js/app.js @@ -2178,6 +2178,7 @@ module.exports = { "use strict"; __webpack_require__.r(__webpack_exports__); +/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); // // // @@ -2190,7 +2191,14 @@ __webpack_require__.r(__webpack_exports__); // // // -/* harmony default export */ __webpack_exports__["default"] = ({}); + +/* harmony default export */ __webpack_exports__["default"] = ({ + data: function data() { + return { + loggedIn: !!_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken() + }; + } +}); /***/ }), @@ -2556,12 +2564,8 @@ __webpack_require__.r(__webpack_exports__); data: function data() { return { links: [{ - name: 'Home', - Link: '/dashboard' - }, // { name: 'Creative Tim', Link: 'https://www.creative-tim.com' }, - { - name: 'About Us', - Link: 'https://creative-tim.com/presentation' + name: 'Powered By', + Link: 'https://www.willamall.com' }] }; } @@ -13467,9 +13471,9 @@ var render = function() { return _c( "v-app", [ - _c("core-toolbar"), + _vm.loggedIn ? _c("core-toolbar") : _vm._e(), _vm._v(" "), - _c("core-drawer"), + _vm.loggedIn ? _c("core-drawer") : _vm._e(), _vm._v(" "), _c("core-view") ], @@ -59027,7 +59031,7 @@ __webpack_require__.r(__webpack_exports__); Object(vuex_router_sync__WEBPACK_IMPORTED_MODULE_6__["sync"])(_store__WEBPACK_IMPORTED_MODULE_10__["default"], _router__WEBPACK_IMPORTED_MODULE_9__["default"]); vue__WEBPACK_IMPORTED_MODULE_1___default.a.config.productionTip = false; // Set the base URL of the API -_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api/"); // If token exists set header +_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api"); // If token exists set header if (_services__WEBPACK_IMPORTED_MODULE_11__["TokenService"].getToken()) { _services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].setHeader(); @@ -59194,7 +59198,7 @@ function route(options) { var path = options.path; var view = options.view; var name = options.name; - var meta = path.meta ? path.meta : ''; + var meta = options.meta ? options.meta : ''; return { name: name || view, path: path, @@ -59240,31 +59244,36 @@ router.beforeEach(function (to, from, next) { var onlyWhenLoggedOut = to.matched.some(function (record) { return record.meta.onlyWhenLoggedOut; }); - var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken(); // if (!isPublic && !loggedIn) { - // return next({ - // path:'/login', - // query: {redirect: to.fullPath} // Store the full path to redirect the user to after login - // }); - // } - // Do not allow user to visit login page or register page if they are logged in - // if (loggedIn && onlyWhenLoggedOut) { - // return next('/') - // } + var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_4__["TokenService"].getToken(); + + if (!isPublic && !loggedIn) { + return next({ + path: '/login', + query: { + redirect: to.fullPath // Store the full path to redirect the user to after login + + } + }); + } // Do not allow user to visit login page or register page if they are logged in + + + if (loggedIn && onlyWhenLoggedOut) { + return next('/'); + } next(); }); // Bootstrap Analytics // Set in .env // https://github.com/MatteoGabriele/vue-analytics - -if (Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS) { - vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_analytics__WEBPACK_IMPORTED_MODULE_1___default.a, { - id: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).GOOGLE_ANALYTICS, - router: router, - autoTracking: { - page: "development" !== 'development' - } - }); -} +// if (process.env.GOOGLE_ANALYTICS) { +// Vue.use(VueAnalytics, { +// id: process.env.GOOGLE_ANALYTICS, +// router, +// autoTracking: { +// page: process.env.NODE_ENV !== 'development' +// } +// }) +// } /* harmony default export */ __webpack_exports__["default"] = (router); @@ -59320,7 +59329,16 @@ __webpack_require__.r(__webpack_exports__); }, { path: '/register', name: 'Register', - view: 'Register' + view: 'Register', + meta: { + public: true, + // Allow access to even if not logged in + onlyWhenLoggedOut: true + } +}, { + path: '/Adminregister', + name: 'AdminRegister', + view: 'AdminRegister' }, { path: '/submit-test-result', name: 'Submit Test Result', @@ -59495,7 +59513,8 @@ var TokenService = { getToken: function getToken() { return localStorage.getItem(TOKEN_KEY); }, - saveToken: function saveToken(accessToken) { + saveToken: function saveToken() { + var accessToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; localStorage.setItem(TOKEN_KEY, accessToken); }, removeToken: function removeToken() { @@ -59504,7 +59523,8 @@ var TokenService = { getRefreshToken: function getRefreshToken() { return localStorage.getItem(REFRESH_TOKEN_KEY); }, - saveRefreshToken: function saveRefreshToken(refreshToken) { + saveRefreshToken: function saveRefreshToken() { + var refreshToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken); }, removeRefreshToken: function removeRefreshToken() { @@ -59606,8 +59626,8 @@ var UserService = { grant_type: 'password' }, auth: { - username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, - password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET + username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, + password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET } }; _context.prev = 1; @@ -59665,8 +59685,8 @@ var UserService = { refresh_token: refreshToken }, auth: { - username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, - password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET + username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID, + password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET } }; _context2.prev = 2; @@ -60297,7 +60317,7 @@ module.exports = webpackAsyncContext; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js"); +module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js"); /***/ }) diff --git a/resources/js/vue/App.vue b/resources/js/vue/App.vue index c1717d70..abcd957d 100644 --- a/resources/js/vue/App.vue +++ b/resources/js/vue/App.vue @@ -2,16 +2,23 @@ - + - + diff --git a/resources/js/vue/components/core/Footer.vue b/resources/js/vue/components/core/Footer.vue index 6c03766b..bdc62f18 100644 --- a/resources/js/vue/components/core/Footer.vue +++ b/resources/js/vue/components/core/Footer.vue @@ -33,9 +33,10 @@ export default { data: () => ({ links: [ - { name: 'Home', Link: '/dashboard' }, + { name: 'Powered By', Link: 'https://www.willamall.com' }, + // { name: 'Home', Link: '/dashboard' }, // { name: 'Creative Tim', Link: 'https://www.creative-tim.com' }, - { name: 'About Us', Link: 'https://creative-tim.com/presentation' }, + // { name: 'About Us', Link: 'https://creative-tim.com/presentation' }, // { name: 'Blog', Link: 'https://blog.creative-tim.com' } ] }) diff --git a/resources/js/vue/router/index.js b/resources/js/vue/router/index.js index a2ee9ba2..228bba29 100644 --- a/resources/js/vue/router/index.js +++ b/resources/js/vue/router/index.js @@ -20,7 +20,7 @@ function route (options) { let path = options.path; let view = options.view; let name = options.name; - let meta = (path.meta) ? path.meta : ''; + let meta = (options.meta) ? options.meta : ''; return { name: name || view, path, @@ -56,17 +56,17 @@ router.beforeEach((to, from, next) => { const isPublic = to.matched.some(record => record.meta.public); const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut); const loggedIn = !!TokenService.getToken(); - // if (!isPublic && !loggedIn) { - // return next({ - // path:'/login', - // query: {redirect: to.fullPath} // Store the full path to redirect the user to after login - // }); - // } + if (!isPublic && !loggedIn) { + return next({ + path:'/login', + query: {redirect: to.fullPath} // Store the full path to redirect the user to after login + }); + } // Do not allow user to visit login page or register page if they are logged in - // if (loggedIn && onlyWhenLoggedOut) { - // return next('/') - // } + if (loggedIn && onlyWhenLoggedOut) { + return next('/') + } next(); }); @@ -74,14 +74,14 @@ router.beforeEach((to, from, next) => { // Bootstrap Analytics // Set in .env // https://github.com/MatteoGabriele/vue-analytics -if (process.env.GOOGLE_ANALYTICS) { - Vue.use(VueAnalytics, { - id: process.env.GOOGLE_ANALYTICS, - router, - autoTracking: { - page: process.env.NODE_ENV !== 'development' - } - }) -} +// if (process.env.GOOGLE_ANALYTICS) { +// Vue.use(VueAnalytics, { +// id: process.env.GOOGLE_ANALYTICS, +// router, +// autoTracking: { +// page: process.env.NODE_ENV !== 'development' +// } +// }) +// } export default router diff --git a/resources/js/vue/router/paths.js b/resources/js/vue/router/paths.js index 6c51d81b..9a082b82 100644 --- a/resources/js/vue/router/paths.js +++ b/resources/js/vue/router/paths.js @@ -46,7 +46,16 @@ export default [ { path: '/register', name: 'Register', - view: 'Register' + view: 'Register', + meta: { + public: true, // Allow access to even if not logged in + onlyWhenLoggedOut: true + } + }, + { + path: '/Adminregister', + name: 'AdminRegister', + view: 'AdminRegister' }, { path: '/submit-test-result', diff --git a/resources/js/vue/services/auth/storage.service.js b/resources/js/vue/services/auth/storage.service.js index d7383a29..2e039bff 100644 --- a/resources/js/vue/services/auth/storage.service.js +++ b/resources/js/vue/services/auth/storage.service.js @@ -12,7 +12,7 @@ const TokenService = { return localStorage.getItem(TOKEN_KEY) }, - saveToken(accessToken) { + saveToken(accessToken = null) { localStorage.setItem(TOKEN_KEY, accessToken) }, @@ -24,7 +24,7 @@ const TokenService = { return localStorage.getItem(REFRESH_TOKEN_KEY) }, - saveRefreshToken(refreshToken) { + saveRefreshToken(refreshToken = null) { localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken) }, diff --git a/resources/js/vue/views/Login.vue b/resources/js/vue/views/Login.vue index f463b38e..2f9d6ab6 100644 --- a/resources/js/vue/views/Login.vue +++ b/resources/js/vue/views/Login.vue @@ -38,7 +38,7 @@ fas fa-plus - Register + Register