exports.ids = [50,2,26];
exports.modules = {

/***/ 188:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(190);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(6).default
module.exports.__inject__ = function (context) {
  add("51c0b9ba", content, true, context)
};

/***/ }),

/***/ 189:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(188);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 190:
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".container{width:100%;padding-left:2rem;padding-right:2rem;margin-left:auto;margin-right:auto;max-width:1000px}@media(min-width:901px){.container{max-width:901px}}@media(min-width:1201px){.container{max-width:1201px}}@media(min-width:1701px){.container{max-width:1400px}}.container--narrow{max-width:1000px}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ }),

/***/ 192:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/Container.vue?vue&type=template&id=cb69aaa6&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classList},[_vm._t("default")],2)}
var staticRenderFns = []


// CONCATENATED MODULE: ./components/Container.vue?vue&type=template&id=cb69aaa6&

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(0);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/babel-loader/lib??ref--13-0!D:/Starlane/Workspaces/vindigo/node_modules/ts-loader??ref--13-1!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/Container.vue?vue&type=script&lang=ts&

/* harmony default export */ var Containervue_type_script_lang_ts_ = (external_vue_default.a.extend({
  name: 'Container',
  props: {
    narrow: Boolean
  },
  computed: {
    classList() {
      return {
        'container': true,
        'container--narrow': this.narrow
      };
    }

  }
}));
// CONCATENATED MODULE: ./components/Container.vue?vue&type=script&lang=ts&
 /* harmony default export */ var components_Containervue_type_script_lang_ts_ = (Containervue_type_script_lang_ts_); 
// EXTERNAL MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Container.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(189)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Containervue_type_script_lang_ts_,
  render,
  staticRenderFns,
  false,
  injectStyles,
  null,
  "b75d73a6"
  
)

/* harmony default export */ var Container = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 198:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(207);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(6).default
module.exports.__inject__ = function (context) {
  add("53f95094", content, true, context)
};

/***/ }),

/***/ 206:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SaveBox_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SaveBox_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SaveBox_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SaveBox_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SaveBox_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 207:
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".save-changes .w-alert{font-weight:400;padding:.75rem .75rem .75rem 1rem;margin-bottom:.75rem;border-radius:.75rem;color:#fff;display:flex;min-width:500px;background-color:var(--color-misc-1);justify-content:space-between;align-items:center;border:none;box-shadow:3px 3px 20px rgba(48,60,77,.65)}.w-app--dark .save-changes .w-alert{box-shadow:4.5px 4.5px 30px rgba(20,23,27,.85)}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ }),

/***/ 209:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/vindi/SaveBox.vue?vue&type=template&id=74cc82fc&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('w-notification',{staticClass:"save-changes",attrs:{"value":_vm.changed,"bottom":"","center":"","plain":""}},[_c('span',{staticClass:"save-changes__title"},[_c('w-icon',{staticClass:"left",attrs:{"size":"1.25rem"}},[_vm._v("\n\t\t\tmdi mdi-alert-circle\n\t\t")]),_vm._v("\n\t\t"+_vm._s(_vm.$t("GENERAL_UNSAVED_CHANGES"))+"\n\t")],1),_vm._v(" "),_c('div',[_c('w-button',{attrs:{"text":"","color":"white"},on:{"click":_vm.revert}},[_c('span',[_vm._v("Revert")])]),_vm._v(" "),_c('w-button',{attrs:{"color":"white","bg-color":"primary","loading":_vm.isSaving},on:{"click":_vm.save}},[_vm._v("\n\t\t\tSave\n\t\t\t"),_c('w-icon',{staticClass:"right"},[_vm._v("\n\t\t\t\tmdi mdi-check\n\t\t\t")])],1)],1)])}
var staticRenderFns = []


// CONCATENATED MODULE: ./components/vindi/SaveBox.vue?vue&type=template&id=74cc82fc&

// EXTERNAL MODULE: external "lodash"
var external_lodash_ = __webpack_require__(7);

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(0);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/babel-loader/lib??ref--13-0!D:/Starlane/Workspaces/vindigo/node_modules/ts-loader??ref--13-1!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/vindi/SaveBox.vue?vue&type=script&lang=ts&
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
  function adopt(value) {
    return value instanceof P ? value : new P(function (resolve) {
      resolve(value);
    });
  }

  return new (P || (P = Promise))(function (resolve, reject) {
    function fulfilled(value) {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    }

    function rejected(value) {
      try {
        step(generator["throw"](value));
      } catch (e) {
        reject(e);
      }
    }

    function step(result) {
      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
    }

    step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
};



/* harmony default export */ var SaveBoxvue_type_script_lang_ts_ = (external_vue_default.a.extend({
  props: {
    value: {
      type: Object,
      required: true
    },
    onSave: {
      type: Function,
      required: true
    }
  },
  data: () => ({
    original: null,
    changed: false,
    isSaving: false
  }),
  watch: {
    value: {
      deep: true,

      handler() {
        this.changed = !Object(external_lodash_["isEqual"])(this.value, this.original);
      }

    }
  },

  created() {
    this.original = Object.assign({}, this.value);
  },

  methods: {
    revert() {
      this.$emit('input', Object.assign({}, this.original));
    },

    save() {
      return __awaiter(this, void 0, void 0, function* () {
        this.isSaving = true;
        yield Promise.resolve(this.onSave());
        this.changed = false;
        this.isSaving = false;
        this.original = Object.assign({}, this.value);
      });
    }

  }
}));
// CONCATENATED MODULE: ./components/vindi/SaveBox.vue?vue&type=script&lang=ts&
 /* harmony default export */ var vindi_SaveBoxvue_type_script_lang_ts_ = (SaveBoxvue_type_script_lang_ts_); 
// EXTERNAL MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/vindi/SaveBox.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(206)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  vindi_SaveBoxvue_type_script_lang_ts_,
  render,
  staticRenderFns,
  false,
  injectStyles,
  null,
  "00a9b83e"
  
)

/* harmony default export */ var SaveBox = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 263:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(318);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(6).default
module.exports.__inject__ = function (context) {
  add("72c6ecd4", content, true, context)
};

/***/ }),

/***/ 317:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_settings_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(263);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_settings_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_settings_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_settings_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_settings_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 318:
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".settings-page__highlight{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--color-primary);position:absolute;height:4.25rem;width:.25rem;z-index:10;left:0}.settings-page__content{flex-direction:column;display:flex}@media(min-width:901px){.settings-page__content{flex-direction:row}}.settings-page__overview{padding:2rem;flex-grow:1}.settings-page__manage{position:absolute;right:15px;top:-45px}.settings-page__view{box-shadow:0 0 0 0 transparent,0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-radius:1.5rem;padding:1rem 1.5rem 1.5rem;margin-top:.5rem;margin-bottom:5rem;background-color:var(--color-shade-0);min-height:250px;display:flex;flex-direction:column;position:relative}.w-app--dark .settings-page__view{background-color:var(--color-shade-2)}.settings-page__sidebar{box-shadow:0 0 0 0 transparent,0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);background-color:var(--color-shade-0);flex-direction:column;position:relative;display:flex}@media(min-width:901px){.settings-page__sidebar{height:calc(100vh - 3.5rem);position:-webkit-sticky;position:sticky;top:3.5rem;width:18rem}}@media(min-width:1201px){.settings-page__sidebar{width:24rem}}.settings-page__sidebar .w-divider{margin:0}.w-app--dark .settings-page__sidebar .w-divider{border-color:#272727}.settings-page__title{font-size:1.125rem;line-height:1.5rem;font-weight:600;padding:.875rem 1rem;background-color:var(--color-primary);color:#fff}.settings-page__header{padding-top:2rem;padding-bottom:2rem;display:flex;align-items:center;justify-content:center}.settings-page__header h1{font-size:1.875rem;line-height:2.25rem;display:block}.settings-page__profile-details{padding-left:1.25rem}.settings-page__tab{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;padding:.75rem .75rem .75rem 1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:flex;align-items:center;position:relative}.settings-page__tab .w-icon{margin-right:1rem}.settings-page__tab:hover{background-color:var(--color-misc-2)}.settings-page__tab>div,.settings-page__tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nuxt-link-active .settings-page__tab{background-color:unset}.settings-page__tab-highlight{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--color-primary);position:absolute;z-index:-1;opacity:0;top:0;right:0;bottom:0;left:0}.nuxt-link-active .settings-page__tab-highlight{opacity:.1}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ }),

/***/ 344:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./pages/settings.vue?vue&type=template&id=60cc7a80&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:"settings-page"},[_vm._ssrNode("<div class=\"settings-page__content\">","</div>",[_vm._ssrNode("<aside class=\"settings-page__sidebar\">","</aside>",[_vm._ssrNode("<div class=\"settings-page__title\">\n\t\t\t\tPersonal Settings\n\t\t\t</div> <div class=\"settings-page__highlight\""+(_vm._ssrStyle(null,_vm.highlightStyle, null))+"></div> "),_vm._l((_vm.settingTabs),function(tab,i){return _c('nuxt-link',{key:i,attrs:{"to":tab.path,"tag":"div"}},[_c('div',{staticClass:"settings-page__tab",attrs:{"role":"button"}},[_c('div',{staticClass:"settings-page__tab-highlight"}),_vm._v(" "),_c('w-icon',{staticClass:"left",attrs:{"xl":""}},[_vm._v("\n\t\t\t\t\t\t"+_vm._s(tab.icon)+"\n\t\t\t\t\t")]),_vm._v(" "),_c('div',[_c('div',[_vm._v("\n\t\t\t\t\t\t\t"+_vm._s(tab.name)+"\n\t\t\t\t\t\t")]),_vm._v(" "),_c('small',[_vm._v("\n\t\t\t\t\t\t\t"+_vm._s(tab.desc)+"\n\t\t\t\t\t\t")])])],1),_vm._v(" "),_c('w-divider')],1)})],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"settings-page__overview\">","</div>",[_c('Container',{attrs:{"narrow":""}},[_c('div',{staticClass:"settings-page__header"},[_c('VindiAvatar',{attrs:{"profile":_vm.$store.state.profile,"size":45}}),_vm._v(" "),_c('div',{staticClass:"settings-page__profile-details"},[_c('h1',[_vm._v("\n\t\t\t\t\t\t\t"+_vm._s(_vm.$store.state.profile.fullName)+"\n\t\t\t\t\t\t")]),_vm._v(" "),_c('p',[_vm._v(_vm._s(_vm.$t('SETTINGS_PROFILE_DESCRIPTION'))+" ")])])],1),_vm._v(" "),_c('section',{staticClass:"settings-page__view"},[(_vm.profile.role == 'admin')?_c('w-button',{staticClass:"settings-page__manage",attrs:{"color":"white","bg-color":"error"},on:{"click":_vm.viewAsAdmin}},[_c('w-icon',{staticClass:"left"},[_vm._v("\n\t\t\t\t\t\t\tmdi mdi-gavel\n\t\t\t\t\t\t")]),_vm._v("\n\t\t\t\t\t\tManage Account\n\t\t\t\t\t")],1):_vm._e(),_vm._v(" "),_c('VindiTitle',{attrs:{"icon":_vm.currentTab.icon}},[_vm._v("\n\t\t\t\t\t\t"+_vm._s(_vm.$t(_vm.currentTab.name))+"\n\t\t\t\t\t")]),_vm._v(" "),_c('w-divider'),_vm._v(" "),_c('NuxtChild',{attrs:{"profile":_vm.profile}})],1)])],1)],2),_vm._ssrNode(" "),_c('VindiSaveBox',{attrs:{"on-save":_vm.saveSettings},model:{value:(_vm.profile),callback:function ($$v) {_vm.profile=$$v},expression:"profile"}})],2)}
var staticRenderFns = []


// CONCATENATED MODULE: ./pages/settings.vue?vue&type=template&id=60cc7a80&

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(0);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);

// EXTERNAL MODULE: ./src/helpers.ts + 1 modules
var helpers = __webpack_require__(3);

// CONCATENATED MODULE: ./assets/query/settings/fetchSettingsPage.gql
/* harmony default export */ var fetchSettingsPage = ("# > profileEssentials\r\n\r\nquery SettingsPage {\r\n\tprofile {\r\n\t\t...ProfileEssentials\r\n\t\tlocation\r\n\t\twebsite\r\n\t\temail\r\n\t\tbio\r\n\t}\r\n}");
// CONCATENATED MODULE: ./assets/query/settings/updateSettings.gql
/* harmony default export */ var updateSettings = ("mutation UpdateSettings($details: ProfileUpdate!) {\r\n\tupdateProfile(details: $details) {\r\n\t\tid\r\n\t}\r\n}");
// EXTERNAL MODULE: external "lodash"
var external_lodash_ = __webpack_require__(7);

// CONCATENATED MODULE: D:/Starlane/Workspaces/vindigo/node_modules/babel-loader/lib??ref--13-0!D:/Starlane/Workspaces/vindigo/node_modules/ts-loader??ref--13-1!D:/Starlane/Workspaces/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib??vue-loader-options!./pages/settings.vue?vue&type=script&lang=ts&
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
  function adopt(value) {
    return value instanceof P ? value : new P(function (resolve) {
      resolve(value);
    });
  }

  return new (P || (P = Promise))(function (resolve, reject) {
    function fulfilled(value) {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    }

    function rejected(value) {
      try {
        step(generator["throw"](value));
      } catch (e) {
        reject(e);
      }
    }

    function step(result) {
      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
    }

    step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
};






/* harmony default export */ var settingsvue_type_script_lang_ts_ = (external_vue_default.a.extend({
  middleware: 'authenticated',

  asyncData(context) {
    return __awaiter(this, void 0, void 0, function* () {
      // Redirect to first tab if no tab is specified
      if (context.route.matched.length == 1) {
        const tabId = context.$registries.userSettings.getFirst().id;
        const path = Object(helpers["b" /* buildPath */])(context.route.path, tabId);
        context.redirect(path);
        return;
      } // Fetch current user settings


      const result = yield context.$api.query(fetchSettingsPage);
      const tabs = context.$registries.userSettings;
      const segments = context.route.matched[1].path.split('/');
      const tabInstance = tabs.get(segments[segments.length - 1]);
      const indicator = tabInstance ? tabs.toArray().indexOf(tabInstance) : 0;
      return {
        profile: result.profile,
        original: Object(external_lodash_["cloneDeep"])(result.profile),
        tabIndicator: indicator,
        currentTab: tabInstance
      };
    });
  },

  data: () => ({
    profile: null,
    original: null,
    currentTab: null,
    tabIndicator: 0
  }),
  computed: {
    settingTabs() {
      return this.$registries.userSettings.toItems().map(({
        content,
        id
      }) => Object.assign(Object.assign({}, content), {
        name: this.$t(content.name),
        desc: this.$t(content.desc),
        path: `/settings/${id}`
      }));
    },

    highlightStyle() {
      const index = this.tabIndicator;
      return index !== undefined ? {
        top: 52 + index * 69 + 'px'
      } : {
        display: 'none'
      };
    }

  },
  watch: {
    '$route'() {
      this.updateIndicator();
    }

  },
  methods: {
    revertSettings() {
      this.profile = this.original;
    },

    updateIndicator() {
      const tabs = this.$registries.userSettings;
      const segments = this.$route.matched[1].path.split('/');
      const tabInstance = tabs.get(segments[segments.length - 1]);

      if (!tabInstance) {
        this.tabIndicator = 0;
      } else {
        this.currentTab = tabInstance;
        this.tabIndicator = tabs.toArray().indexOf(tabInstance);
      }
    },

    viewAsAdmin() {
      if (this.profile.role == "admin") this.$router.push(`/admin/users/${this.profile.id}/edit`);
    },

    saveSettings() {
      return __awaiter(this, void 0, void 0, function* () {
        const avatar = this.profile.avatar;
        const originalAvatar = this.original.avatar;

        if (avatar && avatar != originalAvatar) {
          yield this.$api.upload('avatar', avatar);
        }

        const profile = Object(external_lodash_["pick"])(this.profile, ['fullName', 'email', 'username', 'bio', 'location', 'website']);
        yield this.$api.query(updateSettings, {
          details: profile
        });
        this.$store.dispatch('updateProfile'); // this.$waveui.notify({
        // 	message: this.$t('PROJECT_SETTINGS_SAVE_SUCCESS'),
        // 	success: true
        // });
      });
    }

  }
}));
// CONCATENATED MODULE: ./pages/settings.vue?vue&type=script&lang=ts&
 /* harmony default export */ var pages_settingsvue_type_script_lang_ts_ = (settingsvue_type_script_lang_ts_); 
// EXTERNAL MODULE: D:/Starlane/Workspaces/vindigo/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./pages/settings.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(317)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  pages_settingsvue_type_script_lang_ts_,
  render,
  staticRenderFns,
  false,
  injectStyles,
  null,
  "5c4fb3cd"
  
)

/* harmony default export */ var settings = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {VindiAvatar: __webpack_require__(12).default,VindiTitle: __webpack_require__(69).default,Container: __webpack_require__(192).default,VindiSaveBox: __webpack_require__(209).default})


/***/ })

};;
//# sourceMappingURL=settings.js.map