exports.ids = [27];
exports.modules = {

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

"use strict";

// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/pug-plain-loader??ref--1-oneOf-0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/Editor.vue?vue&type=template&id=d9da8166&lang=pug&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"editor",class:_vm.focused},[_vm._ssrNode("<div class=\"label\">"+_vm._ssrEscape(_vm._s(_vm.label))+"</div>"),_c('editor-menu-bar',{staticClass:"menubar is-hidden",attrs:{"editor":_vm.editor,"keep-in-bounds":true},scopedSlots:_vm._u([{key:"default",fn:function(ref){
var commands = ref.commands;
var isActive = ref.isActive;
var getMarkAttrs = ref.getMarkAttrs;
var focused = ref.focused;
return [_c('v-btn-toggle',{attrs:{"dense":""}},[_c('v-btn',{class:{ primary: isActive.bold() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.bold}},[_c('v-icon',[_vm._v("mdi-format-bold")])],1),_c('v-btn',{class:{ primary: isActive.underline() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.underline}},[_c('v-icon',[_vm._v("mdi-format-underline")])],1),_c('v-btn',{class:{ primary: isActive.strike() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.strike}},[_c('v-icon',[_vm._v("mdi-format-strikethrough-variant")])],1),_c('v-btn',{class:{ primary: isActive.italic() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.italic}},[_c('v-icon',[_vm._v("mdi-format-italic")])],1),_c('v-btn',{class:{ primary: isActive.heading({level: 1}) },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":function($event){return commands.heading({level: 1})}}},[_c('v-icon',[_vm._v("mdi-format-header-1")])],1),_c('v-btn',{class:{ primary: isActive.heading({level: 2}) },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":function($event){return commands.heading({level: 2})}}},[_c('v-icon',[_vm._v("mdi-format-header-2")])],1),_c('v-btn',{class:{ primary: isActive.heading({level: 3}) },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":function($event){return commands.heading({level: 3})}}},[_c('v-icon',[_vm._v("mdi-format-header-3")])],1),_c('v-btn',{class:{ primary: isActive.code() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.code}},[_c('v-icon',[_vm._v("mdi-code-tags")])],1),_c('v-btn',{class:{ primary: isActive.blockquote() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.blockquote}},[_c('v-icon',[_vm._v("mdi-format-quote-open")])],1),_c('v-btn',{class:{ primary: isActive.bullet_list() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":commands.bullet_list}},[_c('v-icon',[_vm._v("mdi-format-list-bulleted")])],1),_c('v-btn',{class:{ primary: isActive.link() },attrs:{"icon":"","text":"","tabindex":"-1"},on:{"click":function($event){commands.link({href: getMarkAttrs("link") && getMarkAttrs("link").href ? "" : "https://"}); _vm.$refs.link.focus();}}},[_c('v-icon',[_vm._v("mdi-link")])],1),_c('v-text-field',{directives:[{name:"show",rawName:"v-show",value:(isActive.link()),expression:"isActive.link()"}],ref:"link",staticClass:"pt-0 ml-1",attrs:{"hide-details":"","value":isActive.link() && getMarkAttrs("link") && getMarkAttrs("link").href || ""},on:{"focus":_vm.focus,"blur":_vm.blur,"keypress":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }commands.link({ href: $event.target.value}); _vm.editor.focus()}}})],1)]}}])}),_c('editor-content',{staticClass:"content",style:({ 'max-height': _vm.maxHeight }),attrs:{"editor":_vm.editor,"spellcheck":"false"}})],2)}
var staticRenderFns = []


// CONCATENATED MODULE: ./components/Editor.vue?vue&type=template&id=d9da8166&lang=pug&

// EXTERNAL MODULE: external "lodash/debounce"
var debounce_ = __webpack_require__(15);
var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);

// EXTERNAL MODULE: external "tiptap"
var external_tiptap_ = __webpack_require__(60);

// EXTERNAL MODULE: external "tiptap-extensions"
var external_tiptap_extensions_ = __webpack_require__(61);

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib??vue-loader-options!./components/Editor.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//



/* harmony default export */ var Editorvue_type_script_lang_js_ = ({
  name: 'Editor',
  components: {
    EditorContent: external_tiptap_["EditorContent"],
    EditorMenuBar: external_tiptap_["EditorMenuBar"],
    EditorMenuBubble: external_tiptap_["EditorMenuBubble"]
  },
  props: {
    label: {
      type: String,
      default: 'Editor'
    },
    value: {
      type: String,
      default: ''
    },
    border: {
      type: Boolean,
      default: false
    },
    noSave: {
      type: Boolean,
      default: false
    },
    maxHeight: {
      type: String,
      Number,
      default: ''
    },
    placeholder: {
      type: String,
      default: ''
    }
  },

  data() {
    return {
      options: [],
      linkActive: false,
      editor: null,
      blurring: false,
      update: false,
      focused: ''
    };
  },

  watch: {
    value() {
      if (this.update) {
        this.update = false;
        return;
      }

      this.editor.setContent(this.value);
    }

  },

  mounted() {
    this.editor = new external_tiptap_["Editor"]({
      onFocus: () => this.focus(),
      onBlur: () => this.blur(),
      onUpdate: debounce_default()(({
        getHTML
      }) => {
        this.update = true;
        this.$emit('input', getHTML());
      }, 1000),
      content: this.value,
      extensions: [new external_tiptap_extensions_["Blockquote"](), new external_tiptap_extensions_["BulletList"](), new external_tiptap_extensions_["CodeBlock"](), new external_tiptap_extensions_["HardBreak"](), new external_tiptap_extensions_["Heading"]({
        levels: [1, 2, 3, 4, 5, 6]
      }), new external_tiptap_extensions_["OrderedList"](), new external_tiptap_extensions_["ListItem"](), new external_tiptap_extensions_["Code"](), new external_tiptap_extensions_["History"](), new external_tiptap_extensions_["Link"]({
        openOnClick: false,
        target: '_blank'
      }), new external_tiptap_extensions_["Bold"](), new external_tiptap_extensions_["Italic"](), new external_tiptap_extensions_["Strike"](), new external_tiptap_extensions_["Underline"](), new external_tiptap_extensions_["Placeholder"]({
        emptyEditorClass: 'is-editor-empty',
        emptyNodeClass: 'is-empty',
        emptyNodeText: this.placeholder,
        showOnlyWhenEditable: true,
        showOnlyCurrent: true
      })]
    });
  },

  beforeDestroy() {
    if (this.editor) {
      this.editor.destroy();
    }
  },

  methods: {
    blur() {
      this.blurring = true;
      window.setTimeout(() => {
        if (this.blurring) {
          this.focused = '';
          this.blurring = false;
        }
      }, 200);
    },

    focus() {
      this.focused = 'editor--focused';
      this.$nextTick(() => {
        this.blurring = false;
      });
    }

  }
});
// CONCATENATED MODULE: ./components/Editor.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Editorvue_type_script_lang_js_ = (Editorvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);

// CONCATENATED MODULE: ./components/Editor.vue



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

}

/* normalize component */

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

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

/***/ }),

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

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

// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/pug-plain-loader??ref--1-oneOf-0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/about.vue?vue&type=template&id=68da01ba&lang=pug&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[(_vm.$auth.user && _vm.$auth.user.is_admin)?_c('v-card-text',[_c('Editor',{attrs:{"label":"About"},model:{value:(_vm.about),callback:function ($$v) {_vm.about=$$v},expression:"about"}})],1):_c('v-card-text',{domProps:{"innerHTML":_vm._s(_vm.about)}}),(_vm.$auth.user && _vm.$auth.user.is_admin)?_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{"color":"primary","text":""},on:{"click":_vm.save}},[_vm._v(_vm._s(_vm.$t('common.save')))])],1):_vm._e()],1)],1)}
var staticRenderFns = []


// CONCATENATED MODULE: ./pages/about.vue?vue&type=template&id=68da01ba&lang=pug&

// EXTERNAL MODULE: ./components/Editor.vue + 4 modules
var Editor = __webpack_require__(101);

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(3);

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib??vue-loader-options!./pages/about.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//


/* harmony default export */ var aboutvue_type_script_lang_js_ = ({
  components: {
    Editor: Editor["a" /* default */]
  },

  data({
    $store
  }) {
    return {
      about: $store.state.settings.about || this.$t('about')
    };
  },

  head() {
    return {
      title: `${this.settings.title} - ${this.$t('common.info')}`
    };
  },

  computed: Object(external_vuex_["mapState"])(['settings']),
  methods: { ...Object(external_vuex_["mapActions"])(['setSetting']),

    save() {
      this.$root.$message('common.ok', {
        color: 'success'
      });
      this.setSetting({
        key: 'about',
        value: this.about
      });
    }

  }
});
// CONCATENATED MODULE: ./pages/about.vue?vue&type=script&lang=js&
 /* harmony default export */ var pages_aboutvue_type_script_lang_js_ = (aboutvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);

// CONCATENATED MODULE: ./pages/about.vue





/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  pages_aboutvue_type_script_lang_js_,
  render,
  staticRenderFns,
  false,
  null,
  null,
  "8c2f4fce"
  
)

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

/***/ }),

/***/ 91:
/***/ (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__(97);
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("7e7f3321", content, true, context)
};

/***/ }),

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

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


/***/ }),

/***/ 97:
/***/ (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, ".editor{margin-top:4px;padding-top:12px;padding-bottom:22px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ff4500 transparent;scroll-behavior:smooth;font-family:sans-serif;font-size:1.1em}.editor .editor p.is-editor-empty:first-child:before{content:attr(data-empty-text);float:left;color:#aaa;pointer-events:none;height:0;font-style:italic}.editor .label{left:0;position:relative;transform-origin:top left;transition:transform .3s,scale .3s,color .3s;transform:translateY(20px)}.editor.editor--focused .label{color:#ff4500;transform:translateY(0) scale(.75)}.editor.editor--focused .menubar{visibility:visible;opacity:1!important}.editor.editor--focused .ProseMirror:after{width:100%!important;transform:scaleX(1)!important}.editor .menubar{transition:opacity .5s;opacity:0;visibility:hidden}.editor .focused .ProseMirror:after{width:100%}.editor .ProseMirror{padding:15px;outline:0}.editor .ProseMirror:before{border:solid hsla(0,0%,100%,.7);border-width:thin 0 0}.editor .ProseMirror:after,.editor .ProseMirror:before{bottom:0;content:\"\";left:0;position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1);width:100%;height:0}.editor .ProseMirror:after{border:solid #ff4500;border-width:2px 0 0;transform:scaleX(0)}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ })

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