{"version":3,"file":"js/app-c3373795.645d3456.js","mappings":"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","sources":["webpack://vultan/./src/state/modules/user.js","webpack://vultan/./src/router/routes.js","webpack://vultan/./src/router/index.js","webpack://vultan/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://vultan/./src/state/modules/layout.js","webpack://vultan/./src/state/modules/server.js","webpack://vultan/./src/state/modules/ sync ^((","webpack://vultan/./src/App.vue","webpack://vultan/./src/App.vue?7ccd","webpack://vultan/./src/state/modules/index.js","webpack://vultan/./src/state/store.js","webpack://vultan/./src/main.js"],"sourcesContent":["import axios from \"axios\";\nimport router from \"@/router\";\n\nconst state = {\n userInfo: null,\n accessToken: null,\n};\n\nconst getters = {\n getUserInfo: (state) => state.userInfo,\n getAccessToken: (state) => state.accessToken,\n};\n\nconst mutations = {\n SET_USER_INFO: (state, userInfo) => {\n state.userInfo = userInfo;\n },\n SET_ACCESS_TOKEN: (state, accessToken) => {\n state.accessToken = accessToken;\n },\n};\n\nconst actions = {\n async registerUser({ commit }, { username, password, email, first_name, last_name, manager_id = 0 }) {\n try {\n const formatName = (name) =>\n name\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n\n const sanitizeUsername = (username) => username.replace(/'/g, \"''\"); // SQL Injection prevention by escaping single quote\n\n first_name = formatName(first_name);\n last_name = formatName(last_name);\n username = sanitizeUsername(username);\n\n const formData = new FormData();\n formData.append(\"username\", username);\n formData.append(\"password\", password);\n formData.append(\"email\", email);\n formData.append(\"first_name\", first_name);\n formData.append(\"last_name\", last_name);\n formData.append(\"manager_id\", manager_id);\n\n const response = await axios.post(process.env.VUE_APP_API_URL + \"register_user\", formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n });\n commit(\"SET_USER_INFO\", response.data);\n return true;\n } catch (error) {\n console.error(\"Error registering user:\", error);\n commit(\"SET_USER_INFO\", null);\n return false;\n }\n },\n\n async requestSword({ commit }, { username }) {\n try {\n const response = await axios.post(process.env.VUE_APP_API_URL + \"request_sword\", { username });\n commit(\"SET_USER_INFO\", response.data);\n } catch (error) {\n console.error(\"Error requesting sword:\", error);\n commit(\"SET_USER_INFO\", null);\n }\n },\n\n async sword({ commit }, { user_id, secret_word }) {\n try {\n const response = await axios.get(\n `${process.env.VUE_APP_API_URL}sword?user_id=${user_id}&secret_word=${secret_word}`\n );\n commit(\"SET_ACCESS_TOKEN\", response.data.access_token);\n } catch (error) {\n console.error(\"Error with sword:\", error);\n commit(\"SET_ACCESS_TOKEN\", null);\n }\n },\n\n async login({ commit }, { username, password, trust_device }) {\n try {\n const formData = new FormData();\n formData.append(\"username\", username);\n formData.append(\"password\", password);\n formData.append(\"trust_device\", trust_device);\n\n const response = await axios.post(`${process.env.VUE_APP_API_URL}login?trust_device=${trust_device}`, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n });\n commit(\"SET_ACCESS_TOKEN\", response.data.access_token);\n return true;\n } catch (error) {\n console.error(\"Error logging in:\", error);\n commit(\"SET_ACCESS_TOKEN\", null);\n return false;\n }\n },\n\n async logout({ commit }) {\n commit(\"SET_ACCESS_TOKEN\", null);\n commit(\"SET_USER_INFO\", null);\n },\n\n async userInformation({ commit, state }) {\n try {\n const response = await axios.post(process.env.VUE_APP_API_URL + \"user_information\", null, {\n headers: { Authorization: `Bearer ${state.accessToken}` },\n });\n commit(\"SET_USER_INFO\", response.data);\n } catch (error) {\n commit(\"SET_USER_INFO\", null);\n console.error(\"Error retrieving user information:\", error);\n if (error.response.status === 401) {\n commit(\"SET_ACCESS_TOKEN\", null);\n router.push({ name: \"login\" });\n return;\n }\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","export default [\n {\n path: \"/\",\n name: \"home\",\n component: () => import(\"@/views/app/login.vue\"),\n },\n {\n path: \"/delete\",\n name: \"delete\",\n component: () => import(\"@/views/app/deleteaccount.vue\"),\n },\n {\n path: \"/terminos\",\n name: \"terminos\",\n component: () => import(\"@/views/app/terminos.vue\"),\n },\n {\n path: \"/contacto\",\n name: \"contact\",\n component: () => import(\"@/views/app/contact.vue\"),\n },\n {\n path: \"/auth/login\",\n name: \"login\",\n component: () => import(\"@/views/app/login.vue\"),\n },\n {\n path: \"/auth/logout\",\n name: \"logout\",\n component: () => import(\"../views/app/logout.vue\"),\n },\n {\n path: \"/auth/register\",\n name: \"register\",\n component: () => import(\"@/views/app/register.vue\"),\n },\n {\n path: \"/dashboard/main\",\n name: \"dashboard\",\n component: () => import(\"@/views/app/dashboard/main.vue\"),\n },\n {\n path: \"/dashboard/historyfleet\",\n name: \"historyfleet\",\n component: () => import(\"@/views/app/dashboard/historyFleet.vue\"),\n },\n {\n path: \"/dashboard/tracker/:imei\",\n name: \"tracker\",\n component: () => import(\"@/views/app/dashboard/tracker.vue\"),\n },\n {\n path: \"/dashboard/history/:imei\",\n name: \"history\",\n component: () => import(\"@/views/app/dashboard/history.vue\"),\n },\n {\n path: \"/dashboard/profile/\",\n name: \"profile\",\n component: () => import(\"@/views/app/dashboard/profile.vue\"),\n },\n {\n path: \"/dashboard/fleetmap/:id\",\n name: \"fleetmap\",\n component: () => import(\"@/views/app/dashboard/fleetmap.vue\"),\n },\n];\n","// import Vue from \"vue\";\n// import VueRouter from \"vue-router\";\n\nimport { createWebHistory, createRouter } from \"vue-router\";\n\nimport routes from \"./routes\";\n// import VueMeta from \"vue-meta\";\n// import store from \"@/state/store\";\n\n// Vue.use(VueRouter);\n\n// Vue.use(VueMeta, {\n// // The component option name that vue-meta looks for meta info on.\n// keyName: \"page\",\n// });\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n // mode: \"history\",\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { x: 0, y: 0 };\n }\n },\n});\n\n// Before each route evaluates...\n// router.beforeEach((routeTo, routeFrom, next) => {\n// if (process.env.VUE_APP_DEFAULT_AUTH === \"firebase\") {\n// // Check if auth is required on this route\n// // (including nested routes).\n// const authRequired = routeTo.matched.some(\n// (route) => route.meta.authRequired\n// );\n\n// // If auth isn't required for the route, just continue.\n// if (!authRequired) return next();\n\n// // If auth is required and the user is logged in...\n// if (store.getters[\"auth/loggedIn\"]) {\n// // Validate the local user token...\n// return store.dispatch(\"auth/validate\").then((validUser) => {\n// // Then continue if the token still represents a valid user,\n// // otherwise redirect to login.\n// validUser ? next() : redirectToLogin();\n// });\n// }\n\n// // If auth is required and the user is NOT currently logged in,\n// // redirect to login.\n// redirectToLogin();\n\n// // eslint-disable-next-line no-unused-vars\n// // eslint-disable-next-line no-inner-declarations\n// function redirectToLogin() {\n// // Pass the original route to the login component\n// next({ name: \"login\", query: { redirectFrom: routeTo.fullPath } });\n// }\n// } else if (process.env.VUE_APP_DEFAULT_AUTH === \"fakebackend\") {\n// const publicPages = [\"/login\", \"/register\", \"/forgot-password\"];\n// const authpage = !publicPages.includes(routeTo.path);\n// const loggeduser = localStorage.getItem(\"user\");\n\n// if (authpage && !loggeduser) {\n// return next(\"/login\");\n// }\n\n// next();\n// }\n// });\n\n// router.beforeResolve(async (routeTo, routeFrom, next) => {\n// Create a `beforeResolve` hook, which fires whenever\n// `beforeRouteEnter` and `beforeRouteUpdate` would. This\n// allows us to ensure data is fetched even when params change,\n// but the resolved route does not. We put it in `meta` to\n// indicate that it's a hook we created, rather than part of\n// Vue Router (yet?).\n// try {\n// // For each matched route...\n// for (const route of routeTo.matched) {\n// await new Promise((resolve, reject) => {\n// // If a `beforeResolve` hook is defined, call it with\n// // the same arguments as the `beforeEnter` hook.\n// if (route.meta && route.meta.beforeResolve) {\n// route.meta.beforeResolve(routeTo, routeFrom, (...args) => {\n// // If the user chose to redirect...\n// if (args.length) {\n// // If redirecting to the same route we're coming from...\n// // Complete the redirect.\n// next(...args);\n// reject(new Error(\"Redirected\"));\n// } else {\n// resolve();\n// }\n// });\n// } else {\n// // Otherwise, continue resolving the route.\n// resolve();\n// }\n// });\n// }\n// // If a `beforeResolve` hook chose to redirect, just return.\n// } catch (error) {\n// return;\n// }\n\n// // If we reach this point, continue resolving the route.\n// next();\n// });\n\nexport default router;\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","export const state = {\r\n layoutMode: 'light',\r\n layoutScrollable: false,\r\n sidebarColor: 'dark',\r\n layoutType: 'vertical',\r\n layoutWidth: 'fluid',\r\n leftSidebarType: 'default',\r\n topbar: 'light'\r\n}\r\n\r\nexport const mutations = {\r\n CHANGE_LAYOUT(state, layoutType) {\r\n state.layoutType = layoutType;\r\n },\r\n CHANGE_LAYOUT_MODE(state, layoutMode) {\r\n state.layoutMode = layoutMode;\r\n },\r\n CHANGE_LAYOUT_POSITION(state, layoutScrollable) {\r\n state.layoutScrollable = layoutScrollable\r\n },\r\n CHANGE_LAYOUT_WIDTH(state, layoutWidth) {\r\n state.layoutWidth = layoutWidth;\r\n },\r\n CHANGE_LEFT_SIDEBAR_TYPE(state, leftSidebarType) {\r\n state.leftSidebarType = leftSidebarType;\r\n },\r\n CHANGE_LEFT_SIDEBAR_COLOR(state, sidebarColor) {\r\n state.sidebarColor = sidebarColor;\r\n },\r\n CHANGE_TOPBAR(state, topbar) {\r\n state.topbar = topbar;\r\n }\r\n}\r\n\r\nexport const actions = {\r\n changeLayoutType({ commit }, { layoutType }) {\r\n commit('CHANGE_LAYOUT', layoutType);\r\n },\r\n changeLayoutMode({ commit }, { layoutMode }) {\r\n commit('CHANGE_LAYOUT_MODE', layoutMode);\r\n },\r\n changeLayoutPosition({ commit }, { layoutScrollable }) {\r\n commit('CHANGE_LAYOUT_POSITION', layoutScrollable);\r\n },\r\n changeLayoutWidth({ commit }, { layoutWidth }) {\r\n commit('CHANGE_LAYOUT_WIDTH', layoutWidth)\r\n },\r\n changeSidebarColor({ commit }, { sidebarColor }) {\r\n commit('CHANGE_LEFT_SIDEBAR_COLOR', sidebarColor )\r\n },\r\n changeLeftSidebarType({ commit }, { leftSidebarType }) {\r\n commit('CHANGE_LEFT_SIDEBAR_TYPE', leftSidebarType)\r\n },\r\n changeTopbar({ commit }, { topbar }) {\r\n commit('CHANGE_TOPBAR', topbar)\r\n }\r\n}\r\n","import axios from \"axios\";\n\nconst state = {\n status: null,\n};\n\nconst getters = {\n serverStatus: (state) => state.status,\n};\n\nconst mutations = {\n SET_SERVER_STATUS: (state, status) => {\n state.status = status;\n },\n};\n\nconst actions = {\n async fetchServerStatus({ commit }) {\n try {\n const response = await axios.get(\n process.env.VUE_APP_API_URL + \"server_status/\"\n );\n commit(\"SET_SERVER_STATUS\", response.data.status);\n } catch (error) {\n console.error(\"Error fetching server status:\", error);\n commit(\"SET_SERVER_STATUS\", null);\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","var map = {\n\t\"./layout.js\": 37581,\n\t\"./server.js\": 43612,\n\t\"./user.js\": 16596\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 70634;","\n\n\n","import { render } from \"./App.vue?vue&type=template&id=ae25bdba\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Register each file as a corresponding Vuex module. Module nesting\n// will mirror [sub-]directory hierarchy and modules are namespaced\n// as the camelCase equivalent of their file name.\n\nimport camelCase from \"lodash/camelCase\";\nimport server from \"./server\";\nimport user from \"./user\";\n\nconst modulesCache = {};\nconst storeData = { modules: {} };\n\n(function updateModules() {\n // Allow us to dynamically require all Vuex module files.\n // https://webpack.js.org/guides/dependency-management/#require-context\n const requireModule = require.context(\n // Search for files in the current directory.\n \".\",\n // Search for files in subdirectories.\n true,\n // Include any .js files that are not this file or a unit test.\n /^((?!index|\\.unit\\.).)*\\.js$/\n );\n\n // For every Vuex module...\n requireModule.keys().forEach((fileName) => {\n const moduleDefinition = requireModule(fileName);\n\n // Skip the module during hot reload if it refers to the\n // same module definition as the one we have cached.\n if (modulesCache[fileName] === moduleDefinition) return;\n\n // Update the module cache, for efficient hot reloading.\n modulesCache[fileName] = moduleDefinition;\n\n // Get the module path as an array.\n const modulePath = fileName\n // Remove the \"./\" from the beginning.\n .replace(/^\\.\\//, \"\")\n // Remove the file extension from the end.\n .replace(/\\.\\w+$/, \"\")\n // Split nested modules into an array path.\n .split(/\\//)\n // camelCase all module namespaces and names.\n .map(camelCase);\n\n // Get the modules object for the current path.\n const { modules } = getNamespace(storeData, modulePath);\n\n // Add the module to our modules object.\n modules[modulePath.pop()] = {\n // Modules are namespaced by default.\n namespaced: true,\n ...moduleDefinition,\n };\n });\n\n // If the environment supports hot reloading...\n if (module.hot) {\n // Whenever any Vuex module is updated...\n module.hot.accept(requireModule.id, () => {\n // Update `storeData.modules` with the latest definitions.\n updateModules();\n // Trigger a hot update in the store.\n require(\"../store\").default.hotUpdate({ modules: storeData.modules });\n });\n }\n})();\n\n// Recursively get the namespace of a Vuex module, even if nested.\nfunction getNamespace(subtree, path) {\n if (path.length === 1) return subtree;\n\n const namespace = path.shift();\n subtree.modules[namespace] = {\n modules: {},\n namespaced: true,\n ...subtree.modules[namespace],\n };\n return getNamespace(subtree.modules[namespace], path);\n}\nstoreData.modules.server = server;\nstoreData.modules.user = user;\n\nexport default storeData.modules;\n","import { createStore } from \"vuex\";\r\nimport VuexPersist from \"vuex-persist\";\r\nimport modules from \"@/state/modules\";\r\nimport server from \"@/state/modules/server\";\r\nimport user from \"@/state/modules/user\";\r\nimport CryptoJS from \"crypto-js\";\r\n\r\nconst vuexPersist = new VuexPersist({\r\n key: \"data\",\r\n storage: window.localStorage,\r\n modules: [\"user\"],\r\n // Encrypt data before saving\r\n saveState: (key, state, storage) => {\r\n const data = JSON.stringify(state);\r\n const cipherText = CryptoJS.AES.encrypt(\r\n data,\r\n process.env.VUE_APP_VUEX_PERSIST_KEY\r\n ).toString();\r\n storage.setItem(key, cipherText);\r\n },\r\n // Decrypt data after loading\r\n restoreState: (key, storage) => {\r\n try {\r\n const cipherText = storage.getItem(key);\r\n if (!cipherText) {\r\n return {};\r\n }\r\n const bytes = CryptoJS.AES.decrypt(\r\n cipherText,\r\n process.env.VUE_APP_VUEX_PERSIST_KEY\r\n );\r\n const data = bytes.toString(CryptoJS.enc.Utf8);\r\n return JSON.parse(data);\r\n } catch (error) {\r\n console.error(\"Error restoring Vuex store:\", error);\r\n return {};\r\n }\r\n },\r\n});\r\n\r\nconst store = createStore({\r\n modules: {\r\n ...modules,\r\n server,\r\n user,\r\n },\r\n plugins: [vuexPersist.plugin],\r\n strict: process.env.NODE_ENV !== \"production\",\r\n});\r\n\r\nexport default store;\r\n","// Import necessary modules from Vue ecosystem\nimport { createApp } from 'vue'\nimport { createI18n } from 'vue-i18n'\nimport App from './App.vue'\n\n// Import necessary plugins\nimport * as EvaIcons from '@stefandesu/eva-icons-vue'\nimport ActionCableVue from 'actioncable-vue'\n\nimport { createBootstrap } from 'bootstrap-vue-next'\nimport 'bootstrap-vue-next/dist/bootstrap-vue-next.css'\nimport 'bootstrap/dist/css/bootstrap.css'\n\nimport vClickOutside from 'click-outside-vue3'\nimport Maska from 'maska'\nimport VueApexCharts from 'vue3-apexcharts'\nimport router from './router'\n\n// Import CSS and SCSS files\nimport '@vueform/slider/themes/default.css'\nimport 'bootstrap/dist/css/bootstrap.css'\n\nimport 'sweetalert2/dist/sweetalert2.min.css'\nimport './assets/scss/app.scss'\nimport './assets/scss/custom/plugins/mermaid.min.css'\n\n// Extra UI Elements\nimport { LoadingPlugin } from 'vue-loading-overlay'\nimport 'vue-loading-overlay/dist/css/index.css'\n\n// Import Vuex store\nimport store from './state/store'\n\n// Import Moment and Localize to Mexico\nimport moment from 'moment-timezone'\nimport 'moment/locale/es'\nmoment.locale('es')\n// Set Mexico Time Zone\nmoment.tz.setDefault('America/Mexico_City')\n\n// Define WebSocket options for ActionCableVue\nconst websocketOptions = {\n debug: true,\n debugLevel: 'error',\n connectionUrl: 'http://localhost:8080/',\n connectImmediately: false,\n}\n\n// Import locale messages for Spanish\nimport messages from './assets/locale/es.json'\n\n// Setup internationalization (i18n) with Spanish as the default and fallback locale\nconst i18n = createI18n({\n legacy: true,\n locale: 'es',\n fallbackLocale: 'es',\n messages: {\n es: messages,\n },\n})\n\n// Create Vue app and use necessary plugins, router, Vuex store and i18n\ncreateApp(App) // Register BootstrapVue tooltip directive\n .use(LoadingPlugin) // Use LoadingPlugin\n .use(store) // Use Vuex store\n .use(i18n) // Use internationalization\n .use(EvaIcons) // Use Eva Icons\n .use(router) // Use Vue Router\n .use(createBootstrap()) // Use BootstrapVue\n .use(VueApexCharts) // Use Apex Charts\n .use(vClickOutside) // Use vClickOutside\n .use(Maska) // Use Maska for input masking\n .use(ActionCableVue, websocketOptions) // Use ActionCableVue for WebSocket communication\n .mount('#app') // Mount the app to the DOM\n"],"names":["state","userInfo","accessToken","getters","getUserInfo","getAccessToken","mutations","SET_USER_INFO","SET_ACCESS_TOKEN","actions","registerUser","commit","username","password","email","first_name","last_name","manager_id","formatName","name","split","map","word","charAt","toUpperCase","slice","toLowerCase","join","sanitizeUsername","replace","formData","FormData","append","response","axios","process","headers","data","error","console","requestSword","sword","user_id","secret_word","access_token","login","trust_device","logout","userInformation","Authorization","status","router","push","namespaced","path","component","createRouter","history","createWebHistory","routes","scrollBehavior","to","from","savedPosition","x","y","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","layoutMode","layoutScrollable","sidebarColor","layoutType","layoutWidth","leftSidebarType","topbar","CHANGE_LAYOUT","CHANGE_LAYOUT_MODE","CHANGE_LAYOUT_POSITION","CHANGE_LAYOUT_WIDTH","CHANGE_LEFT_SIDEBAR_TYPE","CHANGE_LEFT_SIDEBAR_COLOR","CHANGE_TOPBAR","changeLayoutType","changeLayoutMode","changeLayoutPosition","changeLayoutWidth","changeSidebarColor","changeLeftSidebarType","changeTopbar","serverStatus","SET_SERVER_STATUS","fetchServerStatus","_createElementBlock","_hoisted_1","_createVNode","_component_router_view","page","titleTemplate","title","this","$store","appConfig","__exports__","render","modulesCache","storeData","modules","getNamespace","subtree","length","namespace","shift","requireModule","require","forEach","fileName","moduleDefinition","modulePath","camelCase","pop","server","user","vuexPersist","VuexPersist","key","storage","window","localStorage","saveState","JSON","stringify","cipherText","CryptoJS","encrypt","toString","setItem","restoreState","getItem","bytes","decrypt","Utf8","parse","store","createStore","plugins","plugin","strict","moment","setDefault","websocketOptions","debug","debugLevel","connectionUrl","connectImmediately","i18n","createI18n","legacy","locale","fallbackLocale","messages","es","createApp","App","use","LoadingPlugin","EvaIcons","createBootstrap","VueApexCharts","vClickOutside","Maska","ActionCableVue","mount"],"sourceRoot":""}