/******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ // add entry modules from loaded chunk to deferred list /******/ deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); /******/ }; /******/ function checkDeferredModules() { /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; /******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; /******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } /******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } /******/ } /******/ /******/ return result; /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded CSS chunks /******/ var installedCssChunks = { /******/ "app": 0 /******/ } /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "app": 0 /******/ }; /******/ /******/ var deferredModules = []; /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { /******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + "." + {"chunk-2d0aab59":"16e8b50a","chunk-2d0aade0":"1c370e8a","chunk-2d0ab44d":"ac518847","chunk-2d0aba0b":"0bebe2d2","chunk-2d0cb6fe":"5aa8e1bc","chunk-2d20f397":"1e7222c8","chunk-2d2261b7":"e63dce6e","chunk-2ef51212":"78c09220","chunk-3c09abfe":"ffe96524","chunk-53db79e2":"97a3ef79","chunk-66e22a8e":"dbcce843","chunk-8e18880c":"b44df00a","chunk-93197ff0":"14451b8c","chunk-933f493c":"4546b870"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ var promises = []; /******/ /******/ /******/ // mini-css-extract-plugin CSS loading /******/ var cssChunks = {"chunk-8e18880c":1}; /******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]); /******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) { /******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) { /******/ var href = "css/" + ({}[chunkId]||chunkId) + "." + {"chunk-2d0aab59":"31d6cfe0","chunk-2d0aade0":"31d6cfe0","chunk-2d0ab44d":"31d6cfe0","chunk-2d0aba0b":"31d6cfe0","chunk-2d0cb6fe":"31d6cfe0","chunk-2d20f397":"31d6cfe0","chunk-2d2261b7":"31d6cfe0","chunk-2ef51212":"31d6cfe0","chunk-3c09abfe":"31d6cfe0","chunk-53db79e2":"31d6cfe0","chunk-66e22a8e":"31d6cfe0","chunk-8e18880c":"a758affd","chunk-93197ff0":"31d6cfe0","chunk-933f493c":"31d6cfe0"}[chunkId] + ".css"; /******/ var fullhref = __webpack_require__.p + href; /******/ var existingLinkTags = document.getElementsByTagName("link"); /******/ for(var i = 0; i < existingLinkTags.length; i++) { /******/ var tag = existingLinkTags[i]; /******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href"); /******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve(); /******/ } /******/ var existingStyleTags = document.getElementsByTagName("style"); /******/ for(var i = 0; i < existingStyleTags.length; i++) { /******/ var tag = existingStyleTags[i]; /******/ var dataHref = tag.getAttribute("data-href"); /******/ if(dataHref === href || dataHref === fullhref) return resolve(); /******/ } /******/ var linkTag = document.createElement("link"); /******/ linkTag.rel = "stylesheet"; /******/ linkTag.type = "text/css"; /******/ linkTag.onload = resolve; /******/ linkTag.onerror = function(event) { /******/ var request = event && event.target && event.target.src || fullhref; /******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; /******/ err.request = request; /******/ delete installedCssChunks[chunkId] /******/ linkTag.parentNode.removeChild(linkTag) /******/ reject(err); /******/ }; /******/ linkTag.href = fullhref; /******/ /******/ var head = document.getElementsByTagName("head")[0]; /******/ head.appendChild(linkTag); /******/ }).then(function() { /******/ installedCssChunks[chunkId] = 0; /******/ })); /******/ } /******/ /******/ // JSONP chunk loading for javascript /******/ /******/ var installedChunkData = installedChunks[chunkId]; /******/ if(installedChunkData !== 0) { // 0 means "already installed". /******/ /******/ // a Promise means "currently loading". /******/ if(installedChunkData) { /******/ promises.push(installedChunkData[2]); /******/ } else { /******/ // setup Promise in chunk cache /******/ var promise = new Promise(function(resolve, reject) { /******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; /******/ }); /******/ promises.push(installedChunkData[2] = promise); /******/ /******/ // start chunk loading /******/ var script = document.createElement('script'); /******/ var onScriptComplete; /******/ /******/ script.charset = 'utf-8'; /******/ script.timeout = 120; /******/ if (__webpack_require__.nc) { /******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ } /******/ script.src = jsonpScriptSrc(chunkId); /******/ /******/ // create error before stack unwound to get useful stacktrace later /******/ var error = new Error(); /******/ onScriptComplete = function (event) { /******/ // avoid mem leaks in IE. /******/ script.onerror = script.onload = null; /******/ clearTimeout(timeout); /******/ var chunk = installedChunks[chunkId]; /******/ if(chunk !== 0) { /******/ if(chunk) { /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); /******/ var realSrc = event && event.target && event.target.src; /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; /******/ error.name = 'ChunkLoadError'; /******/ error.type = errorType; /******/ error.request = realSrc; /******/ chunk[1](error); /******/ } /******/ installedChunks[chunkId] = undefined; /******/ } /******/ }; /******/ var timeout = setTimeout(function(){ /******/ onScriptComplete({ type: 'timeout', target: script }); /******/ }, 120000); /******/ script.onerror = script.onload = onScriptComplete; /******/ document.head.appendChild(script); /******/ } /******/ } /******/ return Promise.all(promises); /******/ }; /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/"; /******/ /******/ // on error function for async loading /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; /******/ /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // add entry module to deferred list /******/ deferredModules.push([1,"chunk-vendors"]); /******/ // run deferred modules when ready /******/ return checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports) { /* (ignored) */ /***/ }), /***/ 1: /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__("56d7"); /***/ }), /***/ "4360": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js var vue_runtime_esm = __webpack_require__("2b0e"); // EXTERNAL MODULE: ./node_modules/vuex/dist/vuex.esm.js var vuex_esm = __webpack_require__("2f62"); // EXTERNAL MODULE: ./node_modules/vuex-persist/dist/esm/index.js var esm = __webpack_require__("bfa9"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js var es_object_to_string = __webpack_require__("d3b7"); // EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js var runtime = __webpack_require__("96cf"); // EXTERNAL MODULE: ./node_modules/@aws-amplify/auth/lib-esm/index.js + 52 modules var lib_esm = __webpack_require__("00ef"); // CONCATENATED MODULE: ./src/store/modules/auth.js /* eslint-disable camelcase */ var auth_state = { user: null, isAuthenticated: false, authenticationStatus: null, jwtToken: null }; var getters = { authenticatedUser: function authenticatedUser(state) { return state.user; }, profile: function profile(state) { return { username: state.user.username, email: state.user.attributes ? state.user.attributes.email : '', firstName: state.user.attributes ? state.user.attributes.given_name : '', lastName: state.user.attributes ? state.user.attributes.family_name : '' }; }, isAuthenticated: function isAuthenticated(state) { return state.isAuthenticated; }, authenticationStatus: function authenticationStatus(state) { return state.authenticationStatus ? state.authenticationStatus : { variant: 'secondary' }; }, hasAuthenticationStatus: function hasAuthenticationStatus(state) { return state.authenticationStatus !== null; }, jwtToken: function jwtToken(state) { return state.jwtToken; } }; var mutations = { setAuthenticationSuccess: function setAuthenticationSuccess(state, msg) { state.authenticationStatus = { state: 'success', message: msg, variant: 'success' }; }, setAuthenticationError: function setAuthenticationError(state, err) { state.authenticationStatus = { state: 'failed', message: err.message, variant: 'danger' }; }, clearAuthenticationStatus: function clearAuthenticationStatus(state) { state.authenticationStatus = null; }, setUserAuthenticated: function setUserAuthenticated(state, user) { state.user = user; state.isAuthenticated = true; }, clearAuthentication: function clearAuthentication(state) { state.user = null; state.userId = null; state.isAuthenticated = null; }, setJwtToken: function setJwtToken(state, token) { state.jwtToken = token; } }; var actions = { clearAuthenticationStatus: function clearAuthenticationStatus(context) { context.commit('clearAuthenticationStatus', null); }, signIn: function signIn(context, params) { var user, jwtToken; return regeneratorRuntime.async(function signIn$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: context.commit('clearAuthenticationStatus', null); _context.prev = 1; _context.next = 4; return regeneratorRuntime.awrap(lib_esm["a" /* default */].signIn(params.username, params.password)); case 4: user = _context.sent; context.commit('setUserAuthenticated', user); // TODO: Should force user to update their password if (!(user.challengeName === 'NEW_PASSWORD_REQUIRED')) { _context.next = 9; break; } _context.next = 9; return regeneratorRuntime.awrap(lib_esm["a" /* default */].completeNewPassword(user, params.password)); case 9: _context.next = 11; return regeneratorRuntime.awrap(lib_esm["a" /* default */].currentSession()); case 11: jwtToken = _context.sent.getIdToken().getJwtToken(); context.commit('setJwtToken', jwtToken); _context.next = 19; break; case 15: _context.prev = 15; _context.t0 = _context["catch"](1); console.log(_context.t0); context.commit('setAuthenticationError', _context.t0); case 19: case "end": return _context.stop(); } } }, null, null, [[1, 15]]); }, signOut: function signOut(context) { return regeneratorRuntime.async(function signOut$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.prev = 0; _context2.next = 3; return regeneratorRuntime.awrap(lib_esm["a" /* default */].signOut()); case 3: lib_esm["a" /* default */].updateUserAttributes(); _context2.next = 9; break; case 6: _context2.prev = 6; _context2.t0 = _context2["catch"](0); console.err(_context2.t0); case 9: context.commit('clearAuthentication', null); case 10: case "end": return _context2.stop(); } } }, null, null, [[0, 6]]); }, changePassword: function changePassword(context, params) { var user; return regeneratorRuntime.async(function changePassword$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (!(params.confirmNewPassword !== params.newPassword)) { _context3.next = 3; break; } context.commit('setAuthenticationError', { message: 'New passwords do not match.' }); return _context3.abrupt("return"); case 3: _context3.prev = 3; _context3.next = 6; return regeneratorRuntime.awrap(lib_esm["a" /* default */].currentAuthenticatedUser()); case 6: user = _context3.sent; _context3.next = 9; return regeneratorRuntime.awrap(lib_esm["a" /* default */].changePassword(user, params.currentPassword, params.newPassword)); case 9: context.commit('setAuthenticationSuccess', 'Your password has been changed.'); _context3.next = 16; break; case 12: _context3.prev = 12; _context3.t0 = _context3["catch"](3); console.log('Error changing password', _context3.t0); context.commit('setAuthenticationError', _context3.t0); case 16: case "end": return _context3.stop(); } } }, null, null, [[3, 12]]); }, updateUser: function updateUser(context, params) { var user, profile, result; return regeneratorRuntime.async(function updateUser$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.prev = 0; _context4.next = 3; return regeneratorRuntime.awrap(lib_esm["a" /* default */].currentAuthenticatedUser()); case 3: user = _context4.sent; profile = { // Username can't be updated email: params.email, given_name: params.firstName, family_name: params.lastName }; _context4.next = 7; return regeneratorRuntime.awrap(lib_esm["a" /* default */].updateUserAttributes(user, profile)); case 7: result = _context4.sent; if (!(result !== 'SUCCESS')) { _context4.next = 10; break; } throw new Error("Error updating user: ".concat(result)); case 10: _context4.next = 12; return regeneratorRuntime.awrap(lib_esm["a" /* default */].currentUserInfo()); case 12: user = _context4.sent; context.commit('setUserAuthenticated', user); _context4.next = 19; break; case 16: _context4.prev = 16; _context4.t0 = _context4["catch"](0); console.error('Error updating user profile', _context4.t0); case 19: case "end": return _context4.stop(); } } }, null, null, [[0, 16]]); } }; /* harmony default export */ var auth = ({ namespaced: true, state: auth_state, getters: getters, actions: actions, mutations: mutations }); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js var es_array_filter = __webpack_require__("4de4"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js var es_array_index_of = __webpack_require__("c975"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js var es_array_splice = __webpack_require__("a434"); // CONCATENATED MODULE: ./src/store/modules/alerts.js /* harmony default export */ var alerts = ({ namespaced: true, state: { alerts: [] }, getters: { getByType: function getByType(state) { return function (type) { return state.alerts.filter(function (x) { return x.type === type; }); }; }, hasAlerts: function hasAlerts(state) { return state.alerts.length > 0; } }, mutations: { addAlert: function addAlert(state, alert) { state.alerts.push(alert); }, removeAlert: function removeAlert(state, alert) { state.alerts.splice(state.alerts.indexOf(alert), 1); }, clearAlerts: function clearAlerts(state) { state.alerts = []; } }, actions: { addAlert: function addAlert(_ref, alert) { var commit = _ref.commit; commit('addAlert', alert); // This isn't ideal but works for now setTimeout(function () { commit('removeAlert', alert); }, 10000); }, addSuccess: function addSuccess(_ref2, message) { var dispatch = _ref2.dispatch; dispatch('addAlert', { type: 'success', message: message }); }, addError: function addError(_ref3, message) { var dispatch = _ref3.dispatch; dispatch('addAlert', { type: 'error', message: message }); }, addWarning: function addWarning(_ref4, message) { var dispatch = _ref4.dispatch; dispatch('addAlert', { type: 'warning', message: message }); }, clearAlerts: function clearAlerts(_ref5) { var commit = _ref5.commit; commit('clearAlerts'); } } }); // EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__("9f12"); // EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js var createClass = __webpack_require__("53fe"); // EXTERNAL MODULE: ./node_modules/axios/index.js var axios = __webpack_require__("bc3a"); var axios_default = /*#__PURE__*/__webpack_require__.n(axios); // CONCATENATED MODULE: ./src/shared/services/api.service.js var client = axios_default.a.create({ // baseURL: 'https://localhost:44362/', baseURL: "https://api.home.millican.me", json: true }); // TODO: Interceptors /* harmony default export */ var api_service = ({ execute: function execute(method, resource, data) { var accessToken; return regeneratorRuntime.async(function execute$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(vue_runtime_esm["default"].prototype.$auth.getAccessToken()); case 2: accessToken = _context.sent; return _context.abrupt("return", client({ method: method, url: resource, data: data, headers: { Authorization: "Bearer ".concat(accessToken) } }).then(function (response) { return response.data; })); case 4: case "end": return _context.stop(); } } }); }, get: function get(resource, data) { return regeneratorRuntime.async(function get$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", this.execute('GET', resource, data)); case 1: case "end": return _context2.stop(); } } }, null, this); }, post: function post(resource, data) { return regeneratorRuntime.async(function post$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: return _context3.abrupt("return", this.execute('POST', resource, data)); case 1: case "end": return _context3.stop(); } } }, null, this); }, put: function put(resource, data) { return regeneratorRuntime.async(function put$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: return _context4.abrupt("return", this.execute('PUT', resource, data)); case 1: case "end": return _context4.stop(); } } }, null, this); }, delete: function _delete(resource) { return regeneratorRuntime.async(function _delete$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: return _context5.abrupt("return", this.execute('DELETE', resource)); case 1: case "end": return _context5.stop(); } } }, null, this); } }); // CONCATENATED MODULE: ./src/shared/services/address.service.js var address_service_AddressService = /*#__PURE__*/ function () { function AddressService() { Object(classCallCheck["a" /* default */])(this, AddressService); } Object(createClass["a" /* default */])(AddressService, [{ key: "getAll", value: function getAll() { var response; return regeneratorRuntime.async(function getAll$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(api_service.get('addresses')); case 2: response = _context.sent; return _context.abrupt("return", response); case 4: case "end": return _context.stop(); } } }); } }, { key: "getById", value: function getById(id) { var response; return regeneratorRuntime.async(function getById$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return regeneratorRuntime.awrap(api_service.get("addresses/".concat(id))); case 2: response = _context2.sent; return _context2.abrupt("return", response); case 4: case "end": return _context2.stop(); } } }); } }, { key: "saveAddress", value: function saveAddress(address) { var response; return regeneratorRuntime.async(function saveAddress$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (!address.id) { _context3.next = 7; break; } _context3.next = 3; return regeneratorRuntime.awrap(api_service.put("addresses/".concat(address.id), address)); case 3: response = _context3.sent; return _context3.abrupt("return", response); case 7: _context3.next = 9; return regeneratorRuntime.awrap(api_service.post("addresses", address)); case 9: response = _context3.sent; return _context3.abrupt("return", response); case 11: case "end": return _context3.stop(); } } }); } }]); return AddressService; }(); var addressService = new address_service_AddressService(); // CONCATENATED MODULE: ./src/store/modules/address.js /* eslint-disable comma-dangle */ /* harmony default export */ var modules_address = ({ namespaced: true, state: { addresses: [], currentAddress: null }, getters: { addresses: function addresses(state) { return state.addresses; }, currentAddress: function currentAddress(state) { return state.currentAddress; } }, mutations: { setAddresses: function setAddresses(state, addresses) { state.addresses = addresses; }, setCurrentAddress: function setCurrentAddress(state, address) { state.currentAddress = address; }, addAddress: function addAddress(state, address) { state.addresses.push(address); } }, actions: { fetchAddresses: function fetchAddresses(_ref) { var commit, addresses; return regeneratorRuntime.async(function fetchAddresses$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: commit = _ref.commit; _context.next = 3; return regeneratorRuntime.awrap(addressService.getAll()); case 3: addresses = _context.sent; commit('setAddresses', addresses); case 5: case "end": return _context.stop(); } } }); }, getAddress: function getAddress(_ref2, id) { var commit, address; return regeneratorRuntime.async(function getAddress$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: commit = _ref2.commit; _context2.next = 3; return regeneratorRuntime.awrap(addressService.getById(id)); case 3: address = _context2.sent; commit('setCurrentAddress', address); case 5: case "end": return _context2.stop(); } } }); }, saveAddress: function saveAddress(_ref3, address) { var commit, isNew, response; return regeneratorRuntime.async(function saveAddress$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: commit = _ref3.commit; isNew = address.id === null; _context3.next = 4; return regeneratorRuntime.awrap(addressService.saveAddress(address)); case 4: response = _context3.sent; commit('setCurrentAddress', null); if (isNew) { commit('addAddress', response); } case 7: case "end": return _context3.stop(); } } }); } } }); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.date.to-string.js var es_date_to_string = __webpack_require__("0d03"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js var es_array_concat = __webpack_require__("99af"); // CONCATENATED MODULE: ./src/shared/services/shopping.service.js var shopping_service_ShoppingService = /*#__PURE__*/ function () { function ShoppingService() { Object(classCallCheck["a" /* default */])(this, ShoppingService); } Object(createClass["a" /* default */])(ShoppingService, [{ key: "getLists", value: function getLists() { var response; return regeneratorRuntime.async(function getLists$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(api_service.get('shopping-lists')); case 2: response = _context.sent; return _context.abrupt("return", response); case 4: case "end": return _context.stop(); } } }); } }, { key: "getList", value: function getList(id) { var response; return regeneratorRuntime.async(function getList$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return regeneratorRuntime.awrap(api_service.get("shopping-lists/".concat(id))); case 2: response = _context2.sent; return _context2.abrupt("return", response); case 4: case "end": return _context2.stop(); } } }); } }, { key: "getListItems", value: function getListItems(listId, purchased) { var response; return regeneratorRuntime.async(function getListItems$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return regeneratorRuntime.awrap(api_service.get("shopping-lists/".concat(listId, "/items?purchased=").concat(purchased))); case 2: response = _context3.sent; return _context3.abrupt("return", response); case 4: case "end": return _context3.stop(); } } }); } }, { key: "addListItem", value: function addListItem(listId, item) { var response; return regeneratorRuntime.async(function addListItem$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return regeneratorRuntime.awrap(api_service.post("shopping-lists/".concat(listId, "/items"), item)); case 2: response = _context4.sent; return _context4.abrupt("return", response); case 4: case "end": return _context4.stop(); } } }); } }, { key: "updateListItem", value: function updateListItem(listId, item) { var response; return regeneratorRuntime.async(function updateListItem$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return regeneratorRuntime.awrap(api_service.put("shopping-lists/".concat(listId, "/items/").concat(item.id), item)); case 2: response = _context5.sent; return _context5.abrupt("return", response); case 4: case "end": return _context5.stop(); } } }); } }, { key: "deleteListItem", value: function deleteListItem(listId, item) { return regeneratorRuntime.async(function deleteListItem$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return regeneratorRuntime.awrap(api_service.delete("shopping-lists/".concat(listId, "/items/").concat(item.id))); case 2: case "end": return _context6.stop(); } } }); } }]); return ShoppingService; }(); var shoppingService = new shopping_service_ShoppingService(); // CONCATENATED MODULE: ./src/store/modules/shopping.js /* harmony default export */ var shopping = ({ namespaced: true, state: { lists: [], currentList: null, listItems: [], filterPurchased: false }, getters: { currentList: function currentList(state) { return state.currentList; }, listItems: function listItems(state) { return state.listItems; } }, mutations: { setLists: function setLists(state, lists) { state.lists = lists; }, setCurrentList: function setCurrentList(state, list) { state.currentList = list.list; state.listItems = list.items; }, setListFilter: function setListFilter(state, purchased) { state.filterPurchased = purchased; }, addItemToList: function addItemToList(state, item) { state.listItems.push(item); }, deleteItem: function deleteItem(state, item) { state.listItems.splice(state.listItems.indexOf(item), 1); } }, actions: { fetchLists: function fetchLists(_ref) { var commit, lists; return regeneratorRuntime.async(function fetchLists$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: commit = _ref.commit; _context.next = 3; return regeneratorRuntime.awrap(shoppingService.getLists()); case 3: lists = _context.sent; commit('setLists', lists); case 5: case "end": return _context.stop(); } } }); }, getList: function getList(_ref2, listId) { var state, commit, list, items; return regeneratorRuntime.async(function getList$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: state = _ref2.state, commit = _ref2.commit; _context2.next = 3; return regeneratorRuntime.awrap(shoppingService.getList(listId)); case 3: list = _context2.sent; _context2.next = 6; return regeneratorRuntime.awrap(shoppingService.getListItems(listId, state.filterPurchased)); case 6: items = _context2.sent; commit('setCurrentList', { list: list, items: items }); case 8: case "end": return _context2.stop(); } } }); }, filterList: function filterList(_ref3, purchased) { var state, dispatch, commit; return regeneratorRuntime.async(function filterList$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: state = _ref3.state, dispatch = _ref3.dispatch, commit = _ref3.commit; commit('setListFilter', purchased); _context3.next = 4; return regeneratorRuntime.awrap(dispatch('getList', state.currentList.id)); case 4: case "end": return _context3.stop(); } } }); }, addItemToList: function addItemToList(_ref4, data) { var commit, newItem; return regeneratorRuntime.async(function addItemToList$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: commit = _ref4.commit; _context4.next = 3; return regeneratorRuntime.awrap(shoppingService.addListItem(data.listId, data.item)); case 3: newItem = _context4.sent; commit('addItemToList', newItem); case 5: case "end": return _context4.stop(); } } }); }, deleteItem: function deleteItem(_ref5, item) { var commit; return regeneratorRuntime.async(function deleteItem$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: commit = _ref5.commit; _context5.next = 3; return regeneratorRuntime.awrap(shoppingService.deleteListItem(item.listId, item)); case 3: commit('deleteItem', item); case 4: case "end": return _context5.stop(); } } }); }, updatePurchaseStatus: function updatePurchaseStatus(_ref6, item) { var commit; return regeneratorRuntime.async(function updatePurchaseStatus$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: commit = _ref6.commit; if (!item.purchasedOn) { item.purchasedOn = new Date(); // TODO: UTC } else { item.purchasedOn = null; } _context6.next = 4; return regeneratorRuntime.awrap(shoppingService.updateListItem(item.listId, item)); case 4: case "end": return _context6.stop(); } } }); } } }); // CONCATENATED MODULE: ./src/shared/services/meals.service.js var meals_service_MealsService = /*#__PURE__*/ function () { function MealsService() { Object(classCallCheck["a" /* default */])(this, MealsService); } Object(createClass["a" /* default */])(MealsService, [{ key: "getMeals", value: function getMeals() { var response; return regeneratorRuntime.async(function getMeals$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(api_service.get('meals')); case 2: response = _context.sent; return _context.abrupt("return", response); case 4: case "end": return _context.stop(); } } }); } }, { key: "getMeal", value: function getMeal(id) { var response; return regeneratorRuntime.async(function getMeal$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return regeneratorRuntime.awrap(api_service.get("meals/".concat(id))); case 2: response = _context2.sent; return _context2.abrupt("return", response); case 4: case "end": return _context2.stop(); } } }); } }, { key: "addMeal", value: function addMeal(meal) { var response; return regeneratorRuntime.async(function addMeal$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return regeneratorRuntime.awrap(api_service.post("meals", meal)); case 2: response = _context3.sent; return _context3.abrupt("return", response); case 4: case "end": return _context3.stop(); } } }); } }, { key: "updateMeal", value: function updateMeal(meal) { var response; return regeneratorRuntime.async(function updateMeal$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return regeneratorRuntime.awrap(api_service.put("meals/".concat(meal.id), meal)); case 2: response = _context4.sent; return _context4.abrupt("return", response); case 4: case "end": return _context4.stop(); } } }); } }, { key: "deleteMeal", value: function deleteMeal(meal) { return regeneratorRuntime.async(function deleteMeal$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return regeneratorRuntime.awrap(api_service.delete("meals/".concat(meal.id))); case 2: case "end": return _context5.stop(); } } }); } }, { key: "getScheduledMeals", value: function getScheduledMeals(startDate, endDate) { var response; return regeneratorRuntime.async(function getScheduledMeals$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return regeneratorRuntime.awrap(api_service.get("meals/scheduled?startDate=".concat(startDate, "&endDate=").concat(endDate))); case 2: response = _context6.sent; return _context6.abrupt("return", response); case 4: case "end": return _context6.stop(); } } }); } }, { key: "addScheduledMeal", value: function addScheduledMeal(scheduledMeal) { var response; return regeneratorRuntime.async(function addScheduledMeal$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: _context7.next = 2; return regeneratorRuntime.awrap(api_service.post('meals/scheduled', scheduledMeal)); case 2: response = _context7.sent; return _context7.abrupt("return", response); case 4: case "end": return _context7.stop(); } } }); } }, { key: "removeScheduledMeal", value: function removeScheduledMeal(scheduledMeal) { return regeneratorRuntime.async(function removeScheduledMeal$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _context8.next = 2; return regeneratorRuntime.awrap(api_service.delete("meals/scheduled/".concat(scheduledMeal.id))); case 2: case "end": return _context8.stop(); } } }); } }]); return MealsService; }(); var mealsService = new meals_service_MealsService(); // CONCATENATED MODULE: ./src/store/modules/meals.js /* harmony default export */ var modules_meals = ({ namespaced: true, state: { meals: [], currentMeal: null, scheduledMeals: [] }, getters: { meals: function meals(state) { return state.meals; }, scheduledMeals: function scheduledMeals(state) { return state.scheduledMeals; }, scheduledMealsForDate: function scheduledMealsForDate(state, date) { return state.scheduledMeals.filter(function (x) { return x.mealDate === date; }); } }, mutations: { setMeals: function setMeals(state, meals) { state.meals = meals; }, setCurrentMeal: function setCurrentMeal(state, meal) { state.currentMeal = meal; }, addMeal: function addMeal(state, meal) { state.meals.push(meal); }, deleteMeal: function deleteMeal(state, meal) { state.meals.splice(state.meals.indexOf(meal), 1); }, setScheduledMeals: function setScheduledMeals(state, meals) { state.scheduledMeals = meals; }, addScheduledMeal: function addScheduledMeal(state, meal) { state.scheduledMeals.push(meal); }, removeScheduledMeal: function removeScheduledMeal(state, meal) { state.scheduledMeals.splice(state.scheduledMeals.indexOf(meal), 1); } }, actions: { fetchMeals: function fetchMeals(_ref) { var commit, meals; return regeneratorRuntime.async(function fetchMeals$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: commit = _ref.commit; _context.next = 3; return regeneratorRuntime.awrap(mealsService.getMeals()); case 3: meals = _context.sent; commit('setMeals', meals); case 5: case "end": return _context.stop(); } } }); }, getMeal: function getMeal(_ref2, id) { var commit, meal; return regeneratorRuntime.async(function getMeal$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: commit = _ref2.commit; _context2.next = 3; return regeneratorRuntime.awrap(mealsService.getMeal(id)); case 3: meal = _context2.sent; commit('setCurrentMeal', meal); case 5: case "end": return _context2.stop(); } } }); }, addMeal: function addMeal(_ref3, meal) { var commit, newItem; return regeneratorRuntime.async(function addMeal$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: commit = _ref3.commit; _context3.next = 3; return regeneratorRuntime.awrap(mealsService.addMeal(meal)); case 3: newItem = _context3.sent; commit('addMeal', newItem); case 5: case "end": return _context3.stop(); } } }); }, updateMeal: function updateMeal(_ref4, meal) { var commit; return regeneratorRuntime.async(function updateMeal$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: commit = _ref4.commit; _context4.next = 3; return regeneratorRuntime.awrap(mealsService.updateMeal(meal)); case 3: commit('setCurrentMeal', meal); case 4: case "end": return _context4.stop(); } } }); }, deleteMeal: function deleteMeal(_ref5, meal) { var commit; return regeneratorRuntime.async(function deleteMeal$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: commit = _ref5.commit; _context5.next = 3; return regeneratorRuntime.awrap(mealsService.deleteMeal(meal)); case 3: commit('deleteMeal', meal); case 4: case "end": return _context5.stop(); } } }); }, fetchScheduledMeals: function fetchScheduledMeals(_ref6, params) { var commit, meals; return regeneratorRuntime.async(function fetchScheduledMeals$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: commit = _ref6.commit; _context6.next = 3; return regeneratorRuntime.awrap(mealsService.getScheduledMeals(params.startDate, params.endDate)); case 3: meals = _context6.sent; commit('setScheduledMeals', meals); case 5: case "end": return _context6.stop(); } } }); }, addScheduledMeal: function addScheduledMeal(_ref7, meal) { var commit, newMeal; return regeneratorRuntime.async(function addScheduledMeal$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: commit = _ref7.commit; _context7.next = 3; return regeneratorRuntime.awrap(mealsService.addScheduledMeal(meal)); case 3: newMeal = _context7.sent; commit('addScheduledMeal', newMeal); case 5: case "end": return _context7.stop(); } } }); }, removeScheduledMeal: function removeScheduledMeal(_ref8, meal) { var commit; return regeneratorRuntime.async(function removeScheduledMeal$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: commit = _ref8.commit; _context8.next = 3; return regeneratorRuntime.awrap(mealsService.removeScheduledMeal(meal)); case 3: commit('removeScheduledMeal', meal); case 4: case "end": return _context8.stop(); } } }); } } }); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js var web_dom_collections_iterator = __webpack_require__("ddb0"); // CONCATENATED MODULE: ./src/shared/services/journal.service.js var journal_service_JournalService = /*#__PURE__*/ function () { function JournalService() { Object(classCallCheck["a" /* default */])(this, JournalService); } Object(createClass["a" /* default */])(JournalService, [{ key: "getJournalEntries", value: function getJournalEntries() { var response; return regeneratorRuntime.async(function getJournalEntries$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(api_service.get('journal-entries')); case 2: response = _context.sent; return _context.abrupt("return", response); case 4: case "end": return _context.stop(); } } }); } }, { key: "getJournalEntryForDate", value: function getJournalEntryForDate(date) { var response; return regeneratorRuntime.async(function getJournalEntryForDate$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return regeneratorRuntime.awrap(api_service.get("journal-entries/".concat(date))); case 2: response = _context2.sent; return _context2.abrupt("return", response); case 4: case "end": return _context2.stop(); } } }); } }, { key: "saveJournalEntry", value: function saveJournalEntry(entry) { var response; return regeneratorRuntime.async(function saveJournalEntry$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (!entry.id) { _context3.next = 7; break; } _context3.next = 3; return regeneratorRuntime.awrap(api_service.put("journal-entries/".concat(entry.id), entry)); case 3: response = _context3.sent; return _context3.abrupt("return", response); case 7: _context3.next = 9; return regeneratorRuntime.awrap(api_service.post("journal-entries", entry)); case 9: response = _context3.sent; return _context3.abrupt("return", response); case 11: case "end": return _context3.stop(); } } }); } }, { key: "deleteEntry", value: function deleteEntry(entry) { var response; return regeneratorRuntime.async(function deleteEntry$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return regeneratorRuntime.awrap(api_service.delete("journal-entries/".concat(entry.id))); case 2: response = _context4.sent; return _context4.abrupt("return", response); case 4: case "end": return _context4.stop(); } } }); } }]); return JournalService; }(); var journalService = new journal_service_JournalService(); // CONCATENATED MODULE: ./src/store/modules/journal.js /* harmony default export */ var journal = ({ namespaced: true, state: { entries: [], editingEntry: null }, getters: { entries: function entries(state) { return state.entries; }, editingEntry: function editingEntry(state) { return state.editingEntry; }, isEditing: function isEditing(state) { return state.editingEntry !== null; } }, mutations: { setEntries: function setEntries(state, entries) { state.entries = entries; }, setEditingEntry: function setEditingEntry(state, entry) { state.editingEntry = entry; }, removeEntry: function removeEntry(state, entry) { var entryIdx = state.entries.indexOf(entry); state.entries.splice(entryIdx, 1); } }, actions: { fetchEntries: function fetchEntries(_ref) { var commit, entries; return regeneratorRuntime.async(function fetchEntries$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: commit = _ref.commit; _context.next = 3; return regeneratorRuntime.awrap(journalService.getJournalEntries()); case 3: entries = _context.sent; commit('setEntries', entries); case 5: case "end": return _context.stop(); } } }); }, // async getEntry ({ commit }, entryDate) { // var entry = await journalService.getJournalEntryForDate(entryDate) // // commit('setEditingEntry', entry) // }, addEntry: function addEntry(_ref2) { var commit = _ref2.commit; var entry = { id: null, date: new Date(), personal: null, work: null, mood: null }; commit('setEditingEntry', entry); }, editEntry: function editEntry(_ref3, entry) { var commit = _ref3.commit; commit('setEditingEntry', entry); }, saveEntry: function saveEntry(_ref4, entry) { var commit; return regeneratorRuntime.async(function saveEntry$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: commit = _ref4.commit; _context2.next = 3; return regeneratorRuntime.awrap(journalService.saveJournalEntry(entry)); case 3: commit('setEditingEntry', null); case 4: case "end": return _context2.stop(); } } }); }, deleteEntry: function deleteEntry(_ref5, entry) { var commit; return regeneratorRuntime.async(function deleteEntry$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: commit = _ref5.commit; _context3.next = 3; return regeneratorRuntime.awrap(journalService.deleteEntry(entry)); case 3: commit('removeEntry', entry); case 4: case "end": return _context3.stop(); } } }); } } }); // CONCATENATED MODULE: ./src/store/index.js vue_runtime_esm["default"].use(vuex_esm["a" /* default */]); var vuexLocal = new esm["a" /* default */]({ storage: window.localStorage, modules: ['auth'] }); /* harmony default export */ var store = __webpack_exports__["a"] = (new vuex_esm["a" /* default */].Store({ modules: { auth: auth, alerts: alerts, address: modules_address, shopping: shopping, meals: modules_meals, journal: journal }, plugins: [vuexLocal.plugin] })); /***/ }), /***/ "56d7": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js var es_array_iterator = __webpack_require__("e260"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js var es_promise = __webpack_require__("e6cf"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js var es_object_assign = __webpack_require__("cca6"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.finally.js var es_promise_finally = __webpack_require__("a79d"); // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js var vue_runtime_esm = __webpack_require__("2b0e"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"599ca1bb-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=b1136920& var Appvue_type_template_id_b1136920_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"id":"app"}},[_c('main-nav'),_c('div',{staticClass:"container body"},[_c('alerts'),_c('router-view')],1)],1)} var staticRenderFns = [] // CONCATENATED MODULE: ./src/App.vue?vue&type=template&id=b1136920& // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"599ca1bb-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MainNav.vue?vue&type=template&id=45f62ef6& var MainNavvue_type_template_id_45f62ef6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{attrs:{"toggleable":"lg","type":"dark","variant":"dark"}},[_c('div',{staticClass:"container"},[_c('b-navbar-brand',{attrs:{"to":"/"}},[_vm._v("Homer")]),_c('b-navbar-toggle',{attrs:{"target":"nav-collapse"}}),_c('b-collapse',{attrs:{"id":"nav-collapse","is-nav":""}},[_c('b-navbar-nav',[(_vm.isAuthenticated)?[_c('b-nav-item',{attrs:{"to":"/shopping"}},[_vm._v("Shopping")]),_c('b-nav-item',{attrs:{"to":"/meal-plans/meals"}},[_vm._v("Meals")]),_c('b-nav-item',{attrs:{"to":"/meal-plans/planner"}},[_vm._v("Meal Planner")]),_c('b-nav-item',{attrs:{"to":"/journal"}},[_vm._v("Journal")]),_c('b-nav-item',{attrs:{"to":"/addresses"}},[_vm._v("Addresses")])]:_vm._e()],2),_c('b-navbar-nav',{staticClass:"ml-auto"},[(!_vm.isAuthenticated)?_c('b-nav-item',{on:{"click":_vm.login}},[_vm._v("Sign in")]):_vm._e(),(_vm.isAuthenticated)?_c('b-nav-item-dropdown',{attrs:{"right":""}},[_c('template',{slot:"button-content"},[_vm._v(_vm._s(_vm.userName))]),_c('b-dropdown-item',{attrs:{"to":"/user/profile"}},[_vm._v("Profile")]),_c('b-dropdown-item',{attrs:{"href":"#"},on:{"click":_vm.logout}},[_vm._v("Sign Out")])],2):_vm._e()],1)],1)],1)])} var MainNavvue_type_template_id_45f62ef6_staticRenderFns = [] // CONCATENATED MODULE: ./src/components/MainNav.vue?vue&type=template&id=45f62ef6& // EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js var es_function_name = __webpack_require__("b0c0"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js var es_object_to_string = __webpack_require__("d3b7"); // EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js var runtime = __webpack_require__("96cf"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MainNav.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var MainNavvue_type_script_lang_js_ = ({ data: function data() { return { isAuthenticated: false, userName: '' }; }, computed: {}, created: function created() { return regeneratorRuntime.async(function created$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return regeneratorRuntime.awrap(this.authenticate()); case 2: case "end": return _context.stop(); } } }, null, this); }, watch: { '$route': 'authenticate' }, methods: { authenticate: function authenticate() { var user; return regeneratorRuntime.async(function authenticate$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return regeneratorRuntime.awrap(this.$auth.isAuthenticated()); case 2: this.isAuthenticated = _context2.sent; _context2.next = 5; return regeneratorRuntime.awrap(this.$auth.getUser()); case 5: user = _context2.sent; if (user) { this.userName = user.name; } case 7: case "end": return _context2.stop(); } } }, null, this); }, login: function login() { return regeneratorRuntime.async(function login$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return regeneratorRuntime.awrap(this.$auth.loginRedirect('/')); case 2: case "end": return _context3.stop(); } } }, null, this); }, logout: function logout() { return regeneratorRuntime.async(function logout$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return regeneratorRuntime.awrap(this.$auth.logout()); case 2: _context4.next = 4; return regeneratorRuntime.awrap(this.authenticate()); case 4: // Navigate back to home this.$router.push({ name: 'home' }); case 5: case "end": return _context4.stop(); } } }, null, this); } } }); // CONCATENATED MODULE: ./src/components/MainNav.vue?vue&type=script&lang=js& /* harmony default export */ var components_MainNavvue_type_script_lang_js_ = (MainNavvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__("2877"); // CONCATENATED MODULE: ./src/components/MainNav.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( components_MainNavvue_type_script_lang_js_, MainNavvue_type_template_id_45f62ef6_render, MainNavvue_type_template_id_45f62ef6_staticRenderFns, false, null, null, null ) /* harmony default export */ var MainNav = (component.exports); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"599ca1bb-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Alerts.vue?vue&type=template&id=4bc99cbc& var Alertsvue_type_template_id_4bc99cbc_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasAlerts)?_c('div',{staticClass:"alerts-wrapper"},[_vm._l((_vm.getByType('success')),function(alert){return _c('div',{key:alert.message,staticClass:"alert alert-success"},[_vm._v(" "+_vm._s(alert.message)+" ")])}),_vm._l((_vm.getByType('error')),function(alert){return _c('div',{key:alert.message,staticClass:"alert alert-danger"},[_vm._v(" "+_vm._s(alert.message)+" ")])}),_vm._l((_vm.getByType('warning')),function(alert){return _c('div',{key:alert.message,staticClass:"alert alert-warning"},[_vm._v(" "+_vm._s(alert.message)+" ")])})],2):_vm._e()} var Alertsvue_type_template_id_4bc99cbc_staticRenderFns = [] // CONCATENATED MODULE: ./src/components/Alerts.vue?vue&type=template&id=4bc99cbc& // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js var es_symbol = __webpack_require__("a4d3"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js var es_array_filter = __webpack_require__("4de4"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js var es_array_for_each = __webpack_require__("4160"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js var es_object_get_own_property_descriptor = __webpack_require__("e439"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js var es_object_get_own_property_descriptors = __webpack_require__("dbb4"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js var es_object_keys = __webpack_require__("b64b"); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js var web_dom_collections_for_each = __webpack_require__("159b"); // EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js var defineProperty = __webpack_require__("2fa7"); // EXTERNAL MODULE: ./node_modules/vuex/dist/vuex.esm.js var vuex_esm = __webpack_require__("2f62"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Alerts.vue?vue&type=script&lang=js& function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // // // // // // // // // // // // // // /* harmony default export */ var Alertsvue_type_script_lang_js_ = ({ computed: _objectSpread({}, Object(vuex_esm["c" /* mapGetters */])('alerts', ['getByType', 'hasAlerts'])) }); // CONCATENATED MODULE: ./src/components/Alerts.vue?vue&type=script&lang=js& /* harmony default export */ var components_Alertsvue_type_script_lang_js_ = (Alertsvue_type_script_lang_js_); // CONCATENATED MODULE: ./src/components/Alerts.vue /* normalize component */ var Alerts_component = Object(componentNormalizer["a" /* default */])( components_Alertsvue_type_script_lang_js_, Alertsvue_type_template_id_4bc99cbc_render, Alertsvue_type_template_id_4bc99cbc_staticRenderFns, false, null, null, null ) /* harmony default export */ var Alerts = (Alerts_component.exports); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& // // // // // // // // // // // // // /* harmony default export */ var Appvue_type_script_lang_js_ = ({ components: { MainNav: MainNav, Alerts: Alerts } }); // CONCATENATED MODULE: ./src/App.vue?vue&type=script&lang=js& /* harmony default export */ var src_Appvue_type_script_lang_js_ = (Appvue_type_script_lang_js_); // CONCATENATED MODULE: ./src/App.vue /* normalize component */ var App_component = Object(componentNormalizer["a" /* default */])( src_Appvue_type_script_lang_js_, Appvue_type_template_id_b1136920_render, staticRenderFns, false, null, null, null ) /* harmony default export */ var App = (App_component.exports); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.some.js var es_array_some = __webpack_require__("45fc"); // EXTERNAL MODULE: ./node_modules/vue-router/dist/vue-router.esm.js var vue_router_esm = __webpack_require__("8c4f"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"599ca1bb-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/Home.vue?vue&type=template&id=61a106d6& var Homevue_type_template_id_61a106d6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"home"})} var Homevue_type_template_id_61a106d6_staticRenderFns = [] // CONCATENATED MODULE: ./src/views/Home.vue?vue&type=template&id=61a106d6& // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/Home.vue?vue&type=script&lang=js& // // // // // /* harmony default export */ var Homevue_type_script_lang_js_ = ({ name: 'home' }); // CONCATENATED MODULE: ./src/views/Home.vue?vue&type=script&lang=js& /* harmony default export */ var views_Homevue_type_script_lang_js_ = (Homevue_type_script_lang_js_); // CONCATENATED MODULE: ./src/views/Home.vue /* normalize component */ var Home_component = Object(componentNormalizer["a" /* default */])( views_Homevue_type_script_lang_js_, Homevue_type_template_id_61a106d6_render, Homevue_type_template_id_61a106d6_staticRenderFns, false, null, null, null ) /* harmony default export */ var Home = (Home_component.exports); // EXTERNAL MODULE: ./node_modules/@okta/okta-vue/dist/okta-vue.js var okta_vue = __webpack_require__("bc79"); var okta_vue_default = /*#__PURE__*/__webpack_require__.n(okta_vue); // CONCATENATED MODULE: ./src/AuthConfig.js var authConfig = { issuer: "".concat("https://dev-510139.oktapreview.com/", "oauth2/default"), clientId: "0oaojmjqdzCch3YTU0h7", redirectUri: "https://home.millican.me/implicit/callback", scopes: ['openid', 'profile', 'email'], pkce: true }; /* harmony default export */ var AuthConfig = (authConfig); // CONCATENATED MODULE: ./src/router/index.js vue_runtime_esm["default"].use(vue_router_esm["a" /* default */]); vue_runtime_esm["default"].use(okta_vue_default.a, AuthConfig); var routes = [{ path: '/', name: 'home', component: Home, meta: { requiresAuth: false } }, { path: '/implicit/callback', component: okta_vue_default.a.handleCallback() }, { path: '/signin', name: 'signin', component: function component() { return __webpack_require__.e(/* import() */ "chunk-93197ff0").then(__webpack_require__.bind(null, "ab23")); } }, { path: '/user', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d2261b7").then(__webpack_require__.bind(null, "e6f6")); }, meta: { requiresAuth: true }, children: [{ path: 'password', name: 'changePassword', component: function component() { return __webpack_require__.e(/* import() */ "chunk-933f493c").then(__webpack_require__.bind(null, "90af")); }, meta: { requiresAuth: true } }, { path: 'profile', name: 'userEditProfile', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0aab59").then(__webpack_require__.bind(null, "11be")); }, meta: { requiresAuth: true } }] }, { path: '/journal', name: 'journal', component: function component() { return __webpack_require__.e(/* import() */ "chunk-66e22a8e").then(__webpack_require__.bind(null, "f16a")); }, meta: { requiresAuth: true } }, { path: '/shopping/:listId?', name: 'shopping', component: function component() { return __webpack_require__.e(/* import() */ "chunk-8e18880c").then(__webpack_require__.bind(null, "aa3f")); }, meta: { requiresAuth: true } }, { path: '/addresses', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0aba0b").then(__webpack_require__.bind(null, "15a2")); }, meta: { requiresAuth: true }, children: [{ path: '', name: 'address-list', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2ef51212").then(__webpack_require__.bind(null, "978b")); } }, { path: 'new', name: 'create-address', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0cb6fe").then(__webpack_require__.bind(null, "4a50")); } }, { path: 'edit/:id', name: 'edit-address', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0cb6fe").then(__webpack_require__.bind(null, "4a50")); } }] }, { path: '/meal-plans', name: 'meal-planning', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0aade0").then(__webpack_require__.bind(null, "139a")); }, meta: { requiresAuth: true }, children: [{ path: 'planner', name: 'meal-planner', component: function component() { return __webpack_require__.e(/* import() */ "chunk-53db79e2").then(__webpack_require__.bind(null, "19c6")); } }, { path: 'meals', name: 'meals', component: function component() { return __webpack_require__.e(/* import() */ "chunk-3c09abfe").then(__webpack_require__.bind(null, "0e7d")); } }, { path: 'meals/new', name: 'add-meal', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d0ab44d").then(__webpack_require__.bind(null, "150c")); } }, { path: 'meals/edit/:id', name: 'edit-meal', component: function component() { return __webpack_require__.e(/* import() */ "chunk-2d20f397").then(__webpack_require__.bind(null, "b35e")); } }] }]; var router = new vue_router_esm["a" /* default */]({ mode: 'history', base: "/", routes: routes, linkActiveClass: 'active', linkExactActiveClass: 'active' }); var router_onAuthRequired = function onAuthRequired(from, to, next) { return regeneratorRuntime.async(function onAuthRequired$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.t0 = from.matched.some(function (record) { return record.meta.requiresAuth; }); if (!_context.t0) { _context.next = 5; break; } _context.next = 4; return regeneratorRuntime.awrap(vue_runtime_esm["default"].prototype.$auth.isAuthenticated()); case 4: _context.t0 = !_context.sent; case 5: if (!_context.t0) { _context.next = 9; break; } next({ name: 'home' }); // TODO: Switch to login page when custom login is impl _context.next = 10; break; case 9: next(); case 10: case "end": return _context.stop(); } } }); }; router.beforeEach(router_onAuthRequired); /* harmony default export */ var src_router = (router); // EXTERNAL MODULE: ./src/store/index.js + 11 modules var store = __webpack_require__("4360"); // EXTERNAL MODULE: ./node_modules/bootstrap-vue/esm/index.js + 249 modules var esm = __webpack_require__("5f5b"); // EXTERNAL MODULE: ./node_modules/axios/index.js var axios = __webpack_require__("bc3a"); var axios_default = /*#__PURE__*/__webpack_require__.n(axios); // EXTERNAL MODULE: ./node_modules/vue-axios/dist/vue-axios.min.js var vue_axios_min = __webpack_require__("a7fe"); var vue_axios_min_default = /*#__PURE__*/__webpack_require__.n(vue_axios_min); // EXTERNAL MODULE: ./node_modules/vue-moment/dist/vue-moment.js var vue_moment = __webpack_require__("2ead"); var vue_moment_default = /*#__PURE__*/__webpack_require__.n(vue_moment); // EXTERNAL MODULE: ./node_modules/@fortawesome/fontawesome-svg-core/index.es.js var index_es = __webpack_require__("ecee"); // EXTERNAL MODULE: ./node_modules/@fortawesome/free-solid-svg-icons/index.es.js var free_solid_svg_icons_index_es = __webpack_require__("c074"); // EXTERNAL MODULE: ./node_modules/@fortawesome/vue-fontawesome/index.es.js var vue_fontawesome_index_es = __webpack_require__("ad3d"); // EXTERNAL MODULE: ./node_modules/bootstrap/dist/css/bootstrap.css var bootstrap = __webpack_require__("f9e3"); // EXTERNAL MODULE: ./node_modules/vue-multiselect/dist/vue-multiselect.min.css var vue_multiselect_min = __webpack_require__("e607"); // CONCATENATED MODULE: ./src/main.js // TODO: Replace with SCSS version // import 'bootstrap-vue/dist/bootstrap-vue.css' vue_runtime_esm["default"].config.productionTip = false; // Auth config is in Router/index.js // Auth.configure(AuthConfig) vue_runtime_esm["default"].use(esm["a" /* default */]); vue_runtime_esm["default"].use(vue_moment_default.a); vue_runtime_esm["default"].use(vue_axios_min_default.a, axios_default.a); index_es["c" /* library */].add(free_solid_svg_icons_index_es["d" /* faEdit */], free_solid_svg_icons_index_es["h" /* faTrash */], free_solid_svg_icons_index_es["a" /* faCheckSquare */], free_solid_svg_icons_index_es["b" /* faChild */], free_solid_svg_icons_index_es["g" /* faStar */], free_solid_svg_icons_index_es["c" /* faCog */], free_solid_svg_icons_index_es["f" /* faSearch */], free_solid_svg_icons_index_es["e" /* faMapMarked */]); vue_runtime_esm["default"].component('font-awesome-icon', vue_fontawesome_index_es["a" /* FontAwesomeIcon */]); new vue_runtime_esm["default"]({ router: src_router, store: store["a" /* default */], render: function render(h) { return h(App); } }).$mount('#app'); /***/ }) /******/ }); //# sourceMappingURL=app.0993008e.js.map