From 4c87eb2849d2c2462177ab9ee59a6033cf47f5e9 Mon Sep 17 00:00:00 2001 From: Wa!id <108340184+WalsGit@users.noreply.github.com> Date: Tue, 19 Nov 2024 15:55:40 +0100 Subject: [PATCH 1/4] show views options refactor & improvements --- CHANGELOG.md | 9 + js/dist/admin.js | 962 +++++++++++++++- js/dist/admin.js.map | 2 +- js/dist/forum.js | 1064 +++++++++++++++++- js/dist/forum.js.map | 2 +- js/src/admin/components/Settings.js | 19 +- js/src/admin/helpers/isExtensionActive.js | 6 + js/src/admin/helpers/isExtensionInstalled.js | 6 + js/src/forum/components/CardItem.js | 22 +- js/src/forum/components/ListItem.js | 17 +- locale/en.yml | 8 +- locale/fr.yml | 6 +- 12 files changed, 2100 insertions(+), 23 deletions(-) create mode 100644 js/src/admin/helpers/isExtensionActive.js create mode 100644 js/src/admin/helpers/isExtensionInstalled.js diff --git a/CHANGELOG.md b/CHANGELOG.md index c1d539f..a10524b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [1.1.0] - 2024-11-19 +- TODO: make compatible with blog (v17development-blog) +### Changed +- Options for 3rd party extensions will only be enabled if said extensions are installed and activated. +- Text & description associated with 3rd party extensions options + +### Fixed +- Views won't throw error when show views option is activated but the relevant extension isn't installed and activated. + ## [1.0.4] - 2024-11-16 ### Added - Support & discuss URLs diff --git a/js/dist/admin.js b/js/dist/admin.js index ce4630a..0e081f2 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,2 +1,962 @@ -(()=>{var t={n:a=>{var s=a&&a.__esModule?()=>a.default:()=>a;return t.d(s,{a:s}),s},d:(a,s)=>{for(var i in s)t.o(s,i)&&!t.o(a,i)&&Object.defineProperty(a,i,{enumerable:!0,get:s[i]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a)};(()=>{"use strict";const a=flarum.core.compat.app;var s=t.n(a);function i(t,a){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},i(t,a)}function r(t,a){t.prototype=Object.create(a.prototype),t.prototype.constructor=t,i(t,a)}const e=flarum.core.compat["admin/app"];var n=t.n(e);const l=flarum.core.compat["admin/components/ExtensionPage"];var o=t.n(l);const d=flarum.core.compat["admin/components/UploadImageButton"];var c=t.n(d),g=function(t){function a(){return t.apply(this,arguments)||this}r(a,t);var s=a.prototype;return s.content=function(){return m("div",{className:"DiscussionCardsSettings"},m("div",{className:"container"},m("div",{className:"DiscussionCardsSettings--content"},m("h3",null,n().translator.trans("walsgit_discussion_cards.admin.settings.general.where_title")),m("p",{className:"helpText"},n().translator.trans("walsgit_discussion_cards.admin.settings.general.where_info")),m("div",{className:"Section"},this.buildSettingComponent({type:"flarum-tags.select-tags",setting:"walsgit_discussion_cards_allowedTags",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_help"),options:{requireParentTag:!1}}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_onIndexPage",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_help")})),m("h3",null,n().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title")),m("p",{className:"helpText"},n().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info")),m("div",{className:"Section"},this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_primaryCards",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_help"),min:0,step:1,placeholder:4}),this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_desktopCardWidth",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help"),min:10,max:100,step:1,placeholder:49}),this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_tabletCardWidth",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help"),min:10,max:100,step:1,placeholder:49})),m("h3",null,n().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_title")),m("p",{className:"helpText"},n().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_info")),m("div",{className:"Section"},m("div",{className:"DC-DefaultImageSettings"},m("h4",null,n().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_title")),m("p",{className:"helpText"},n().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_info")),null===n().forum.attribute("walsgitDiscussionCardsDefaultImage")?m("div",{className:"imgStub"}):m("img",{className:"DC-UserUploadedImage",src:n().forum.attribute("baseUrl")+"/assets/"+n().forum.attribute("walsgitDiscussionCardsDefaultImage")}),m(c(),{name:"walsgit_discussion_cards_default_image",class:"DC-UploadImageBtn"})),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_previewText",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showAuthor",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showReplies",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showBadges",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_markReadCards",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_help")})),m("h3",null,n().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_title")),m("p",{className:"helpText"},n().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")),m("div",{className:"Section"},m("h4",null,"If ",m("a",{href:"https://flarum.org/extension/flarumite/simple-discussion-views",target:"_blank",rel:"noopener noreferrer"},"Flarumite Simple Discussion Views")," is installed & activated"),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showViews",label:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"),help:n().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help")})),this.submitButton())))},s.onsubmit=function(){var t=Number(this.setting("walsgit_discussion_cards_primaryCards")()),a=Number(this.setting("walsgit_discussion_cards_desktopCardWidth")()),s=Number(this.setting("walsgit_discussion_cards_tabletCardWidth")());return t<0||isNaN(t)?(n().alerts.show({type:"error"},n().translator.trans("walsgit_discussion_cards.admin.errors.primaryCards")),!1):a<10||a>100||isNaN(a)?(n().alerts.show({type:"error"},n().translator.trans("walsgit_discussion_cards.admin.errors.desktopCardWidth")),!1):!(s<10||s>100||isNaN(s))||(n().alerts.show({type:"error"},n().translator.trans("walsgit_discussion_cards.admin.errors.tabletCardWidth")),!1)},s.saveSettings=function(a){if(this.onsubmit()){var s=this.dirty();t.prototype.saveSettings.call(this,a).then((function(){var t={};for(var a in s){var i=a.replace("walsgit_discussion_cards_","");t["walsgitDiscussionCards"+(i=i.replace(/^./,i.charAt(0).toUpperCase()))]=s[a]}n().forum.pushAttributes(t)})).catch((function(t){console.error(t)}))}},a}(o());const u=flarum.core.compat.extend,p=flarum.core.compat["common/Model"];var h=t.n(p);const _=flarum.core.compat["common/components/Button"];var b=t.n(_);flarum.core.compat["common/helpers/icon"];const w=flarum.core.compat["tags/models/Tag"];var f=t.n(w);const C=flarum.core.compat["tags/components/EditTagModal"];var y=t.n(C);const v=flarum.core.compat["common/components/Modal"];var N=t.n(v);const S=flarum.core.compat["common/utils/Stream"];var D=t.n(S),W={},T=function(t){function a(){return t.apply(this,arguments)||this}r(a,t);var s=a.prototype;return s.oninit=function(a){t.prototype.oninit.call(this,a),this.tagSettings=JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings||null)||{},W={primaryCards:app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,desktopCardWidth:app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,tabletCardWidth:app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth},this.tagSettings.hasOwnProperty("primaryCards")&&null!==this.tagSettings.primaryCards||(this.tagSettings.primaryCards=W.primaryCards),this.tagSettings.hasOwnProperty("desktopCardWidth")&&null!==this.tagSettings.desktopCardWidth||(this.tagSettings.desktopCardWidth=W.desktopCardWidth),this.tagSettings.hasOwnProperty("tabletCardWidth")&&null!==this.tagSettings.tabletCardWidth||(this.tagSettings.tabletCardWidth=W.tabletCardWidth),this.tagSettings.primaryCards=D()(this.tagSettings.primaryCards),this.tagSettings.desktopCardWidth=D()(this.tagSettings.desktopCardWidth),this.tagSettings.tabletCardWidth=D()(this.tagSettings.tabletCardWidth)},s.className=function(){return"WdcTagSettingsModal Modal--large"},s.title=function(){return[app.translator.trans("walsgit_discussion_cards.admin.tag_modal.title"),m("span",{className:"TagLabel colored",style:"--tag-bg: "+this.attrs.model.data.attributes.color+";"},m("span",{className:"TagLabel-text"},m("span",{className:"TagLabel-name"},this.attrs.model.data.attributes.name)))]},s.content=function(){return[m("div",{className:"Modal-body"},m("div",{className:"Form"},m("p",null,app.translator.trans("walsgit_discussion_cards.admin.tag_modal.intro_text")),m("div",{className:"Form-group"},m("label",{htmlFor:"primaryCards"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_help",{default:W.primaryCards})),m("input",{type:"number",name:"primaryCards",className:"FormControl DC-Number",bidi:this.tagSettings.primaryCards})),m("div",{className:"Form-group"},m("label",{htmlFor:"desktopCardWidth"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help",{default:W.desktopCardWidth})),m("input",{type:"number",name:"desktopCardWidth",className:"FormControl DC-Number",bidi:this.tagSettings.desktopCardWidth})),m("div",{className:"Form-group"},m("label",{htmlFor:"tabletCardWidth"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help",{default:W.tabletCardWidth})),m("input",{type:"number",name:"tabletCardWidth",className:"FormControl DC-Number",bidi:this.tagSettings.tabletCardWidth})),m(b(),{type:"submit",className:"Button Button--primary",loading:this.loading,disabled:this.changed()},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.submit_button"))))]},s.changed=function(){var t=JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings||"null")||{};return function(t,a){if("object"!=typeof t||"object"!=typeof a)return!1;if(Object.keys(t).length!==Object.keys(a).length)return!1;for(var s in t)if(t.hasOwnProperty(s))if("object"==typeof t[s]&&"object"==typeof a[s]){if(!compareObjects(t[s],a[s]))return!1}else if(t[s]!==a[s])return!1;return!0}(JSON.parse(JSON.stringify(this.tagSettings)),t)},s.onsubmit=function(t){t.preventDefault();var a=parseInt(this.tagSettings.primaryCards());if(isNaN(a)||a<0)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.primaryCards"));else{var s=parseInt(this.tagSettings.desktopCardWidth());if(isNaN(s)||s<10||s>100)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.desktopCardWidth"));else{var i=parseInt(this.tagSettings.tabletCardWidth());if(isNaN(i)||i<10||i>100)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.tabletCardWidth"));else{var r=this.attrs.model;this.tagSettings.primaryCards(a),this.tagSettings.desktopCardWidth(s),this.tagSettings.tabletCardWidth(i);var e=JSON.stringify(this.tagSettings);this.loading=!0,app.request({method:"PATCH",url:app.forum.attribute("apiUrl")+"/tags/"+r.id()+"/tagSettings",body:{data:{tagSettings:e}}}).then((function(){r.data.attributes.walsgitDiscussionCardsTagSettings=e,app.modal.close()}))}}}},a}(N());function O(){return O=Object.assign?Object.assign.bind():function(t){for(var a=1;a').appendTo("body").hide().trigger("click").on("change",(function(a){var s=new FormData;s.append(t.attrs.name,$(a.target)[0].files[0]),s.append("tagId",t.tagId),t.loading=!0,m.redraw(),n().request({method:"POST",url:t.resourceUrl(),serialize:function(t){return t},body:s}).then(t.success.bind(t),t.failure.bind(t))}))},s.remove=function(){this.loading=!0,m.redraw();var t=new FormData;t.append("tagId",this.tagId),n().request({method:"DELETE",url:this.resourceUrl(),body:t}).then(this.success.bind(this),this.failure.bind(this))},s.resourceUrl=function(){return n().forum.attribute("apiUrl")+"/"+this.attrs.name},s.success=function(t){window.location.reload()},s.failure=function(t){this.loading=!1,m.redraw()},a}(b());s().initializers.add("walsgit/discussion-cards",(function(){f().prototype.WdcDefaultImage=h().attribute("walsgit_discussion_cards_tag_default_image"),(0,u.extend)(y().prototype,"fields",(function(t){var a=this;if(this.tag.id()){var i=JSON.parse(s().forum.attribute("walsgitDiscussionCardsAllowedTags")),r=i.includes(this.tag.id()),e=r?"DC-ActivationBtn Button activated":"DC-ActivationBtn Button Button--primary",n=r?"DC-TagSettings":"DC-TagSettings DC-Hidden",l=r?s().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button"):s().translator.trans("walsgit_discussion_cards.admin.tags.activation_button");t.add("tag-discussion-cards-options",m("fieldset",{className:"DC-Fieldset"},m("legend",null,s().translator.trans("walsgit_discussion_cards.admin.tags.options_heading")),m(b(),{className:e,icon:"fas fa-border-all",onclick:function(){(r=!r)?i.push(a.tag.id()):i=i.filter((function(t){return t!==a.tag.id()})),s().request({method:"POST",url:s().forum.attribute("apiUrl")+"/walsgit_discussion_cards_tag_update_allowedTags",body:{allowedTags:i}}).then((function(){s().forum.data.attributes.walsgitDiscussionCardsAllowedTags=JSON.stringify(i),s().data.settings.walsgit_discussion_cards_allowedTags=JSON.stringify(i),e=(r=!r)?"DC-ActivationBtn Button activated":"DC-ActivationBtn Button Button--primary",n=r?"DC-TagSettings":"DC-TagSettings DC-Hidden",l=r?s().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button"):s().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"),m.redraw()}))}},l),m("div",{className:n},m("div",{className:"DC-TagDefaultImageSettings"},m("h4",null,s().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_title")),m("p",{className:"helpText"},s().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_info")),m(x,{name:"walsgit_discussion_cards_tag_default_image",className:"DC-UploadTagImageBtn",ariaLabel:"Upload a default image for this tag",tagId:this.tag.id()})),m(b(),{className:"Button Button--primary",icon:"fas fa-border-all",onclick:function(){s().modal.show(T,{model:a.tag})}},s().translator.trans("walsgit_discussion_cards.admin.tags.options_button")))),-20)}})),s().extensionData.for("walsgit-discussion-cards").registerPage(g)}))})(),module.exports={}})(); +/******/ (() => { // webpackBootstrap +/******/ // runtime can't be in strict mode because a global variable is assign and maybe created. +/******/ var __webpack_modules__ = ({ + +/***/ "./src/admin/components/Settings.js": +/*!******************************************!*\ + !*** ./src/admin/components/Settings.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Settings) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app"); +/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/components/ExtensionPage */ "flarum/admin/components/ExtensionPage"); +/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/admin/components/UploadImageButton */ "flarum/admin/components/UploadImageButton"); +/* harmony import */ var flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/isExtensionInstalled */ "./src/admin/helpers/isExtensionInstalled.js"); +/* harmony import */ var _helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/isExtensionActive */ "./src/admin/helpers/isExtensionActive.js"); + + + + + + +var Settings = /*#__PURE__*/function (_ExtensionPage) { + function Settings() { + return _ExtensionPage.apply(this, arguments) || this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(Settings, _ExtensionPage); + var _proto = Settings.prototype; + _proto.content = function content() { + /* Supported third party extensions' info */ + var viewsExtension = { + id: 'flarumite-simple-discussion-views', + name: 'Flarumite Simple Discussion Views' + }; + return m("div", { + className: "DiscussionCardsSettings" + }, m("div", { + className: "container" + }, m("div", { + className: "DiscussionCardsSettings--content" + }, m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.where_title")), m("p", { + className: "helpText" + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.where_info")), m("div", { + className: "Section" + }, this.buildSettingComponent({ + type: "flarum-tags.select-tags", + setting: "walsgit_discussion_cards_allowedTags", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_help"), + options: { + requireParentTag: false + } + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_onIndexPage", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_help") + })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title")), m("p", { + className: "helpText" + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info")), m("div", { + className: "Section" + }, this.buildSettingComponent({ + type: "number", + className: 'DC-Number', + setting: "walsgit_discussion_cards_primaryCards", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_help"), + min: 0, + step: 1, + placeholder: 4 + }), this.buildSettingComponent({ + type: "number", + className: 'DC-Number', + setting: "walsgit_discussion_cards_desktopCardWidth", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help"), + min: 10, + max: 100, + step: 1, + placeholder: 49 + }), this.buildSettingComponent({ + type: "number", + className: 'DC-Number', + setting: "walsgit_discussion_cards_tabletCardWidth", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help"), + min: 10, + max: 100, + step: 1, + placeholder: 49 + })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_title")), m("p", { + className: "helpText" + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_info")), m("div", { + className: "Section" + }, m("div", { + className: "DC-DefaultImageSettings" + }, m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_title")), m("p", { + className: "helpText" + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_info")), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("walsgitDiscussionCardsDefaultImage") === null ? m("div", { + className: "imgStub" + }) : m("img", { + className: "DC-UserUploadedImage", + src: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("baseUrl") + "/assets/" + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("walsgitDiscussionCardsDefaultImage") + }), m((flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3___default()), { + name: "walsgit_discussion_cards_default_image", + "class": "DC-UploadImageBtn" + })), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_previewText", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_help") + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_showAuthor", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_help") + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_showReplies", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_help") + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_showBadges", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_help") + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_markReadCards", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_help") + })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_title")), m("p", { + className: "helpText" + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")), m("div", { + className: "Section" + }, m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start"), m("a", { + href: "https://flarum.org/extension/flarumite/simple-discussion-views", + target: "_blank", + rel: "noopener noreferrer" + }, "Flarumite Simple Discussion Views"), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_showViews", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"), + help: !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notInstalled", { + extName: viewsExtension.name + }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notActivated", { + extName: viewsExtension.name + }) : flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), + disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension) ? false : true + })), this.submitButton()))); + }; + _proto.onsubmit = function onsubmit() { + var primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')()); + var desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')()); + var tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')()); + if (primaryCards < 0 || isNaN(primaryCards)) { + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ + type: 'error' + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.primaryCards')); + return false; + } + if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) { + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ + type: 'error' + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth')); + return false; + } + if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) { + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ + type: 'error' + }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth')); + return false; + } + return true; + }; + _proto.saveSettings = function saveSettings(e) { + if (!this.onsubmit()) { + return; + } + var settings = this.dirty(); + _ExtensionPage.prototype.saveSettings.call(this, e).then(function () { + var newSettings = {}; + for (var key in settings) { + var endOfKey = key.replace('walsgit_discussion_cards_', ''); + endOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase()); + var newKey = 'walsgitDiscussionCards' + endOfKey; + newSettings[newKey] = settings[key]; + } + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.pushAttributes(newSettings); + })["catch"](function (error) { + console.error(error); + }); + }; + return Settings; +}((flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/admin/components/UploadTagImageButton.js": +/*!******************************************************!*\ + !*** ./src/admin/components/UploadTagImageButton.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ UploadTagImageButton) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app"); +/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); +/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/tags/components/EditTagModal */ "flarum/tags/components/EditTagModal"); +/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5__); + + + + + + +var UploadTagImageButton = /*#__PURE__*/function (_Button) { + function UploadTagImageButton(props) { + var _this; + _this = _Button.call(this, props) || this; + _this.loading = false; + _this.tagId = props.attrs.tagId; + return _this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(UploadTagImageButton, _Button); + var _proto = UploadTagImageButton.prototype; + _proto.view = function view(vnode) { + this.attrs.loading = this.loading; + this.attrs.className = flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()(this.attrs.className, "Button"); + if ((flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().store).data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) { + this.attrs.onclick = this.remove.bind(this); + return m("div", null, m("p", null, m("img", { + className: "DC-TagDefaultImage", + src: "assets/" + (flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().store).data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage, + alt: "", + width: "200px" + })), m("p", null, _Button.prototype.view.call(this, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, vnode, { + children: flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("core.admin.upload_image.remove_button") + })))); + } else { + this.attrs.onclick = this.upload.bind(this); + } + return _Button.prototype.view.call(this, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, vnode, { + children: flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("core.admin.upload_image.upload_button") + })); + } + + /** + * Prompt the user to upload an image. + */; + _proto.upload = function upload() { + var _this2 = this; + if (this.loading) return; + var $input = $(''); + $input.appendTo("body").hide().trigger("click").on("change", function (e) { + var body = new FormData(); + body.append(_this2.attrs.name, $(e.target)[0].files[0]); + body.append('tagId', _this2.tagId); + _this2.loading = true; + m.redraw(); + flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().request({ + method: "POST", + url: _this2.resourceUrl(), + serialize: function serialize(raw) { + return raw; + }, + body: body + }).then(_this2.success.bind(_this2), _this2.failure.bind(_this2)); + }); + } + + /** + * Remove the image. + */; + _proto.remove = function remove() { + this.loading = true; + m.redraw(); + var body = new FormData(); + body.append('tagId', this.tagId); + flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().request({ + method: "DELETE", + url: this.resourceUrl(), + body: body + }).then(this.success.bind(this), this.failure.bind(this)); + }; + _proto.resourceUrl = function resourceUrl() { + return flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().forum.attribute("apiUrl") + "/" + this.attrs.name; + } + + /** + * After a successful upload/removal, reload the page. + * + * @param {object} response + * @protected + */; + _proto.success = function success(response) { + window.location.reload(); + } + + /** + * If upload/removal fails, stop loading. + * + * @param {object} response + * @protected + */; + _proto.failure = function failure(response) { + this.loading = false; + m.redraw(); + }; + return UploadTagImageButton; +}((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default())); + + +/***/ }), + +/***/ "./src/admin/components/WdcTagSettingsModal.js": +/*!*****************************************************!*\ + !*** ./src/admin/components/WdcTagSettingsModal.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ WdcTagSettingsModal) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Modal */ "flarum/common/components/Modal"); +/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/utils/Stream */ "flarum/common/utils/Stream"); +/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3__); + + + + +var defaultSettings = {}; +var WdcTagSettingsModal = /*#__PURE__*/function (_Modal) { + function WdcTagSettingsModal() { + return _Modal.apply(this, arguments) || this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(WdcTagSettingsModal, _Modal); + var _proto = WdcTagSettingsModal.prototype; + _proto.oninit = function oninit(vnode) { + _Modal.prototype.oninit.call(this, vnode); + this.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {}; + defaultSettings = { + primaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards, + desktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth, + tabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth + }; + if (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) { + this.tagSettings.primaryCards = defaultSettings.primaryCards; + } + if (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) { + this.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth; + } + if (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) { + this.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth; + } + this.tagSettings.primaryCards = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.primaryCards); + this.tagSettings.desktopCardWidth = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.desktopCardWidth); + this.tagSettings.tabletCardWidth = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.tabletCardWidth); + }; + _proto.className = function className() { + return "WdcTagSettingsModal Modal--large"; + }; + _proto.title = function title() { + return [app.translator.trans("walsgit_discussion_cards.admin.tag_modal.title"), m("span", { + className: "TagLabel colored", + style: "--tag-bg: " + this.attrs.model.data.attributes.color + ";" + }, m("span", { + className: "TagLabel-text" + }, m("span", { + className: "TagLabel-name" + }, this.attrs.model.data.attributes.name)))]; + }; + _proto.content = function content() { + return [m("div", { + className: "Modal-body" + }, m("div", { + className: "Form" + }, m("p", null, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.intro_text")), m("div", { + className: "Form-group" + }, m("label", { + htmlFor: "primaryCards" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_label")), m("div", { + className: "helpText" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_help", { + "default": defaultSettings.primaryCards + })), m("input", { + type: "number", + name: "primaryCards", + className: "FormControl DC-Number", + bidi: this.tagSettings.primaryCards + })), m("div", { + className: "Form-group" + }, m("label", { + htmlFor: "desktopCardWidth" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_label")), m("div", { + className: "helpText" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help", { + "default": defaultSettings.desktopCardWidth + })), m("input", { + type: "number", + name: "desktopCardWidth", + className: "FormControl DC-Number", + bidi: this.tagSettings.desktopCardWidth + })), m("div", { + className: "Form-group" + }, m("label", { + htmlFor: "tabletCardWidth" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_label")), m("div", { + className: "helpText" + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help", { + "default": defaultSettings.tabletCardWidth + })), m("input", { + type: "number", + name: "tabletCardWidth", + className: "FormControl DC-Number", + bidi: this.tagSettings.tabletCardWidth + })), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1___default()), { + type: "submit", + className: "Button Button--primary", + loading: this.loading, + disabled: this.changed() + }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.submit_button"))))]; + }; + _proto.changed = function changed() { + var savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {}; + function isSameSettings(obj1, obj2) { + if (typeof obj1 !== 'object' || typeof obj2 !== 'object') { + return false; + } + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false; + } + for (var key in obj1) { + if (obj1.hasOwnProperty(key)) { + if (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') { + if (!compareObjects(obj1[key], obj2[key])) { + return false; + } + } else if (obj1[key] !== obj2[key]) { + return false; + } + } + } + return true; + } + return isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings); + }; + _proto.onsubmit = function onsubmit(e) { + e.preventDefault(); + var primaryCards = parseInt(this.tagSettings.primaryCards()); + if (isNaN(primaryCards) || primaryCards < 0) { + app.alerts.show({ + type: 'error' + }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards')); + return; + } + var desktopWidth = parseInt(this.tagSettings.desktopCardWidth()); + if (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) { + app.alerts.show({ + type: 'error' + }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth')); + return; + } + var tabletWidth = parseInt(this.tagSettings.tabletCardWidth()); + if (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) { + app.alerts.show({ + type: 'error' + }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth')); + return; + } + var tag = this.attrs.model; + this.tagSettings.primaryCards(primaryCards); + this.tagSettings.desktopCardWidth(desktopWidth); + this.tagSettings.tabletCardWidth(tabletWidth); + var tagSettings = JSON.stringify(this.tagSettings); + this.loading = true; + app.request({ + method: "PATCH", + url: app.forum.attribute("apiUrl") + "/tags/" + tag.id() + "/tagSettings", + body: { + data: { + tagSettings: tagSettings + } + } + }).then(function () { + tag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings; + app.modal.close(); + }); + }; + return WdcTagSettingsModal; +}((flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default())); + + +/***/ }), + +/***/ "./src/admin/helpers/isExtensionActive.js": +/*!************************************************!*\ + !*** ./src/admin/helpers/isExtensionActive.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isExtensionActive) +/* harmony export */ }); +function isExtensionActive(extensionName) { + if (app.data.settings.extensions_enabled.includes(extensionName)) { + return true; + } + return false; +} + +/***/ }), + +/***/ "./src/admin/helpers/isExtensionInstalled.js": +/*!***************************************************!*\ + !*** ./src/admin/helpers/isExtensionInstalled.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isExtensionInstalled) +/* harmony export */ }); +function isExtensionInstalled(extensionName) { + if (app.data.extensions.hasOwnProperty(extensionName)) { + return true; + } + return false; +} + +/***/ }), + +/***/ "./src/admin/index.js": +/*!****************************!*\ + !*** ./src/admin/index.js ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/app */ "flarum/app"); +/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _components_Settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Settings */ "./src/admin/components/Settings.js"); +/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/extend */ "flarum/extend"); +/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_extend__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/Model */ "flarum/common/Model"); +/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Model__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/tags/models/Tag */ "flarum/tags/models/Tag"); +/* harmony import */ var flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/tags/components/EditTagModal */ "flarum/tags/components/EditTagModal"); +/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _components_WdcTagSettingsModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/WdcTagSettingsModal */ "./src/admin/components/WdcTagSettingsModal.js"); +/* harmony import */ var _components_UploadTagImageButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/UploadTagImageButton */ "./src/admin/components/UploadTagImageButton.js"); + + + + + + + + + + +flarum_app__WEBPACK_IMPORTED_MODULE_0___default().initializers.add("walsgit/discussion-cards", function () { + (flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6___default().prototype).WdcDefaultImage = flarum_common_Model__WEBPACK_IMPORTED_MODULE_3___default().attribute("walsgit_discussion_cards_tag_default_image"); + (0,flarum_extend__WEBPACK_IMPORTED_MODULE_2__.extend)((flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7___default().prototype), "fields", function (items) { + var _this = this; + if (this.tag.id()) { + var allowedTags = JSON.parse(flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.attribute('walsgitDiscussionCardsAllowedTags')); + var isActivatedForTag = allowedTags.includes(this.tag.id()); + var activationBtnClasses = isActivatedForTag ? "DC-ActivationBtn Button activated" : "DC-ActivationBtn Button Button--primary"; + var DcTagSettingsClasses = isActivatedForTag ? "DC-TagSettings" : "DC-TagSettings DC-Hidden"; + var activationBtnText = isActivatedForTag ? flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button") : flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"); + var toggleActivation = function toggleActivation() { + isActivatedForTag = !isActivatedForTag; + if (isActivatedForTag) { + allowedTags.push(_this.tag.id()); + } else { + allowedTags = allowedTags.filter(function (id) { + return id !== _this.tag.id(); + }); + } + flarum_app__WEBPACK_IMPORTED_MODULE_0___default().request({ + method: "POST", + url: flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.attribute("apiUrl") + "/walsgit_discussion_cards_tag_update_allowedTags", + body: { + allowedTags: allowedTags + } + }).then(function () { + (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags); + (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().data).settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags); + isActivatedForTag = !isActivatedForTag; + activationBtnClasses = isActivatedForTag ? "DC-ActivationBtn Button activated" : "DC-ActivationBtn Button Button--primary"; + DcTagSettingsClasses = isActivatedForTag ? "DC-TagSettings" : "DC-TagSettings DC-Hidden"; + activationBtnText = isActivatedForTag ? flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button") : flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"); + m.redraw(); + }); + }; + items.add("tag-discussion-cards-options", m("fieldset", { + className: "DC-Fieldset" + }, m("legend", null, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.options_heading")), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default()), { + className: activationBtnClasses, + icon: "fas fa-border-all", + onclick: toggleActivation + }, activationBtnText), m("div", { + className: DcTagSettingsClasses + }, m("div", { + className: "DC-TagDefaultImageSettings" + }, m("h4", null, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_title")), m("p", { + className: "helpText" + }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_info")), m(_components_UploadTagImageButton__WEBPACK_IMPORTED_MODULE_9__["default"], { + name: "walsgit_discussion_cards_tag_default_image", + className: "DC-UploadTagImageBtn", + ariaLabel: "Upload a default image for this tag", + tagId: this.tag.id() + })), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default()), { + className: "Button Button--primary", + icon: "fas fa-border-all", + onclick: function onclick() { + flarum_app__WEBPACK_IMPORTED_MODULE_0___default().modal.show(_components_WdcTagSettingsModal__WEBPACK_IMPORTED_MODULE_8__["default"], { + model: _this.tag + }); + } + }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.options_button")))), -20); + } + }); + flarum_app__WEBPACK_IMPORTED_MODULE_0___default().extensionData["for"]("walsgit-discussion-cards").registerPage(_components_Settings__WEBPACK_IMPORTED_MODULE_1__["default"]); +}); + +/***/ }), + +/***/ "flarum/admin/app": +/*!**************************************************!*\ + !*** external "flarum.core.compat['admin/app']" ***! + \**************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['admin/app']; + +/***/ }), + +/***/ "flarum/admin/components/ExtensionPage": +/*!***********************************************************************!*\ + !*** external "flarum.core.compat['admin/components/ExtensionPage']" ***! + \***********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['admin/components/ExtensionPage']; + +/***/ }), + +/***/ "flarum/admin/components/UploadImageButton": +/*!***************************************************************************!*\ + !*** external "flarum.core.compat['admin/components/UploadImageButton']" ***! + \***************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['admin/components/UploadImageButton']; + +/***/ }), + +/***/ "flarum/app": +/*!********************************************!*\ + !*** external "flarum.core.compat['app']" ***! + \********************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['app']; + +/***/ }), + +/***/ "flarum/common/Model": +/*!*****************************************************!*\ + !*** external "flarum.core.compat['common/Model']" ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/Model']; + +/***/ }), + +/***/ "flarum/common/components/Button": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Button']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Button']; + +/***/ }), + +/***/ "flarum/common/components/Modal": +/*!****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Modal']" ***! + \****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Modal']; + +/***/ }), + +/***/ "flarum/common/helpers/icon": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/icon']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/icon']; + +/***/ }), + +/***/ "flarum/common/utils/Stream": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/utils/Stream']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/Stream']; + +/***/ }), + +/***/ "flarum/common/utils/classList": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/utils/classList']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/classList']; + +/***/ }), + +/***/ "flarum/extend": +/*!***********************************************!*\ + !*** external "flarum.core.compat['extend']" ***! + \***********************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['extend']; + +/***/ }), + +/***/ "flarum/tags/components/EditTagModal": +/*!*********************************************************************!*\ + !*** external "flarum.core.compat['tags/components/EditTagModal']" ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['tags/components/EditTagModal']; + +/***/ }), + +/***/ "flarum/tags/models/Tag": +/*!********************************************************!*\ + !*** external "flarum.core.compat['tags/models/Tag']" ***! + \********************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['tags/models/Tag']; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! + \************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _extends) +/* harmony export */ }); +function _extends() { + return _extends = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, _extends.apply(null, arguments); +} + + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _inheritsLoose) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); + +function _inheritsLoose(t, o) { + t.prototype = Object.create(o.prototype), t.prototype.constructor = t, (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, o); +} + + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) +/* harmony export */ }); +function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!******************!*\ + !*** ./admin.js ***! + \******************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _src_admin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/admin */ "./src/admin/index.js"); +/* + * This file is part of Flarum. + * + * (c) Toby Zerner + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + + +})(); + +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 44f8b01..d59ef80 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/UploadImageButton'];","import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

If Flarumite Simple Discussion Views is installed & activated

\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/components/EditTagModal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","flarum","core","compat","_setPrototypeOf","t","e","setPrototypeOf","bind","__proto__","_inheritsLoose","create","constructor","Settings","_ExtensionPage","apply","arguments","_proto","content","m","className","app","trans","this","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","attribute","src","UploadImageButton","name","class","href","target","rel","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","show","saveSettings","settings","dirty","then","newSettings","endOfKey","replace","charAt","toUpperCase","pushAttributes","error","console","ExtensionPage","defaultSettings","WdcTagSettingsModal","_Modal","oninit","vnode","tagSettings","JSON","parse","attrs","model","data","attributes","walsgitDiscussionCardsTagSettings","forum","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","Stream","title","translator","style","color","htmlFor","default","bidi","Button","loading","disabled","changed","savedSettings","obj1","obj2","keys","length","compareObjects","isSameSettings","stringify","preventDefault","parseInt","alerts","desktopWidth","tabletWidth","tag","request","method","url","id","body","modal","close","Modal","_extends","assign","n","r","UploadTagImageButton","_Button","props","_this","tagId","view","classList","tags","walsgitDiscussionCardsTagDefaultImage","onclick","remove","alt","width","children","upload","_this2","$","appendTo","hide","trigger","on","FormData","append","files","redraw","resourceUrl","serialize","raw","success","failure","response","window","location","reload","add","Tag","WdcDefaultImage","Model","extend","EditTagModal","items","allowedTags","isActivatedForTag","includes","activationBtnClasses","DcTagSettingsClasses","activationBtnText","icon","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","registerPage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionActive.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionInstalled.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./admin.js"],"sourcesContent":["import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\nimport isExtensionInstalled from \"../helpers/isExtensionInstalled\";\r\nimport isExtensionActive from \"../helpers/isExtensionActive\";\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\t/* Supported third party extensions' info */\r\n\t\tconst viewsExtension = {\r\n\t\t\tid: 'flarumite-simple-discussion-views',\r\n\t\t\tname: 'Flarumite Simple Discussion Views',\r\n\t\t};\r\n\t\t\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_start\")}\r\n\t\t\t\t\t\t\t\tFlarumite Simple Discussion Views\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: !isExtensionInstalled(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_notInstalled\", {extName: viewsExtension.name}) : !isExtensionActive(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_notActivated\", {extName: viewsExtension.name}) : app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(viewsExtension) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","export default function isExtensionActive(extensionName) {\r\n if (app.data.settings.extensions_enabled.includes(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","export default function isExtensionInstalled(extensionName) {\r\n if (app.data.extensions.hasOwnProperty(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n","module.exports = flarum.core.compat['admin/app'];","module.exports = flarum.core.compat['admin/components/ExtensionPage'];","module.exports = flarum.core.compat['admin/components/UploadImageButton'];","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['tags/components/EditTagModal'];","module.exports = flarum.core.compat['tags/models/Tag'];","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/admin';\r\n"],"names":["app","ExtensionPage","UploadImageButton","isExtensionInstalled","isExtensionActive","Settings","_ExtensionPage","apply","arguments","_inheritsLoose","_proto","prototype","content","viewsExtension","id","name","m","className","translator","trans","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","forum","attribute","src","href","target","rel","extName","disabled","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","alerts","show","saveSettings","e","settings","dirty","call","then","newSettings","key","endOfKey","replace","charAt","toUpperCase","newKey","pushAttributes","error","console","default","Button","classList","EditTagModal","UploadTagImageButton","_Button","props","_this","loading","tagId","attrs","view","vnode","store","data","tags","attributes","walsgitDiscussionCardsTagDefaultImage","onclick","remove","bind","alt","width","_extends","children","upload","_this2","$input","$","appendTo","hide","trigger","on","body","FormData","append","files","redraw","request","method","url","resourceUrl","serialize","raw","success","failure","response","window","location","reload","Modal","Stream","defaultSettings","WdcTagSettingsModal","_Modal","oninit","tagSettings","JSON","parse","model","walsgitDiscussionCardsTagSettings","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","hasOwnProperty","title","style","color","htmlFor","bidi","changed","savedSettings","isSameSettings","obj1","obj2","Object","keys","length","compareObjects","stringify","preventDefault","parseInt","desktopWidth","tabletWidth","tag","modal","close","extensionName","extensions_enabled","includes","extensions","extend","Model","icon","Tag","initializers","add","WdcDefaultImage","items","allowedTags","isActivatedForTag","activationBtnClasses","DcTagSettingsClasses","activationBtnText","toggleActivation","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","extensionData","registerPage","assign","n","t","r","setPrototypeOf","o","create","constructor","_setPrototypeOf","__proto__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index fe72bb5..228f0f9 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,1064 @@ -(()=>{var s={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return s.d(a,{a}),a},d:(t,a)=>{for(var i in a)s.o(a,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:a[i]})},o:(s,t)=>Object.prototype.hasOwnProperty.call(s,t)};(()=>{"use strict";const t=flarum.core.compat.app;var a=s.n(t);const i=flarum.core.compat.extend,e=flarum.core.compat["forum/components/DiscussionList"];var r=s.n(e);const o=flarum.core.compat["forum/states/DiscussionListState"];var n=s.n(o);const c=flarum.core.compat["forum/components/IndexPage"];var l=s.n(c);const u=flarum.core.compat["common/components/LoadingIndicator"];var d=s.n(u);const p=flarum.core.compat["common/components/Placeholder"];var f=s.n(p);const g=flarum.core.compat["common/components/Button"];var v=s.n(g);function h(s,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(s,t){return s.__proto__=t,s},h(s,t)}function N(s,t){s.prototype=Object.create(t.prototype),s.prototype.constructor=s,h(s,t)}const w=flarum.core.compat["common/Component"];var b=s.n(w);const C=flarum.core.compat["common/helpers/icon"];var y=s.n(C);const I=flarum.core.compat["common/components/Tooltip"];var D=s.n(I);function L(s){if(s.length)return[m(".cardBadges",[s.map((function(s){return[m(D(),{text:s.attrs.label[0],position:"right"},m("span.cardBadge.Badge.Badge--"+s.attrs.type,[y()(s.attrs.icon)]))]}))])]}function P(s,t,a){void 0===a&&(a=1);var i=t,e=app.forum.attribute("baseUrl")+"/assets/"+i;if(s){var r=//.exec(s.contentHtml());return"number"==typeof a&&a>0?r?r[a]:i?e:null:"~"===a?r:null}}const A=flarum.core.compat["common/components/Link"];var T=s.n(A);const S=flarum.core.compat["tags/utils/sortTags"];var x=s.n(S);function O(s){if(s)return[x()(s).map((function(s){return[m(T(),{className:"cardTag",style:{backgroundColor:s.color()},href:app.route("tag",{tags:s.slug()})},s.name())]}))]}const B=flarum.core.compat["common/utils/humanTime"];var R=s.n(B);const _=flarum.core.compat["common/helpers/username"];var k=s.n(_);const j=flarum.core.compat["common/components/Dropdown"];var H=s.n(j);const W=flarum.core.compat["forum/utils/DiscussionControls"];var V=s.n(W);const z=flarum.core.compat["common/utils/string"],J=flarum.core.compat["common/helpers/avatar"];var F=s.n(J),M=function(s){function t(){return s.apply(this,arguments)||this}N(t,s);var a=t.prototype;return a.oninit=function(t){s.prototype.oninit.call(this,t),this.discussion=this.attrs.discussion},a.view=function(){return this.discussion.posts().splice(-10).filter((function(s){return!s.isHidden()&&1!==s.number()&&"comment"===s.contentType()})).sort((function(s,t){return t.createdAt()-s.createdAt()})).map((function(s){return s.user()})).filter((function(s,t,a){return a.indexOf(s)===t})).reverse().splice(-3).map((function(s){return F()(s,{className:"Avatar--mini"})}))},t}(b());function q(s,t){return s.isChild&&!t.isChild?-1:!s.isChild&&t.isChild?1:s.isChild&&t.isChild&&s.parent===t.parent?s.position-t.position:s.isChild&&t.isChild&&s.parent!==t.parent?s.parent-t.parent:!s.position&&t.position?1:s.position&&!t.position?-1:s.position&&t.position?s.position-t.position:s.id-t.id}var E=function(s){function t(){return s.apply(this,arguments)||this}N(t,s);var a=t.prototype;return a.oninit=function(t){s.prototype.oninit.call(this,t),this.discussion=this.attrs.discussion},a.view=function(){var s=this.discussion,t={};for(var a in app.forum.data.attributes)if(a.startsWith("walsgitDiscussionCards")){var i=a.replace("walsgitDiscussionCards","");t[i=i.replace(/^./,i.charAt(0).toLowerCase())]=app.forum.data.attributes[a]}var e,r=m.route.get().split("?")[0].startsWith("/t/");if(r){var o,n=null==(o=m.route.get().split("/t/")[1])?void 0:o.split("?")[0];e=app.store.all("tags").find((function(s){return s.slug()===n})).data.id;var c=app.store.all("tags").find((function(s){return s.id()===e})),l=c?JSON.parse(c.data.attributes.walsgitDiscussionCardsTagSettings||"{}"):{},u=c?c.data.attributes.walsgitDiscussionCardsTagDefaultImage:null;for(var d in l.defaultImage=u,l)t.hasOwnProperty(d)&&l[d]!==t[d]&&null!==l[d]&&(t[d]=l[d])}if("/"===m.route.get().split("?")[0]){var p=s.tags();for(var f in p){var g=p[f].id(),v=p[f].isChild(),h=p[f].data.hasOwnProperty("relationships")&&p[f].parent()?p[f].parent().data.id:null,N=p[f].position(),w=p[f].attribute("walsgitDiscussionCardsTagDefaultImage"),b={id:g,isChild:v,parent:h,position:N,tagCustomImg:w},C=null;t.allowedTags.includes(g)&&null!==w&&(null===C||q(b,C)<0)&&(C={id:g,isChild:v,parent:h,position:N,tagCustomImg:w},t.defaultImage=w)}}var I=1===Number(t.markReadCards)&&s.isRead()&&app.session.user?"read":"",D={};D.className="wrapImg"+(1===Number(t.showAuthor)?" After":"");var A=P(s.firstPost(),t.defaultImage),S=A?m("img",{src:A,className:"previewCardImg",alt:s.title(),loading:"lazy"}):m("div",{className:"imgStub"});return m("div",{key:s.id(),"data-id":s.id(),"data-tag-id":r?e:null,className:"CardsListItem Card "+I+(s.isHidden()?" Hidden":"")},V().controls(s,this).toArray().length?m(H(),{icon:"fas fa-ellipsis-v",className:"DiscussionListItem-controls",buttonClassName:"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right"},V().controls(s,this).toArray()):"",m(T(),{href:app.route.discussion(s,0),className:"cardLink"},1===Number(t.showBadges)?L(s.badges().toArray()):"",m("div",D,1!==Number(t.showViews)||isNaN(s.views())?"":m("div",{className:"imageLabel discussionViews"},y()("fas fa-eye",{className:"labelIcon"}),s.views()),S,1===Number(t.showAuthor)?m("div",{className:"cardFoot"},m("div",{className:"Author"},k()(s.user())),m("div",{className:"Date"},R()(s.createdAt()))):""),m("div",{className:"cardTags"},O(s.tags())),m("div",{className:"cardTitle"},m("h2",null,s.title())),1===Number(t.previewText)&&s.firstPost()?m("div",{className:"previewPost"},(0,z.truncate)(s.firstPost().contentPlain(),150)):"",1===Number(t.showReplies)?m("div",{className:"cardSpacer"},m(T(),{className:"Replies",href:app.route.discussion(s,s.lastPostNumber())},m("div",{className:"Left"},m("div",{className:"Avatars"},m(M,{discussion:s})),m("div",{className:"Repcount"},app.translator.trans("walsgit_discussion_cards.forum.replies",{count:s.replyCount()||"0"}))),m("div",{className:"Arrow"},y()("fas fa-angle-right")))):""))},t}(b()),G=function(s){function t(){return s.apply(this,arguments)||this}N(t,s);var a=t.prototype;return a.oninit=function(t){s.prototype.oninit.call(this,t)},a.view=function(){var s=this.attrs.discussion,t={};for(var a in app.forum.data.attributes)if(a.startsWith("walsgitDiscussionCards")){var i=a.replace("walsgitDiscussionCards","");t[i=i.replace(/^./,i.charAt(0).toLowerCase())]=app.forum.data.attributes[a]}if(m.route.get().split("?")[0].startsWith("/t/")){var e,r=null==(e=m.route.get().split("/t/")[1])?void 0:e.split("?")[0],o=app.store.all("tags").find((function(s){return s.slug()===r})).data.id,n=app.store.all("tags").find((function(s){return s.id()===o})),c=n?JSON.parse(n.data.attributes.walsgitDiscussionCardsTagSettings||"{}"):{},l=n?n.data.attributes.walsgitDiscussionCardsTagDefaultImage:null;for(var u in c.defaultImage=l,c)t.hasOwnProperty(u)&&c[u]!==t[u]&&null!==c[u]&&(t[u]=c[u])}if("/"===m.route.get().split("?")[0]){var d=s.tags();for(var p in d){var f=d[p].id(),g=d[p].isChild(),v=d[p].data.hasOwnProperty("relationships")&&d[p].parent()?d[p].parent().data.id:null,h=d[p].position(),N=d[p].attribute("walsgitDiscussionCardsTagDefaultImage"),w={id:f,isChild:g,parent:v,position:h,tagCustomImg:N},b=null;t.allowedTags.includes(f)&&null!==N&&(null===b||q(w,b)<0)&&(b={id:f,isChild:g,parent:v,position:h,tagCustomImg:N},t.defaultImage=N)}}var C=1===Number(t.markReadCards)&&s.isRead()&&app.session.user?"read":"",I={};I.className="wrapImg"+(1===Number(t.showAuthor)?" After":"");var D=P(s.firstPost(),t.defaultImage),A=D?m("img",{src:D,className:"previewCardImg",alt:s.title(),loading:"lazy"}):m("div",{className:"imgStub"});return m("div",{key:s.id(),"data-id":s.id(),className:"CardsListItem List "+C+(s.isHidden()?" Hidden":"")},V().controls(s,this).toArray().length?m(H(),{icon:"fas fa-ellipsis-v",className:"DiscussionListItem-controls",buttonClassName:"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right"},V().controls(s,this).toArray()):"",m(T(),{href:app.route.discussion(s,0),className:"cardLink"},1===Number(t.showBadges)?L(s.badges().toArray()):"",m("div",{className:"cardGrid"},m("div",{className:"rowSpan-3 colSpan"},m("div",I,1!==Number(t.showViews)||isNaN(s.views())?"":m("div",{className:"imageLabel discussionViews"},y()("fas fa-eye",{className:"labelIcon"}),s.views()),A,1===Number(t.showAuthor)?m("div",{className:"cardFoot"},m("div",{className:"Author"},k()(s.user())),m("div",{className:"Date"},R()(s.createdAt()))):"")),m("div",{className:"rowSpan-3 colSpan-2"},m("div",{className:"flexBox"},m("div",{className:"cardTitle"},m("h2",{title:s.title(),className:"title"},(0,z.truncate)(s.title(),80))),m("div",{className:"cardTags"},O(s.tags()))),1===Number(t.previewText)&&s.firstPost()?m("div",{className:"previewPost"},(0,z.truncate)(s.firstPost().contentPlain(),150)):"","phone"===app.screen()&&1===Number(t.showReplies)?m("div",{className:"cardSpacer"},m(T(),{className:"Replies",href:app.route.discussion(s,s.lastPostNumber())},m("div",{className:"Left"},m("div",{className:"Avatars"},m(M,{discussion:s})),m("div",{className:"Repcount"},app.translator.trans("walsgit_discussion_cards.forum.replies",{count:s.replyCount()||"0"}))),m("div",{className:"Arrow"},y()("fas fa-angle-right")))):1===Number(t.showReplies)?m("div",{className:"imageLabel discussionReplyCount"},y()("fas fa-comment",{className:"labelIcon"}),s.replyCount()):""))))},t}(b());const U={"walsgit/discussion/cards/components/CardItem":E,"walsgit/discussion/cards/components/ListItem":G,"walsgit/discussion/cards/components/LastReplies":M,"walsgit/discussion/cards/utils/craftTags":O,"walsgit/discussion/cards/utils/craftBadges":L},K=flarum.core;a().initializers.add("walsgit/discussion/cards",(function(){(0,i.extend)(n().prototype,"requestParams",(function(s){a().current.matches(l())&&s.include.push(["firstPost","posts","posts.user"])})),(0,i.override)(r().prototype,"view",(function(s){var t={};for(var i in a().forum.data.attributes)if(i.startsWith("walsgitDiscussionCards")){var e=i.replace("walsgitDiscussionCards","");e=e.replace(/^./,e.charAt(0).toLowerCase()),t[e]=a().forum.data.attributes[i]}var r,o=this.attrs.state,n=o.getParams();if(o.isInitialLoading()||o.isLoadingNext()?r=m(d(),null):o.hasNext()&&(r=v().component({className:"Button",onclick:o.loadNext.bind(o)},a().translator.trans("core.forum.discussion_list.load_more_button"))),o.isEmpty()){var c=a().translator.trans("core.forum.discussion_list.empty_text");return m("div",{className:"DiscussionList"},m(f(),{text:c}))}var u=null;if(m.route.get().split("?")[0].startsWith("/t/")){u=a().store.all("tags").find((function(s){return s.slug()===n.tags})).data.id;var p=JSON.parse(a().store.all("tags").find((function(s){return s.slug()===n.tags})).data.attributes.walsgitDiscussionCardsTagSettings);for(var g in p)t.hasOwnProperty(g)&&p[g]!==t[g]&&(t[g]=p[g])}return a().current.matches(l())&&(t.allowedTags.length&&t.allowedTags.includes(u)||!n.tags&&1===Number(t.onIndexPage))?m("div",{className:"DiscussionList"+(o.isSearchResults()?" DiscussionList--searchResults":"")},m("div",{class:"DiscussionList-discussions flexCard"},o.getPages().map((function(s,a){return s.items.map((function(s,i){return i { // webpackBootstrap +/******/ // runtime can't be in strict mode because a global variable is assign and maybe created. +/******/ var __webpack_modules__ = ({ + +/***/ "./src/forum/compat.js": +/*!*****************************!*\ + !*** ./src/forum/compat.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _components_CardItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/CardItem */ "./src/forum/components/CardItem.js"); +/* harmony import */ var _components_ListItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ListItem */ "./src/forum/components/ListItem.js"); +/* harmony import */ var _components_LastReplies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/LastReplies */ "./src/forum/components/LastReplies.js"); +/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/craftTags */ "./src/forum/utils/craftTags.js"); +/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/craftBadges */ "./src/forum/utils/craftBadges.js"); + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + 'walsgit/discussion/cards/components/CardItem': _components_CardItem__WEBPACK_IMPORTED_MODULE_0__["default"], + 'walsgit/discussion/cards/components/ListItem': _components_ListItem__WEBPACK_IMPORTED_MODULE_1__["default"], + 'walsgit/discussion/cards/components/LastReplies': _components_LastReplies__WEBPACK_IMPORTED_MODULE_2__["default"], + 'walsgit/discussion/cards/utils/craftTags': _utils_craftTags__WEBPACK_IMPORTED_MODULE_3__["default"], + 'walsgit/discussion/cards/utils/craftBadges': _utils_craftBadges__WEBPACK_IMPORTED_MODULE_4__["default"] +}); + +/***/ }), + +/***/ "./src/forum/components/CardItem.js": +/*!******************************************!*\ + !*** ./src/forum/components/CardItem.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ cardItem) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/craftBadges */ "./src/forum/utils/craftBadges.js"); +/* harmony import */ var _helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/getPostImage */ "./src/forum/helpers/getPostImage.js"); +/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/craftTags */ "./src/forum/utils/craftTags.js"); +/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/humanTime */ "flarum/common/utils/humanTime"); +/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/helpers/username */ "flarum/common/helpers/username"); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/forum/utils/DiscussionControls */ "flarum/forum/utils/DiscussionControls"); +/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/string */ "flarum/common/utils/string"); +/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); +/* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); + + + + + + + + + + + + + + +var cardItem = /*#__PURE__*/function (_Component) { + function cardItem() { + return _Component.apply(this, arguments) || this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(cardItem, _Component); + var _proto = cardItem.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + this.discussion = this.attrs.discussion; + }; + _proto.view = function view() { + var discussion = this.discussion; + var settings = {}; + for (var key in app.forum.data.attributes) { + if (key.startsWith('walsgitDiscussionCards')) { + var newKey = key.replace('walsgitDiscussionCards', ''); + newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); + settings[newKey] = app.forum.data.attributes[key]; + } + } + var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); + var tagId; + if (isTagPage) { + var _m$route$get$split$; + var slug = (_m$route$get$split$ = m.route.get().split('/t/')[1]) == null ? void 0 : _m$route$get$split$.split('?')[0]; + tagId = app.store.all('tags').find(function (t) { + return t.slug() === slug; + }).data.id; + var tag = app.store.all('tags').find(function (t) { + return t.id() === tagId; + }); + var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; + var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; + tagSettings.defaultImage = tagImage; + for (var _key in tagSettings) { + if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { + settings[_key] = tagSettings[_key]; + } + } + } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ + var isIndexPage = m.route.get().split('?')[0] === '/'; + if (isIndexPage) { + var tags = discussion.tags(); + for (var _key2 in tags) { + var _tagId = tags[_key2].id(); + var isChild = tags[_key2].isChild(); + var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; + var position = tags[_key2].position(); + var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); + var currentTag = { + id: _tagId, + isChild: isChild, + parent: parent, + position: position, + tagCustomImg: tagCustomImg + }; + var priorityTag = null; + if (!settings.allowedTags.includes(_tagId) || tagCustomImg === null) continue; + if (priorityTag === null || (0,_helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__["default"])(currentTag, priorityTag) < 0) { + priorityTag = { + id: _tagId, + isChild: isChild, + parent: parent, + position: position, + tagCustomImg: tagCustomImg + }; + settings.defaultImage = tagCustomImg; + } + } + } + var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? "read" : ""; + var attrs = {}; + attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ""); + var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage); + var media = image ? m("img", { + src: image, + className: "previewCardImg", + alt: discussion.title(), + loading: "lazy" + }) : m("div", { + className: "imgStub" + }); + return m("div", { + key: discussion.id(), + "data-id": discussion.id(), + "data-tag-id": isTagPage ? tagId : null, + className: "CardsListItem Card " + isRead + (discussion.isHidden() ? " Hidden" : "") + }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray().length ? m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default()), { + icon: "fas fa-ellipsis-v", + className: "DiscussionListItem-controls", + buttonClassName: "Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right" + }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray()) : "", m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { + href: app.route.discussion(discussion, 0), + className: "cardLink" + }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : "", m("div", attrs, console.log(discussion.data.attributes.hasOwnProperty('views')), discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { + className: "imageLabel discussionViews" + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-eye", { + className: "labelIcon" + }), discussion.views()) : ""), media, Number(settings.showAuthor) === 1 ? m("div", { + className: "cardFoot" + }, m("div", { + className: "Author" + }, flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default()(discussion.user())), m("div", { + className: "Date" + }, flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default()(discussion.createdAt()))) : ""), m("div", { + className: "cardTags" + }, (0,_utils_craftTags__WEBPACK_IMPORTED_MODULE_4__["default"])(discussion.tags())), m("div", { + className: "cardTitle" + }, m("h2", null, discussion.title())), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { + className: "previewPost" + }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : "", Number(settings.showReplies) === 1 ? m("div", { + className: "cardSpacer" + }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { + className: "Replies", + href: app.route.discussion(discussion, discussion.lastPostNumber()) + }, m("div", { + className: "Left" + }, m("div", { + className: "Avatars" + }, m(_LastReplies__WEBPACK_IMPORTED_MODULE_12__["default"], { + discussion: discussion + })), m("div", { + className: "Repcount" + }, app.translator.trans("walsgit_discussion_cards.forum.replies", { + count: discussion.replyCount() || "0" + }))), m("div", { + className: "Arrow" + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-angle-right")))) : "")); + }; + return cardItem; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/LastReplies.js": +/*!*********************************************!*\ + !*** ./src/forum/components/LastReplies.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ LastReplies) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/helpers/avatar */ "flarum/common/helpers/avatar"); +/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2__); + + + +var LastReplies = /*#__PURE__*/function (_Component) { + function LastReplies() { + return _Component.apply(this, arguments) || this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(LastReplies, _Component); + var _proto = LastReplies.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + this.discussion = this.attrs.discussion; + }; + _proto.view = function view() { + var discussion = this.discussion; + + // let's assume that the last 10 posts will be enough for us to identify 3 unique users + var posts = discussion.posts().splice(-10); + var filteredPosts = posts.filter(function (post) { + return !post.isHidden() && post.number() !== 1 && post.contentType() === "comment"; + }).sort(function (a, b) { + return b.createdAt() - a.createdAt(); + }); + var groupedUsers = filteredPosts.map(function (post) { + return post.user(); + }).filter(function (user, i, self) { + return self.indexOf(user) === i; + }).reverse() + // last 3 users + .splice(-3); + return groupedUsers.map(function (user) { + return flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2___default()(user, { + className: 'Avatar--mini' + }); + }); + }; + return LastReplies; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/components/ListItem.js": +/*!******************************************!*\ + !*** ./src/forum/components/ListItem.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ listItem) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); +/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/craftBadges */ "./src/forum/utils/craftBadges.js"); +/* harmony import */ var _helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/getPostImage */ "./src/forum/helpers/getPostImage.js"); +/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/craftTags */ "./src/forum/utils/craftTags.js"); +/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/humanTime */ "flarum/common/utils/humanTime"); +/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/helpers/username */ "flarum/common/helpers/username"); +/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); +/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/forum/utils/DiscussionControls */ "flarum/forum/utils/DiscussionControls"); +/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/string */ "flarum/common/utils/string"); +/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); +/* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); + + + + + + + + + + + + + + +var listItem = /*#__PURE__*/function (_Component) { + function listItem() { + return _Component.apply(this, arguments) || this; + } + (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(listItem, _Component); + var _proto = listItem.prototype; + _proto.oninit = function oninit(vnode) { + _Component.prototype.oninit.call(this, vnode); + }; + _proto.view = function view() { + var discussion = this.attrs.discussion; + var settings = {}; + for (var key in app.forum.data.attributes) { + if (key.startsWith('walsgitDiscussionCards')) { + var newKey = key.replace('walsgitDiscussionCards', ''); + newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); + settings[newKey] = app.forum.data.attributes[key]; + } + } + var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); + if (isTagPage) { + var _m$route$get$split$; + var slug = (_m$route$get$split$ = m.route.get().split('/t/')[1]) == null ? void 0 : _m$route$get$split$.split('?')[0]; + var tagId = app.store.all('tags').find(function (t) { + return t.slug() === slug; + }).data.id; + var tag = app.store.all('tags').find(function (t) { + return t.id() === tagId; + }); + var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; + var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; + tagSettings.defaultImage = tagImage; + for (var _key in tagSettings) { + if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { + settings[_key] = tagSettings[_key]; + } + } + } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ + var isIndexPage = m.route.get().split('?')[0] === '/'; + if (isIndexPage) { + var tags = discussion.tags(); + for (var _key2 in tags) { + var _tagId = tags[_key2].id(); + var isChild = tags[_key2].isChild(); + var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; + var position = tags[_key2].position(); + var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); + var currentTag = { + id: _tagId, + isChild: isChild, + parent: parent, + position: position, + tagCustomImg: tagCustomImg + }; + var priorityTag = null; + if (!settings.allowedTags.includes(_tagId) || tagCustomImg === null) continue; + if (priorityTag === null || (0,_helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__["default"])(currentTag, priorityTag) < 0) { + priorityTag = { + id: _tagId, + isChild: isChild, + parent: parent, + position: position, + tagCustomImg: tagCustomImg + }; + settings.defaultImage = tagCustomImg; + } + } + } + var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? 'read' : ''; + var attrs = {}; + attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ''); + var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage); + var media = image ? m("img", { + src: image, + className: "previewCardImg", + alt: discussion.title(), + loading: "lazy" + }) : m("div", { + className: "imgStub" + }); + return m("div", { + key: discussion.id(), + "data-id": discussion.id(), + className: "CardsListItem List " + isRead + (discussion.isHidden() ? " Hidden" : "") + }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray().length ? m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default()), { + icon: 'fas fa-ellipsis-v', + className: 'DiscussionListItem-controls', + buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right' + }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray()) : '', m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { + href: app.route.discussion(discussion, 0), + className: "cardLink" + }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : '', m("div", { + className: "cardGrid" + }, m("div", { + className: "rowSpan-3 colSpan" + }, m("div", attrs, discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { + className: "imageLabel discussionViews" + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-eye', { + className: 'labelIcon' + }), discussion.views()) : ''), media, Number(settings.showAuthor) === 1 ? m("div", { + className: "cardFoot" + }, m("div", { + className: "Author" + }, flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default()(discussion.user())), m("div", { + className: "Date" + }, flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default()(discussion.createdAt()))) : '')), m("div", { + className: "rowSpan-3 colSpan-2" + }, m("div", { + className: "flexBox" + }, m("div", { + className: "cardTitle" + }, m("h2", { + title: discussion.title(), + className: "title" + }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.title(), 80))), m("div", { + className: "cardTags" + }, (0,_utils_craftTags__WEBPACK_IMPORTED_MODULE_4__["default"])(discussion.tags()))), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { + className: "previewPost" + }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : '', app.screen() === 'phone' && Number(settings.showReplies) === 1 ? m("div", { + className: "cardSpacer" + }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { + className: "Replies", + href: app.route.discussion(discussion, discussion.lastPostNumber()) + }, m("div", { + className: "Left" + }, m("div", { + className: "Avatars" + }, m(_LastReplies__WEBPACK_IMPORTED_MODULE_12__["default"], { + discussion: discussion + })), m("div", { + className: "Repcount" + }, app.translator.trans('walsgit_discussion_cards.forum.replies', { + count: discussion.replyCount() || '0' + }))), m("div", { + className: "Arrow" + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-angle-right')))) : Number(settings.showReplies) === 1 ? m("div", { + className: "imageLabel discussionReplyCount" + }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-comment', { + className: 'labelIcon' + }), discussion.replyCount()) : '')))); + }; + return listItem; +}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); + + +/***/ }), + +/***/ "./src/forum/helpers/compareTags.js": +/*!******************************************!*\ + !*** ./src/forum/helpers/compareTags.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ compareTags) +/* harmony export */ }); +function compareTags(currentTag, priorityTag) { + if (currentTag.isChild && !priorityTag.isChild) return -1; + if (!currentTag.isChild && priorityTag.isChild) return 1; + if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position; + if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent; + if (!currentTag.position && priorityTag.position) return 1; + if (currentTag.position && !priorityTag.position) return -1; + if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position; + return currentTag.id - priorityTag.id; +} + +/***/ }), + +/***/ "./src/forum/helpers/getPostImage.js": +/*!*******************************************!*\ + !*** ./src/forum/helpers/getPostImage.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getPostImage) +/* harmony export */ }); +function getPostImage(post, defaultImage, key) { + if (key === void 0) { + key = 1; + } + var regex = //; + var image = defaultImage; + var defaultImg = app.forum.attribute("baseUrl") + "/assets/" + image; + if (post) { + var src = regex.exec(post.contentHtml()); + if (typeof key === "number" && key > 0) { + return src ? src[key] : image ? defaultImg : null; + } else if (key === '~') { + return src; + } else { + return null; + } + } +} + +/***/ }), + +/***/ "./src/forum/index.js": +/*!****************************!*\ + !*** ./src/forum/index.js ***! + \****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/app */ "flarum/app"); +/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_app__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/extend */ "flarum/extend"); +/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_extend__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/components/DiscussionList */ "flarum/forum/components/DiscussionList"); +/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/states/DiscussionListState */ "flarum/forum/states/DiscussionListState"); +/* harmony import */ var flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/components/IndexPage */ "flarum/forum/components/IndexPage"); +/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); +/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Placeholder */ "flarum/common/components/Placeholder"); +/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); +/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _components_CardItem__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/CardItem */ "./src/forum/components/CardItem.js"); +/* harmony import */ var _components_ListItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/ListItem */ "./src/forum/components/ListItem.js"); +/* harmony import */ var _compat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./compat */ "./src/forum/compat.js"); +/* harmony import */ var _flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @flarum/core/forum */ "@flarum/core/forum"); +/* harmony import */ var _flarum_core_forum__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__); + + + + + + + + + + +flarum_app__WEBPACK_IMPORTED_MODULE_0___default().initializers.add('walsgit/discussion/cards', function () { + (0,flarum_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3___default().prototype), 'requestParams', function (params) { + if (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().current.matches((flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default()))) { + params.include.push(['firstPost', 'posts', 'posts.user']); + } + }); + (0,flarum_extend__WEBPACK_IMPORTED_MODULE_1__.override)((flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2___default().prototype), 'view', function (original) { + var settings = {}; + for (var key in (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes) { + if (key.startsWith('walsgitDiscussionCards')) { + var newKey = key.replace('walsgitDiscussionCards', ''); + newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); + settings[newKey] = (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes[key]; + } + } + var state = this.attrs.state; + var params = state.getParams(); + var loading; + if (state.isInitialLoading() || state.isLoadingNext()) { + loading = m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default()), null); + } else if (state.hasNext()) { + loading = flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default().component({ + className: 'Button', + onclick: state.loadNext.bind(state) + }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('core.forum.discussion_list.load_more_button')); + } + if (state.isEmpty()) { + var text = flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('core.forum.discussion_list.empty_text'); + return m("div", { + className: "DiscussionList" + }, m((flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default()), { + text: text + })); + } + var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); + var tag = null; + if (isTagPage) { + tag = flarum_app__WEBPACK_IMPORTED_MODULE_0___default().store.all('tags').find(function (t) { + return t.slug() === params.tags; + }).data.id; + var tagSettings = JSON.parse(flarum_app__WEBPACK_IMPORTED_MODULE_0___default().store.all('tags').find(function (t) { + return t.slug() === params.tags; + }).data.attributes.walsgitDiscussionCardsTagSettings); + for (var _key in tagSettings) { + if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key]) { + settings[_key] = tagSettings[_key]; + } + } + } + if (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().current.matches((flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default())) && (settings.allowedTags.length && settings.allowedTags.includes(tag) || !params.tags && Number(settings.onIndexPage) === 1)) { + return m("div", { + className: 'DiscussionList' + (state.isSearchResults() ? ' DiscussionList--searchResults' : '') + }, m("div", { + "class": "DiscussionList-discussions flexCard" + }, state.getPages().map(function (pg, o) { + return pg.items.map(function (discussion, i) { + return i < Number(settings.primaryCards) && o === 0 ? m(_components_CardItem__WEBPACK_IMPORTED_MODULE_8__["default"], { + discussion: discussion + }) : m(_components_ListItem__WEBPACK_IMPORTED_MODULE_9__["default"], { + discussion: discussion + }); + }); + })), m("div", { + className: "DiscussionList-loadMore" + }, loading)); + } else { + return original(); + } + }); +}, -1); + +// Expose compat API + + +Object.assign(_flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__.compat, _compat__WEBPACK_IMPORTED_MODULE_10__["default"]); + +/***/ }), + +/***/ "./src/forum/utils/craftBadges.js": +/*!****************************************!*\ + !*** ./src/forum/utils/craftBadges.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ craftBadges) +/* harmony export */ }); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/components/Tooltip */ "flarum/common/components/Tooltip"); +/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1__); + + +function craftBadges(badges) { + if (badges.length) { + return [m('.cardBadges', [badges.map(function (badge) { + return [m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1___default()), { + text: badge.attrs.label[0], + position: 'right' + }, m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0___default()(badge.attrs.icon)]))]; + })])]; + } +} +; + +/***/ }), + +/***/ "./src/forum/utils/craftTags.js": +/*!**************************************!*\ + !*** ./src/forum/utils/craftTags.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ craftTags) +/* harmony export */ }); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); +/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/tags/utils/sortTags */ "flarum/tags/utils/sortTags"); +/* harmony import */ var flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1__); + + +function craftTags(tags) { + if (tags) { + return [flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1___default()(tags).map(function (tag) { + return [m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0___default()), { + className: "cardTag", + style: { + backgroundColor: tag.color() + }, + href: app.route('tag', { + tags: tag.slug() + }) + }, tag.name())]; + })]; + } +} +; + +/***/ }), + +/***/ "@flarum/core/forum": +/*!******************************!*\ + !*** external "flarum.core" ***! + \******************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core; + +/***/ }), + +/***/ "flarum/app": +/*!********************************************!*\ + !*** external "flarum.core.compat['app']" ***! + \********************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['app']; + +/***/ }), + +/***/ "flarum/common/Component": +/*!*********************************************************!*\ + !*** external "flarum.core.compat['common/Component']" ***! + \*********************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/Component']; + +/***/ }), + +/***/ "flarum/common/components/Button": +/*!*****************************************************************!*\ + !*** external "flarum.core.compat['common/components/Button']" ***! + \*****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Button']; + +/***/ }), + +/***/ "flarum/common/components/Dropdown": +/*!*******************************************************************!*\ + !*** external "flarum.core.compat['common/components/Dropdown']" ***! + \*******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Dropdown']; + +/***/ }), + +/***/ "flarum/common/components/Link": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/components/Link']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Link']; + +/***/ }), + +/***/ "flarum/common/components/LoadingIndicator": +/*!***************************************************************************!*\ + !*** external "flarum.core.compat['common/components/LoadingIndicator']" ***! + \***************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/LoadingIndicator']; + +/***/ }), + +/***/ "flarum/common/components/Placeholder": +/*!**********************************************************************!*\ + !*** external "flarum.core.compat['common/components/Placeholder']" ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Placeholder']; + +/***/ }), + +/***/ "flarum/common/components/Tooltip": +/*!******************************************************************!*\ + !*** external "flarum.core.compat['common/components/Tooltip']" ***! + \******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/components/Tooltip']; + +/***/ }), + +/***/ "flarum/common/helpers/avatar": +/*!**************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/avatar']" ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/avatar']; + +/***/ }), + +/***/ "flarum/common/helpers/icon": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/icon']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/icon']; + +/***/ }), + +/***/ "flarum/common/helpers/username": +/*!****************************************************************!*\ + !*** external "flarum.core.compat['common/helpers/username']" ***! + \****************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/helpers/username']; + +/***/ }), + +/***/ "flarum/common/utils/humanTime": +/*!***************************************************************!*\ + !*** external "flarum.core.compat['common/utils/humanTime']" ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/humanTime']; + +/***/ }), + +/***/ "flarum/common/utils/string": +/*!************************************************************!*\ + !*** external "flarum.core.compat['common/utils/string']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['common/utils/string']; + +/***/ }), + +/***/ "flarum/extend": +/*!***********************************************!*\ + !*** external "flarum.core.compat['extend']" ***! + \***********************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['extend']; + +/***/ }), + +/***/ "flarum/forum/components/DiscussionList": +/*!************************************************************************!*\ + !*** external "flarum.core.compat['forum/components/DiscussionList']" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/DiscussionList']; + +/***/ }), + +/***/ "flarum/forum/components/IndexPage": +/*!*******************************************************************!*\ + !*** external "flarum.core.compat['forum/components/IndexPage']" ***! + \*******************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/components/IndexPage']; + +/***/ }), + +/***/ "flarum/forum/states/DiscussionListState": +/*!*************************************************************************!*\ + !*** external "flarum.core.compat['forum/states/DiscussionListState']" ***! + \*************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/states/DiscussionListState']; + +/***/ }), + +/***/ "flarum/forum/utils/DiscussionControls": +/*!***********************************************************************!*\ + !*** external "flarum.core.compat['forum/utils/DiscussionControls']" ***! + \***********************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['forum/utils/DiscussionControls']; + +/***/ }), + +/***/ "flarum/tags/utils/sortTags": +/*!************************************************************!*\ + !*** external "flarum.core.compat['tags/utils/sortTags']" ***! + \************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = flarum.core.compat['tags/utils/sortTags']; + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": +/*!******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _inheritsLoose) +/* harmony export */ }); +/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); + +function _inheritsLoose(t, o) { + t.prototype = Object.create(o.prototype), t.prototype.constructor = t, (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, o); +} + + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) +/* harmony export */ }); +function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!******************!*\ + !*** ./forum.js ***! + \******************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _src_forum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/forum */ "./src/forum/index.js"); +/* + * This file is part of Flarum. + * + * (c) Toby Zerner + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + + +})(); + +module.exports = __webpack_exports__; +/******/ })() +; //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index c66a65e..2944a34 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/DiscussionListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Placeholder'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","export default function getPostImage(post, defaultImage, key = 1) {\r\n\r\n const regex = //;\r\n const image = defaultImage;\r\n const defaultImg = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? defaultImg : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/utils/sortTags'];","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/DiscussionControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{truncate(\r\n\t\t\t\t\t\t\t\tdiscussion.firstPost().contentPlain(),\r\n\t\t\t\t\t\t\t\t150\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n tagSettings.defaultImage = tagImage;\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost()\r\n ?
{truncate(discussion.firstPost().contentPlain(), 150)}
\r\n : ''}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core;","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","flarum","core","compat","_setPrototypeOf","t","e","setPrototypeOf","bind","__proto__","_inheritsLoose","create","constructor","craftBadges","badges","length","m","map","badge","Tooltip","text","attrs","label","position","type","icon","getPostImage","post","defaultImage","image","defaultImg","app","forum","attribute","src","exec","contentHtml","craftTags","tags","sortTags","tag","Link","className","style","backgroundColor","color","href","route","slug","name","LastReplies","_Component","apply","arguments","_proto","oninit","vnode","this","discussion","view","posts","splice","filter","isHidden","number","contentType","sort","b","createdAt","user","i","self","indexOf","reverse","avatar","Component","compareTags","currentTag","priorityTag","isChild","parent","id","cardItem","settings","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","tagId","isTagPage","split","_m$route$get$split$","store","all","find","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","tagCustomImg","allowedTags","includes","isRead","Number","markReadCards","session","showAuthor","firstPost","media","alt","title","loading","DiscussionControls","toArray","Dropdown","buttonClassName","showBadges","showViews","isNaN","views","username","humanTime","previewText","truncate","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","listItem","screen","CardItem","ListItem","add","extend","DiscussionListState","params","matches","IndexPage","include","push","override","DiscussionList","original","state","getParams","isInitialLoading","isLoadingNext","LoadingIndicator","hasNext","Button","onclick","loadNext","isEmpty","Placeholder","onIndexPage","isSearchResults","class","getPages","pg","items","primaryCards","assign","extCompat"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./forum.js"],"sourcesContent":["import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{console.log(discussion.data.attributes.hasOwnProperty('views'))}\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{truncate(\r\n\t\t\t\t\t\t\t\tdiscussion.firstPost().contentPlain(),\r\n\t\t\t\t\t\t\t\t150\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n tagSettings.defaultImage = tagImage;\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost()\r\n ?
{truncate(discussion.firstPost().contentPlain(), 150)}
\r\n : ''}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","export default function getPostImage(post, defaultImage, key = 1) {\r\n\r\n const regex = //;\r\n const image = defaultImage;\r\n const defaultImg = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? defaultImg : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","store","all","find","t","id","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","defaultImage","hasOwnProperty","isIndexPage","tags","isChild","parent","position","tagCustomImg","attribute","currentTag","priorityTag","allowedTags","includes","isRead","Number","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","console","log","'['","showViews","isNaN","views","createdAt","previewText","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","regex","defaultImg","exec","contentHtml","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/src/admin/components/Settings.js b/js/src/admin/components/Settings.js index 0a38554..5083190 100644 --- a/js/src/admin/components/Settings.js +++ b/js/src/admin/components/Settings.js @@ -1,9 +1,17 @@ import app from "flarum/admin/app"; import ExtensionPage from "flarum/admin/components/ExtensionPage"; import UploadImageButton from 'flarum/admin/components/UploadImageButton'; +import isExtensionInstalled from "../helpers/isExtensionInstalled"; +import isExtensionActive from "../helpers/isExtensionActive"; export default class Settings extends ExtensionPage { content() { + /* Supported third party extensions' info */ + const viewsExtension = { + id: 'flarumite-simple-discussion-views', + name: 'Flarumite Simple Discussion Views', + }; + return (
@@ -119,12 +127,19 @@ export default class Settings extends ExtensionPage { {app.translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")}

-

If Flarumite Simple Discussion Views is installed & activated

+

+ {app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start")} + Flarumite Simple Discussion Views + {app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")} +

{this.buildSettingComponent({ type: "switch", setting: "walsgit_discussion_cards_showViews", label: app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"), - help: app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), + help: !isExtensionInstalled(viewsExtension.id) + ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notInstalled", {extName: viewsExtension.name}) : !isExtensionActive(viewsExtension.id) + ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notActivated", {extName: viewsExtension.name}) : app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), + disabled: isExtensionActive(viewsExtension) ? false : true, })}
{this.submitButton()} diff --git a/js/src/admin/helpers/isExtensionActive.js b/js/src/admin/helpers/isExtensionActive.js new file mode 100644 index 0000000..f32f6a9 --- /dev/null +++ b/js/src/admin/helpers/isExtensionActive.js @@ -0,0 +1,6 @@ +export default function isExtensionActive(extensionName) { + if (app.data.settings.extensions_enabled.includes(extensionName)) { + return true; + } + return false; +} \ No newline at end of file diff --git a/js/src/admin/helpers/isExtensionInstalled.js b/js/src/admin/helpers/isExtensionInstalled.js new file mode 100644 index 0000000..4f34967 --- /dev/null +++ b/js/src/admin/helpers/isExtensionInstalled.js @@ -0,0 +1,6 @@ +export default function isExtensionInstalled(extensionName) { + if (app.data.extensions.hasOwnProperty(extensionName)) { + return true; + } + return false; +} \ No newline at end of file diff --git a/js/src/forum/components/CardItem.js b/js/src/forum/components/CardItem.js index 578b4fb..d346079 100644 --- a/js/src/forum/components/CardItem.js +++ b/js/src/forum/components/CardItem.js @@ -116,15 +116,21 @@ export default class cardItem extends Component { : ""}
- {Number(settings.showViews) === 1 && - !isNaN(discussion.views()) ? ( -
- {icon("fas fa-eye", { className: "labelIcon" })} - {discussion.views()} -
- ) : ( - "" + {console.log(discussion.data.attributes.hasOwnProperty('views'))} + {discussion.data.attributes.hasOwnProperty('views') && ( + <> + {Number(settings.showViews) === 1 && + !isNaN(discussion.views()) ? ( +
+ {icon("fas fa-eye", { className: "labelIcon" })} + {discussion.views()} +
+ ) : ( + "" + )} + )} + {media} {Number(settings.showAuthor) === 1 ? ( diff --git a/js/src/forum/components/ListItem.js b/js/src/forum/components/ListItem.js index 33dabd8..2b25a77 100644 --- a/js/src/forum/components/ListItem.js +++ b/js/src/forum/components/ListItem.js @@ -99,12 +99,17 @@ export default class listItem extends Component {
- {Number(settings.showViews) === 1 && !isNaN(discussion.views()) - ?
- {icon('fas fa-eye', {className: 'labelIcon'})} - {discussion.views()} -
- : ''} + {discussion.data.attributes.hasOwnProperty('views') && ( + <> + {Number(settings.showViews) === 1 && !isNaN(discussion.views()) + ?
+ {icon('fas fa-eye', {className: 'labelIcon'})} + {discussion.views()} +
+ : ''} + + )} + {media} {Number(settings.showAuthor) === 1 diff --git a/locale/en.yml b/locale/en.yml index c34651e..e2dddee 100644 --- a/locale/en.yml +++ b/locale/en.yml @@ -33,9 +33,13 @@ walsgit_discussion_cards: markReadCards_label: "Differentiate cards of read/unread discussions" markReadCards_help: "If activated, read discussions will have a black & white filter on their cards (image & tags), whereas unread discussions will be in full colors." otherOptions_title: "Options requiring other extensions" - otherOptions_info: "The following options will require other extensions to be installed and activated for them to work. IMPORTANT: please read all the info for each individual option and do the required steps before activating it." + otherOptions_info: "The following options will require other extensions to be installed and activated for them to work. IMPORTANT: please read all the info for each individual option and do the required steps before activating them." + showViews_title_start: "With the " + showViews_title_end: " extension installed and activated, you can:" showViews_label: "Show views" - showViews_help: "Must have the Flarumite Simple Discussion Views extension installed and activated. If option enabled, shows the number of views on the cards." + showViews_help: "If option is enabled, shows the number of views on the cards." + showViews_notInstalled: "The extension {extName} needs to be installed & activated for this setting to work." + showViews_notActivated: "The extension {extName} needs to be activated for this setting to work." tags: options_heading: "Discussion Cards" activation_button: "Activate for this tag" diff --git a/locale/fr.yml b/locale/fr.yml index b85e1b5..4028c77 100644 --- a/locale/fr.yml +++ b/locale/fr.yml @@ -34,8 +34,12 @@ walsgit_discussion_cards: markReadCards_help: "Si activé, les discussions lues se veront appliquer un filtre noir et blanc (sur l'image & tags), tandis que les discussions non lues garderont leur pleines couleurs." otherOptions_title: "Options qui nécessitent d'autres extensions" otherOptions_info: "Les options qui suivent sont dépendantes de l'installation et de l'activation d'extensions tierces pour fonctionner. IMPORTANT: merci de lire l'intégralité des informations de chaque option et assurez vous d'avoir réalisé toutes les étapes requises avant de l'activer." + showViews_title_start: "Avec l'extension " + showViews_title_end: " installée et activtée, vous pouvez :" showViews_label: "Affichez le nombre de vues" - showViews_help: "Nécessite d'avoir installé et activé l'extension Flarumite Simple Discussion Views. Si l'option est activée, cela affichera le nombre de vues de la discussion sur sa carte." + showViews_help: "Si l'option est activée, cela affichera le nombre de vues de la discussion sur sa carte." + showViews_notInstalled: "L'extension {extName} doit être installée et activée pour que cette option fonctionne." + showViews_notActivated: "L'extension {extName} doit être activée pour que cette option fonctionne." tags: options_heading: "Discussion Cards" activation_button: "Activez pour cette étiquette" From 37f8a4ec823ff3cc944edc777daab8de883e2696 Mon Sep 17 00:00:00 2001 From: Wa!id <108340184+WalsGit@users.noreply.github.com> Date: Tue, 19 Nov 2024 15:58:15 +0100 Subject: [PATCH 2/4] cleanup --- js/dist/forum.js | 2 +- js/dist/forum.js.map | 2 +- js/src/forum/components/CardItem.js | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/js/dist/forum.js b/js/dist/forum.js index 228f0f9..4170084 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -175,7 +175,7 @@ var cardItem = /*#__PURE__*/function (_Component) { }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray()) : "", m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { href: app.route.discussion(discussion, 0), className: "cardLink" - }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : "", m("div", attrs, console.log(discussion.data.attributes.hasOwnProperty('views')), discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { + }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : "", m("div", attrs, discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { className: "imageLabel discussionViews" }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-eye", { className: "labelIcon" diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index 2944a34..9ac7b29 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./forum.js"],"sourcesContent":["import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{console.log(discussion.data.attributes.hasOwnProperty('views'))}\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{truncate(\r\n\t\t\t\t\t\t\t\tdiscussion.firstPost().contentPlain(),\r\n\t\t\t\t\t\t\t\t150\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n tagSettings.defaultImage = tagImage;\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost()\r\n ?
{truncate(discussion.firstPost().contentPlain(), 150)}
\r\n : ''}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","export default function getPostImage(post, defaultImage, key = 1) {\r\n\r\n const regex = //;\r\n const image = defaultImage;\r\n const defaultImg = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? defaultImg : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","store","all","find","t","id","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","defaultImage","hasOwnProperty","isIndexPage","tags","isChild","parent","position","tagCustomImg","attribute","currentTag","priorityTag","allowedTags","includes","isRead","Number","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","console","log","'['","showViews","isNaN","views","createdAt","previewText","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","regex","defaultImg","exec","contentHtml","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./forum.js"],"sourcesContent":["import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{truncate(\r\n\t\t\t\t\t\t\t\tdiscussion.firstPost().contentPlain(),\r\n\t\t\t\t\t\t\t\t150\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n tagSettings.defaultImage = tagImage;\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost()\r\n ?
{truncate(discussion.firstPost().contentPlain(), 150)}
\r\n : ''}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","export default function getPostImage(post, defaultImage, key = 1) {\r\n\r\n const regex = //;\r\n const image = defaultImage;\r\n const defaultImg = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? defaultImg : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","store","all","find","t","id","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","defaultImage","hasOwnProperty","isIndexPage","tags","isChild","parent","position","tagCustomImg","attribute","currentTag","priorityTag","allowedTags","includes","isRead","Number","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","'['","showViews","isNaN","views","createdAt","previewText","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","regex","defaultImg","exec","contentHtml","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/src/forum/components/CardItem.js b/js/src/forum/components/CardItem.js index d346079..fd7dc81 100644 --- a/js/src/forum/components/CardItem.js +++ b/js/src/forum/components/CardItem.js @@ -116,7 +116,6 @@ export default class cardItem extends Component { : ""}
- {console.log(discussion.data.attributes.hasOwnProperty('views'))} {discussion.data.attributes.hasOwnProperty('views') && ( <> {Number(settings.showViews) === 1 && From db4f6ffb80627f07820a3966cb08c78cc459bd80 Mon Sep 17 00:00:00 2001 From: Wa!id <108340184+WalsGit@users.noreply.github.com> Date: Thu, 21 Nov 2024 17:21:31 +0100 Subject: [PATCH 3/4] Added support for blog extension --- CHANGELOG.md | 10 +- README.md | 2 + extend.php | 4 +- js/dist/admin.js | 52 +++++++-- js/dist/admin.js.map | 2 +- js/dist/forum.js | 106 ++++++++++++++++-- js/dist/forum.js.map | 2 +- js/src/admin/components/Settings.js | 57 +++++++++- js/src/forum/components/CardItem.js | 45 ++++++-- js/src/forum/components/ListItem.js | 49 +++++++- js/src/forum/helpers/getPostImage.js | 14 ++- js/src/forum/helpers/isValideImageUrl.js | 19 ++++ locale/en.yml | 14 ++- locale/fr.yml | 14 ++- ...new_setting_for_blog_extension_support.php | 19 ++++ 15 files changed, 357 insertions(+), 52 deletions(-) create mode 100644 js/src/forum/helpers/isValideImageUrl.js create mode 100644 migrations/2024_11_20_000000_set_new_setting_for_blog_extension_support.php diff --git a/CHANGELOG.md b/CHANGELOG.md index a10524b..8efc9cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,17 @@ # Changelog -## [1.1.0] - 2024-11-19 -- TODO: make compatible with blog (v17development-blog) +## [1.1.0] - 2024-11-21 +### Added +- Support for `v17development/flarum-blog` extension +- option to chose to use the blog's images (post featured image and blog default's image) for blog post cards +- option to chose to use blog posts' summary as preview text for blog post cards + ### Changed - Options for 3rd party extensions will only be enabled if said extensions are installed and activated. - Text & description associated with 3rd party extensions options ### Fixed -- Views won't throw error when show views option is activated but the relevant extension isn't installed and activated. +- Views won't throw error when `show views` option is activated but the relevant extension isn't installed and activated. ## [1.0.4] - 2024-11-16 ### Added diff --git a/README.md b/README.md index 8cd81b2..40d5eb2 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ On the ``index page`` (all discussions), if a discussion has multiple tags with ``` Also it changes how the setting to distinguish between read & unread discussion cards work: now the read discussions are filtred with a grayscale instead of the unread ones. +As of version `1.1.0` added support for `v17development/flarum-blog` extension. If activated, you can set to use the blog's extension images for blog posts' cards and/or their article summary as preview text on the cards. + ![Discussion Cards](https://i.postimg.cc/FsxNPWYk/flarum-ext-discussioncards-1.png) ### Notes diff --git a/extend.php b/extend.php index 520970f..33606b4 100644 --- a/extend.php +++ b/extend.php @@ -40,7 +40,9 @@ ->serializeToForum('walsgitDiscussionCardsShowReplies', 'walsgit_discussion_cards_showReplies') ->serializeToForum('walsgitDiscussionCardsShowBadges', 'walsgit_discussion_cards_showBadges') ->serializeToForum('walsgitDiscussionCardsMarkReadCards', 'walsgit_discussion_cards_markReadCards') - ->serializeToForum('walsgitDiscussionCardsShowViews', 'walsgit_discussion_cards_showViews'), + ->serializeToForum('walsgitDiscussionCardsShowViews', 'walsgit_discussion_cards_showViews') + ->serializeToForum('walsgitDiscussionCardsUseBlogImages', 'walsgit_discussion_cards_useBlogImages') + ->serializeToForum('walsgitDiscussionCardsUseBlogSummary', 'walsgit_discussion_cards_useBlogSummary'), (new Extend\ApiSerializer(TagSerializer::class)) ->attribute('walsgitDiscussionCardsTagDefaultImage', function ($serializer, $model) { diff --git a/js/dist/admin.js b/js/dist/admin.js index 0e081f2..57d1f8d 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -22,6 +22,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/isExtensionInstalled */ "./src/admin/helpers/isExtensionInstalled.js"); /* harmony import */ var _helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/isExtensionActive */ "./src/admin/helpers/isExtensionActive.js"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); +/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); + @@ -38,8 +41,15 @@ var Settings = /*#__PURE__*/function (_ExtensionPage) { /* Supported third party extensions' info */ var viewsExtension = { id: 'flarumite-simple-discussion-views', - name: 'Flarumite Simple Discussion Views' + name: 'Flarumite Simple Discussion Views', + url: 'https://flarum.org/extension/flarumite/simple-discussion-views' + }; + var blogExtension = { + id: 'v17development-blog', + name: 'Flarum Blog', + url: 'https://flarum.org/extension/v17development/flarum-blog' }; + var warningIcon = flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-exclamation-triangle"); return m("div", { className: "DiscussionCardsSettings" }, m("div", { @@ -142,19 +152,43 @@ var Settings = /*#__PURE__*/function (_ExtensionPage) { }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")), m("div", { className: "Section" }, m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start"), m("a", { - href: "https://flarum.org/extension/flarumite/simple-discussion-views", + href: viewsExtension.url, target: "_blank", rel: "noopener noreferrer" - }, "Flarumite Simple Discussion Views"), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")), this.buildSettingComponent({ + }, viewsExtension.name), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")), m("div", { + className: "helpText" + }, m("em", null, !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(viewsExtension.id) ? +flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled", { + icon: warningIcon + }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated", { + icon: warningIcon + }) : '')), this.buildSettingComponent({ type: "switch", setting: "walsgit_discussion_cards_showViews", label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"), - help: !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notInstalled", { - extName: viewsExtension.name - }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notActivated", { - extName: viewsExtension.name - }) : flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), - disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension) ? false : true + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), + disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? false : true + }), m("hr", null), m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_start"), m("a", { + href: blogExtension.url, + target: "_blank", + rel: "noopener noreferrer" + }, blogExtension.name), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_end")), m("div", { + className: "helpText" + }, m("em", null, !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(blogExtension.id) ? +flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled", { + icon: warningIcon + }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated", { + icon: warningIcon + }) : '')), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_useBlogImages", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_help"), + disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? false : true + }), this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_useBlogSummary", + label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_label"), + help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_help"), + disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? false : true })), this.submitButton()))); }; _proto.onsubmit = function onsubmit() { diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index d59ef80..987ff23 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionActive.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionInstalled.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./admin.js"],"sourcesContent":["import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\nimport isExtensionInstalled from \"../helpers/isExtensionInstalled\";\r\nimport isExtensionActive from \"../helpers/isExtensionActive\";\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\t/* Supported third party extensions' info */\r\n\t\tconst viewsExtension = {\r\n\t\t\tid: 'flarumite-simple-discussion-views',\r\n\t\t\tname: 'Flarumite Simple Discussion Views',\r\n\t\t};\r\n\t\t\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_start\")}\r\n\t\t\t\t\t\t\t\tFlarumite Simple Discussion Views\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: !isExtensionInstalled(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_notInstalled\", {extName: viewsExtension.name}) : !isExtensionActive(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_notActivated\", {extName: viewsExtension.name}) : app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(viewsExtension) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","export default function isExtensionActive(extensionName) {\r\n if (app.data.settings.extensions_enabled.includes(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","export default function isExtensionInstalled(extensionName) {\r\n if (app.data.extensions.hasOwnProperty(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n","module.exports = flarum.core.compat['admin/app'];","module.exports = flarum.core.compat['admin/components/ExtensionPage'];","module.exports = flarum.core.compat['admin/components/UploadImageButton'];","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['tags/components/EditTagModal'];","module.exports = flarum.core.compat['tags/models/Tag'];","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/admin';\r\n"],"names":["app","ExtensionPage","UploadImageButton","isExtensionInstalled","isExtensionActive","Settings","_ExtensionPage","apply","arguments","_inheritsLoose","_proto","prototype","content","viewsExtension","id","name","m","className","translator","trans","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","forum","attribute","src","href","target","rel","extName","disabled","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","alerts","show","saveSettings","e","settings","dirty","call","then","newSettings","key","endOfKey","replace","charAt","toUpperCase","newKey","pushAttributes","error","console","default","Button","classList","EditTagModal","UploadTagImageButton","_Button","props","_this","loading","tagId","attrs","view","vnode","store","data","tags","attributes","walsgitDiscussionCardsTagDefaultImage","onclick","remove","bind","alt","width","_extends","children","upload","_this2","$input","$","appendTo","hide","trigger","on","body","FormData","append","files","redraw","request","method","url","resourceUrl","serialize","raw","success","failure","response","window","location","reload","Modal","Stream","defaultSettings","WdcTagSettingsModal","_Modal","oninit","tagSettings","JSON","parse","model","walsgitDiscussionCardsTagSettings","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","hasOwnProperty","title","style","color","htmlFor","bidi","changed","savedSettings","isSameSettings","obj1","obj2","Object","keys","length","compareObjects","stringify","preventDefault","parseInt","desktopWidth","tabletWidth","tag","modal","close","extensionName","extensions_enabled","includes","extensions","extend","Model","icon","Tag","initializers","add","WdcDefaultImage","items","allowedTags","isActivatedForTag","activationBtnClasses","DcTagSettingsClasses","activationBtnText","toggleActivation","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","extensionData","registerPage","assign","n","t","r","setPrototypeOf","o","create","constructor","_setPrototypeOf","__proto__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmC;AAC+B;AACQ;AACP;AACN;AACf;AAAA,IAEzBM,QAAQ,0BAAAC,cAAA;EAAA,SAAAD,SAAA;IAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EAAAC,oFAAA,CAAAJ,QAAA,EAAAC,cAAA;EAAA,IAAAI,MAAA,GAAAL,QAAA,CAAAM,SAAA;EAAAD,MAAA,CAC5BE,OAAO,GAAP,SAAAA,OAAOA,CAAA,EAAG;IACT;IACA,IAAMC,cAAc,GAAG;MACtBC,EAAE,EAAE,mCAAmC;MACvCC,IAAI,EAAE,mCAAmC;MACzCC,GAAG,EAAE;IACN,CAAC;IACD,IAAMC,aAAa,GAAG;MACrBH,EAAE,EAAE,qBAAqB;MACzBC,IAAI,EAAE,aAAa;MACnBC,GAAG,EAAE;IACN,CAAC;IAED,IAAME,WAAW,GAAGd,iEAAI,CAAC,6BAA6B,CAAC;IAEvD,OACCe,CAAA;MAAKC,SAAS,EAAC;IAAyB,GACvCD,CAAA;MAAKC,SAAS,EAAC;IAAW,GACzBD,CAAA;MAAKC,SAAS,EAAC;IAAkC,GAChDD,CAAA,aAAKpB,kEAAc,CAACuB,KAAK,CAAC,6DAA6D,CAAM,CAAC,EAC9FH,CAAA;MAAGC,SAAS,EAAC;IAAU,GACrBrB,kEAAc,CAACuB,KAAK,CAAC,4DAA4D,CAChF,CAAC,EACJH,CAAA;MAAKC,SAAS,EAAC;IAAS,GACtB,IAAI,CAACG,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,yBAAyB;MAC/BC,OAAO,EAAE,sCAAsC;MAC/CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAC;MAChGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE,CAAC;MAC9FM,OAAO,EAAE;QACRC,gBAAgB,EAAE;MACnB;IACD,CAAC,CAAC,EACD,IAAI,CAACN,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,sCAAsC;MAC/CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAC;MAChGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE;IAC9F,CAAC,CACG,CAAC,EACNH,CAAA,aAAKpB,kEAAc,CAACuB,KAAK,CAAC,0EAA0E,CAAM,CAAC,EAC3GH,CAAA;MAAGC,SAAS,EAAC;IAAU,GACrBrB,kEAAc,CAACuB,KAAK,CAAC,yEAAyE,CAC7F,CAAC,EACJH,CAAA;MAAKC,SAAS,EAAC;IAAS,GACtB,IAAI,CAACG,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdJ,SAAS,EAAE,WAAW;MACtBK,OAAO,EAAE,uCAAuC;MAChDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,oEAAoE,CAAC;MACjGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAC;MAC/FQ,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE;IACd,CAAC,CAAC,EACD,IAAI,CAACT,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdJ,SAAS,EAAE,WAAW;MACtBK,OAAO,EAAE,2CAA2C;MACpDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,wEAAwE,CAAC;MACrGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,uEAAuE,CAAC;MACnGQ,GAAG,EAAE,EAAE;MACPG,GAAG,EAAE,GAAG;MACRF,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE;IACd,CAAC,CAAC,EACD,IAAI,CAACT,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdJ,SAAS,EAAE,WAAW;MACtBK,OAAO,EAAE,0CAA0C;MACnDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,uEAAuE,CAAC;MACpGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,sEAAsE,CAAC;MAClGQ,GAAG,EAAE,EAAE;MACPG,GAAG,EAAE,GAAG;MACRF,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE;IACd,CAAC,CACG,CAAC,EACNb,CAAA,aAAKpB,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAM,CAAC,EACpGH,CAAA;MAAGC,SAAS,EAAC;IAAU,GACrBrB,kEAAc,CAACuB,KAAK,CAAC,kEAAkE,CACtF,CAAC,EACJH,CAAA;MAAKC,SAAS,EAAC;IAAS,GACvBD,CAAA;MAAKC,SAAS,EAAC;IAAyB,GACvCD,CAAA,aAAKpB,kEAAc,CAACuB,KAAK,CAAC,oEAAoE,CAAM,CAAC,EACrGH,CAAA;MAAGC,SAAS,EAAC;IAAU,GACrBrB,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CACvF,CAAC,EACHvB,6DAAS,CAACoC,SAAS,CAAC,oCAAoC,CAAC,KAAK,IAAI,GAChEhB,CAAA;MAAKC,SAAS,EAAC;IAAS,CAAM,CAAC,GAC/BD,CAAA;MAAKC,SAAS,EAAC,sBAAsB;MAACgB,GAAG,EAAErC,6DAAS,CAACoC,SAAS,CAAC,SAAS,CAAC,GAAG,UAAU,GAAGpC,6DAAS,CAACoC,SAAS,CAAC,oCAAoC;IAAE,CAAC,CAAC,EAEvJhB,CAAC,CAAClB,kFAAiB,EAAE;MAACc,IAAI,EAAE,wCAAwC;MAAE,SAAO;IAAmB,CAAC,CAC9F,CAAC,EACL,IAAI,CAACQ,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,sCAAsC;MAC/CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAC;MAChGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE;IAC9F,CAAC,CAAC,EACD,IAAI,CAACC,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,qCAAqC;MAC9CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE,CAAC;MAC/FK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,iEAAiE;IAC7F,CAAC,CAAC,EACD,IAAI,CAACC,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,sCAAsC;MAC/CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CAAC;MAChGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE;IAC9F,CAAC,CAAC,EACD,IAAI,CAACC,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,qCAAqC;MAC9CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,kEAAkE,CAAC;MAC/FK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,iEAAiE;IAC7F,CAAC,CAAC,EACD,IAAI,CAACC,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,wCAAwC;MACjDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,qEAAqE,CAAC;MAClGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,oEAAoE;IAChG,CAAC,CACG,CAAC,EACNH,CAAA,aAAKpB,kEAAc,CAACuB,KAAK,CAAC,oEAAoE,CAAM,CAAC,EACrGH,CAAA;MAAGC,SAAS,EAAC;IAAU,GACrBrB,kEAAc,CAACuB,KAAK,CAAC,mEAAmE,CACvF,CAAC,EACJH,CAAA;MAAKC,SAAS,EAAC;IAAS,GACvBD,CAAA,aACEpB,kEAAc,CAACuB,KAAK,CAAC,uEAAuE,CAAC,EAC9FH,CAAA;MAAGkB,IAAI,EAAExB,cAAc,CAACG,GAAI;MAACsB,MAAM,EAAC,QAAQ;MAACC,GAAG,EAAC;IAAqB,GAAE1B,cAAc,CAACE,IAAQ,CAAC,EAC/FhB,kEAAc,CAACuB,KAAK,CAAC,qEAAqE,CACxF,CAAC,EACLH,CAAA;MAAKC,SAAS,EAAC;IAAU,GACxBD,CAAA,aACE,CAACjB,yEAAoB,CAACW,cAAc,CAACC,EAAE,CAAC,GACvC,CAAEf,kEAAc,CAACuB,KAAK,CAAC,6EAA6E,EAAE;MAAClB,IAAI,EAAEc;IAAW,CAAC,CAAC,GAC5H,CAACf,sEAAiB,CAACU,cAAc,CAACC,EAAE,CAAC,GACnCf,kEAAc,CAACuB,KAAK,CAAC,6EAA6E,EAAE;MAAClB,IAAI,EAAEc;IAAW,CAAC,CAAC,GAC1H,EACG,CACA,CAAC,EACL,IAAI,CAACK,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,oCAAoC;MAC7CC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,iEAAiE,CAAC;MAC9FK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,gEAAgE,CAAC;MAC5FkB,QAAQ,EAAErC,sEAAiB,CAACU,cAAc,CAACC,EAAE,CAAC,GAAG,KAAK,GAAG;IAC1D,CAAC,CAAC,EACFK,CAAA,WAAQ,CAAC,EACTA,CAAA,aACEpB,kEAAc,CAACuB,KAAK,CAAC,2EAA2E,CAAC,EAClGH,CAAA;MAAGkB,IAAI,EAAEpB,aAAa,CAACD,GAAI;MAACsB,MAAM,EAAC,QAAQ;MAACC,GAAG,EAAC;IAAqB,GAAEtB,aAAa,CAACF,IAAQ,CAAC,EAC7FhB,kEAAc,CAACuB,KAAK,CAAC,yEAAyE,CAC5F,CAAC,EACLH,CAAA;MAAKC,SAAS,EAAC;IAAU,GACxBD,CAAA,aACE,CAACjB,yEAAoB,CAACe,aAAa,CAACH,EAAE,CAAC,GACtC,CAAEf,kEAAc,CAACuB,KAAK,CAAC,4EAA4E,EAAE;MAAClB,IAAI,EAAEc;IAAW,CAAC,CAAC,GAC3H,CAACf,sEAAiB,CAACc,aAAa,CAACH,EAAE,CAAC,GAClCf,kEAAc,CAACuB,KAAK,CAAC,4EAA4E,EAAE;MAAClB,IAAI,EAAEc;IAAW,CAAC,CAAC,GACzH,EACG,CACA,CAAC,EACL,IAAI,CAACK,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,wCAAwC;MACjDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,qEAAqE,CAAC;MAClGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,oEAAoE,CAAC;MAChGkB,QAAQ,EAAErC,sEAAiB,CAACc,aAAa,CAACH,EAAE,CAAC,GAAG,KAAK,GAAG;IACzD,CAAC,CAAC,EACD,IAAI,CAACS,qBAAqB,CAAC;MAC3BC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,yCAAyC;MAClDC,KAAK,EAAE3B,kEAAc,CAACuB,KAAK,CAAC,sEAAsE,CAAC;MACnGK,IAAI,EAAE5B,kEAAc,CAACuB,KAAK,CAAC,qEAAqE,CAAC;MACjGkB,QAAQ,EAAErC,sEAAiB,CAACc,aAAa,CAACH,EAAE,CAAC,GAAG,KAAK,GAAG;IACzD,CAAC,CACG,CAAC,EACL,IAAI,CAAC2B,YAAY,CAAC,CACf,CACD,CACD,CAAC;EAER,CAAC;EAAA/B,MAAA,CAEDgC,QAAQ,GAAR,SAAAA,QAAQA,CAAA,EAAG;IACV,IAAMC,YAAY,GAAGC,MAAM,CAAC,IAAI,CAACnB,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC;IACpF,IAAMoB,gBAAgB,GAAGD,MAAM,CAAC,IAAI,CAACnB,OAAO,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAMqB,eAAe,GAAGF,MAAM,CAAC,IAAI,CAACnB,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC;IAEpF,IAAIkB,YAAY,GAAG,CAAC,IAAII,KAAK,CAACJ,YAAY,CAAC,EAAE;MACzC5C,8DAAU,CAACkD,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,kEAAc,CAACuB,KAAK,CAAC,oDAAoD,CAAC,CAAC;MAC9G,OAAO,KAAK;IAChB;IACA,IAAIuB,gBAAgB,GAAG,EAAE,IAAIA,gBAAgB,GAAG,GAAG,IAAIE,KAAK,CAACF,gBAAgB,CAAC,EAAE;MAC5E9C,8DAAU,CAACkD,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,kEAAc,CAACuB,KAAK,CAAC,wDAAwD,CAAC,CAAC;MAClH,OAAO,KAAK;IAChB;IACA,IAAIwB,eAAe,GAAG,EAAE,IAAIA,eAAe,GAAG,GAAG,IAAIC,KAAK,CAACD,eAAe,CAAC,EAAE;MACzE/C,8DAAU,CAACkD,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,kEAAc,CAACuB,KAAK,CAAC,uDAAuD,CAAC,CAAC;MACjH,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI;EACf,CAAC;EAAAZ,MAAA,CAEJwC,YAAY,GAAZ,SAAAA,YAAYA,CAACC,CAAC,EAAE;IACT,IAAI,CAAC,IAAI,CAACT,QAAQ,CAAC,CAAC,EAAE;MAClB;IACJ;IACN,IAAMU,QAAQ,GAAG,IAAI,CAACC,KAAK,CAAC,CAAC;IAEvB/C,cAAA,CAAAK,SAAA,CAAMuC,YAAY,CAAAI,IAAA,OAACH,CAAC,EACzBI,IAAI,CAAC,YAAM;MACX,IAAMC,WAAW,GAAG,CAAC,CAAC;MACtB,KAAK,IAAMC,GAAG,IAAIL,QAAQ,EAAE;QAC3B,IAAIM,QAAQ,GAAGD,GAAG,CAACE,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;QAC3DD,QAAQ,GAAGA,QAAQ,CAACC,OAAO,CAAC,IAAI,EAAED,QAAQ,CAACE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;QACnE,IAAMC,MAAM,GAAG,wBAAwB,GAAGJ,QAAQ;QAClDF,WAAW,CAACM,MAAM,CAAC,GAAGV,QAAQ,CAACK,GAAG,CAAC;MACpC;MACA1D,6DAAS,CAACgE,cAAc,CAACP,WAAW,CAAC;IACrC,CAAC,CAAC,SACI,CAAC,UAACQ,KAAK,EAAK;MACjBC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACrB,CAAC,CAAC;EACD,CAAC;EAAA,OAAA3D,QAAA;AAAA,EAtOiCL,8EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPhB;AACkB;AACC;AACS;AAAA,IAG1CsE,oBAAoB,0BAAAC,OAAA;EACxC,SAAAD,qBAAYE,KAAK,EAAE;IAAA,IAAAC,KAAA;IAClBA,KAAA,GAAAF,OAAA,CAAAjB,IAAA,OAAMkB,KAAK,CAAC;IAACC,KAAA,CAIdC,OAAO,GAAG,KAAK;IAHdD,KAAA,CAAKE,KAAK,GAAGH,KAAK,CAACI,KAAK,CAACD,KAAK;IAAC,OAAAF,KAAA;EAChC;EAAChE,oFAAA,CAAA6D,oBAAA,EAAAC,OAAA;EAAA,IAAA7D,MAAA,GAAA4D,oBAAA,CAAA3D,SAAA;EAAAD,MAAA,CAIDmE,IAAI,GAAJ,SAAAA,IAAIA,CAACC,KAAK,EAAE;IACX,IAAI,CAACF,KAAK,CAACF,OAAO,GAAG,IAAI,CAACA,OAAO;IACjC,IAAI,CAACE,KAAK,CAACxD,SAAS,GAAGgD,oEAAS,CAAC,IAAI,CAACQ,KAAK,CAACxD,SAAS,EAAE,QAAQ,CAAC;IAEhE,IAAIrB,+DAAS,CAACiF,IAAI,CAACC,IAAI,CAAC,IAAI,CAACN,KAAK,CAAC,CAACK,IAAI,CAACE,UAAU,CAACC,qCAAqC,EAAE;MAC1F,IAAI,CAACP,KAAK,CAACQ,OAAO,GAAG,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC;MAE3C,OACCnE,CAAA,cACCA,CAAA,YACCA,CAAA;QACCC,SAAS,EAAC,oBAAoB;QAC9BgB,GAAG,EAAE,SAAS,GAAGrC,+DAAS,CAACiF,IAAI,CAACC,IAAI,CAAC,IAAI,CAACN,KAAK,CAAC,CAACK,IAAI,CAACE,UAAU,CAACC,qCAAsC;QACvGI,GAAG,EAAC,EAAE;QACNC,KAAK,EAAC;MAAO,CACb,CACC,CAAC,EACJrE,CAAA,YAAAoD,OAAA,CAAA5D,SAAA,CACQkE,IAAI,CAAAvB,IAAA,OAAAmC,8EAAA,KACPX,KAAK;QACRY,QAAQ,EAAE3F,kEAAc,CAACuB,KAAK,CAC7B,uCACD;MAAC,GAEA,CACC,CAAC;IAER,CAAC,MAAM;MACN,IAAI,CAACsD,KAAK,CAACQ,OAAO,GAAG,IAAI,CAACO,MAAM,CAACL,IAAI,CAAC,IAAI,CAAC;IAC5C;IAEA,OAAAf,OAAA,CAAA5D,SAAA,CAAakE,IAAI,CAAAvB,IAAA,OAAAmC,8EAAA,KACbX,KAAK;MACRY,QAAQ,EAAE3F,kEAAc,CAACuB,KAAK,CAC7B,uCACD;IAAC;EAEH;;EAEA;AACD;AACA,KAFC;EAAAZ,MAAA,CAGAiF,MAAM,GAAN,SAAAA,MAAMA,CAAA,EAAG;IAAA,IAAAC,MAAA;IACR,IAAI,IAAI,CAAClB,OAAO,EAAE;IAElB,IAAMmB,MAAM,GAAGC,CAAC,CAAC,qBAAqB,CAAC;IAEvCD,MAAM,CACJE,QAAQ,CAAC,MAAM,CAAC,CAChBC,IAAI,CAAC,CAAC,CACNC,OAAO,CAAC,OAAO,CAAC,CAChBC,EAAE,CAAC,QAAQ,EAAE,UAAC/C,CAAC,EAAK;MACpB,IAAMgD,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;MAC3BD,IAAI,CAACE,MAAM,CAACT,MAAI,CAAChB,KAAK,CAAC7D,IAAI,EAAE+E,CAAC,CAAC3C,CAAC,CAACb,MAAM,CAAC,CAAC,CAAC,CAAC,CAACgE,KAAK,CAAC,CAAC,CAAC,CAAC;MACrDH,IAAI,CAACE,MAAM,CAAC,OAAO,EAAET,MAAI,CAACjB,KAAK,CAAC;MAEhCiB,MAAI,CAAClB,OAAO,GAAG,IAAI;MACnBvD,CAAC,CAACoF,MAAM,CAAC,CAAC;MAEVxG,+DAAW,CAAC;QACX0G,MAAM,EAAE,MAAM;QACdzF,GAAG,EAAE4E,MAAI,CAACc,WAAW,CAAC,CAAC;QACvBC,SAAS,EAAE,SAAXA,SAASA,CAAGC,GAAG;UAAA,OAAKA,GAAG;QAAA;QACvBT,IAAI,EAAJA;MACD,CAAC,CAAC,CAAC5C,IAAI,CAACqC,MAAI,CAACiB,OAAO,CAACvB,IAAI,CAACM,MAAI,CAAC,EAAEA,MAAI,CAACkB,OAAO,CAACxB,IAAI,CAACM,MAAI,CAAC,CAAC;IAC1D,CAAC,CAAC;EACJ;;EAEA;AACD;AACA,KAFC;EAAAlF,MAAA,CAGA2E,MAAM,GAAN,SAAAA,MAAMA,CAAA,EAAG;IACR,IAAI,CAACX,OAAO,GAAG,IAAI;IACnBvD,CAAC,CAACoF,MAAM,CAAC,CAAC;IAEV,IAAMJ,IAAI,GAAG,IAAIC,QAAQ,CAAC,CAAC;IAC3BD,IAAI,CAACE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC1B,KAAK,CAAC;IAEhC5E,+DAAW,CAAC;MACX0G,MAAM,EAAE,QAAQ;MAChBzF,GAAG,EAAE,IAAI,CAAC0F,WAAW,CAAC,CAAC;MACvBP,IAAI,EAAJA;IACD,CAAC,CAAC,CAAC5C,IAAI,CAAC,IAAI,CAACsD,OAAO,CAACvB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACwB,OAAO,CAACxB,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1D,CAAC;EAAA5E,MAAA,CAEDgG,WAAW,GAAX,SAAAA,WAAWA,CAAA,EAAG;IACb,OAAO3G,6DAAS,CAACoC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAACyC,KAAK,CAAC7D,IAAI;EAC7D;;EAEA;AACD;AACA;AACA;AACA;AACA,KALC;EAAAL,MAAA,CAMAmG,OAAO,GAAP,SAAAA,OAAOA,CAACE,QAAQ,EAAE;IACjBC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;EACzB;;EAEA;AACD;AACA;AACA;AACA;AACA,KALC;EAAAxG,MAAA,CAMAoG,OAAO,GAAP,SAAAA,OAAOA,CAACC,QAAQ,EAAE;IACjB,IAAI,CAACrC,OAAO,GAAG,KAAK;IACpBvD,CAAC,CAACoF,MAAM,CAAC,CAAC;EACX,CAAC;EAAA,OAAAjC,oBAAA;AAAA,EApHgDH,wEAAM;;;;;;;;;;;;;;;;;;;;;;;;ACNH;AACF;AACH;AAEhD,IAAIkD,eAAe,GAAG,CAAC,CAAC;AAAC,IAEJC,mBAAmB,0BAAAC,MAAA;EAAA,SAAAD,oBAAA;IAAA,OAAAC,MAAA,CAAAhH,KAAA,OAAAC,SAAA;EAAA;EAAAC,oFAAA,CAAA6G,mBAAA,EAAAC,MAAA;EAAA,IAAA7G,MAAA,GAAA4G,mBAAA,CAAA3G,SAAA;EAAAD,MAAA,CACvC8G,MAAM,GAAN,SAAAA,MAAMA,CAAC1C,KAAK,EAAE;IACbyC,MAAA,CAAA5G,SAAA,CAAM6G,MAAM,CAAAlE,IAAA,OAACwB,KAAK;IAElB,IAAI,CAAC2C,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC/C,KAAK,CAACgD,KAAK,CAAC5C,IAAI,CAACE,UAAU,CAAC2C,iCAAiC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/GR,eAAe,GAAG;MACjB1E,YAAY,EAAE5C,GAAG,CAACmC,KAAK,CAAC8C,IAAI,CAACE,UAAU,CAAC4C,kCAAkC;MAC1EjF,gBAAgB,EAAE9C,GAAG,CAACmC,KAAK,CAAC8C,IAAI,CAACE,UAAU,CAAC6C,sCAAsC;MAClFjF,eAAe,EAAE/C,GAAG,CAACmC,KAAK,CAAC8C,IAAI,CAACE,UAAU,CAAC8C;IAC5C,CAAC;IAED,IAAI,CAAC,IAAI,CAACP,WAAW,CAACQ,cAAc,CAAC,cAAc,CAAC,IAAI,IAAI,CAACR,WAAW,CAAC9E,YAAY,KAAK,IAAI,EAAE;MAC/F,IAAI,CAAC8E,WAAW,CAAC9E,YAAY,GAAG0E,eAAe,CAAC1E,YAAY;IAC7D;IACA,IAAI,CAAC,IAAI,CAAC8E,WAAW,CAACQ,cAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAACR,WAAW,CAAC5E,gBAAgB,KAAK,IAAI,EAAE;MACvG,IAAI,CAAC4E,WAAW,CAAC5E,gBAAgB,GAAGwE,eAAe,CAACxE,gBAAgB;IACrE;IACA,IAAI,CAAC,IAAI,CAAC4E,WAAW,CAACQ,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAACR,WAAW,CAAC3E,eAAe,KAAK,IAAI,EAAE;MACrG,IAAI,CAAC2E,WAAW,CAAC3E,eAAe,GAAGuE,eAAe,CAACvE,eAAe;IACnE;IAEA,IAAI,CAAC2E,WAAW,CAAC9E,YAAY,GAAGyE,iEAAM,CAAC,IAAI,CAACK,WAAW,CAAC9E,YAAY,CAAC;IACrE,IAAI,CAAC8E,WAAW,CAAC5E,gBAAgB,GAAGuE,iEAAM,CAAC,IAAI,CAACK,WAAW,CAAC5E,gBAAgB,CAAC;IAC7E,IAAI,CAAC4E,WAAW,CAAC3E,eAAe,GAAGsE,iEAAM,CAAC,IAAI,CAACK,WAAW,CAAC3E,eAAe,CAAC;EAE5E,CAAC;EAAApC,MAAA,CACDU,SAAS,GAAT,SAAAA,SAASA,CAAA,EAAG;IACX,OAAO,kCAAkC;EAC1C,CAAC;EAAAV,MAAA,CAEDwH,KAAK,GAAL,SAAAA,KAAKA,CAAA,EAAG;IACP,OAAO,CACNnI,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,gDAAgD,CAAC,EACtEH,CAAA;MACCC,SAAS,EAAC,kBAAkB;MAC5B+G,KAAK,EAAE,YAAY,GAAG,IAAI,CAACvD,KAAK,CAACgD,KAAK,CAAC5C,IAAI,CAACE,UAAU,CAACkD,KAAK,GAAG;IAAI,GAEnEjH,CAAA;MAAMC,SAAS,EAAC;IAAe,GAC9BD,CAAA;MAAMC,SAAS,EAAC;IAAe,GAAE,IAAI,CAACwD,KAAK,CAACgD,KAAK,CAAC5C,IAAI,CAACE,UAAU,CAACnE,IAAW,CACxE,CACD,CAAC,CACP;EACF,CAAC;EAAAL,MAAA,CAEDE,OAAO,GAAP,SAAAA,OAAOA,CAAA,EAAG;IACT,OAAO,CACNO,CAAA;MAAKC,SAAS,EAAC;IAAY,GAC1BD,CAAA;MAAKC,SAAS,EAAC;IAAM,GACpBD,CAAA,YACEpB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,qDAAqD,CACzE,CAAC,EAEJH,CAAA;MAAKC,SAAS,EAAC;IAAY,GAC1BD,CAAA;MAAOkH,OAAO,EAAC;IAAc,GAAEtI,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,6DAA6D,CAAS,CAAC,EAC3HH,CAAA;MAAKC,SAAS,EAAC;IAAU,GAAErB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,4DAA4D,EAAE;MAAC,WAAS+F,eAAe,CAAC1E;IAAY,CAAC,CAAO,CAAC,EAC7JxB,CAAA;MACCK,IAAI,EAAC,QAAQ;MACbT,IAAI,EAAC,cAAc;MACnBK,SAAS,EAAC,uBAAuB;MACjCkH,IAAI,EAAE,IAAI,CAACb,WAAW,CAAC9E;IAAa,CACpC,CACG,CAAC,EACNxB,CAAA;MAAKC,SAAS,EAAC;IAAY,GAC1BD,CAAA;MAAOkH,OAAO,EAAC;IAAkB,GAAEtI,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,iEAAiE,CAAS,CAAC,EACnIH,CAAA;MAAKC,SAAS,EAAC;IAAU,GAAErB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,gEAAgE,EAAE;MAAC,WAAS+F,eAAe,CAACxE;IAAgB,CAAC,CAAO,CAAC,EACrK1B,CAAA;MACCK,IAAI,EAAC,QAAQ;MACbT,IAAI,EAAC,kBAAkB;MACvBK,SAAS,EAAC,uBAAuB;MACjCkH,IAAI,EAAE,IAAI,CAACb,WAAW,CAAC5E;IAAiB,CACxC,CACG,CAAC,EACN1B,CAAA;MAAKC,SAAS,EAAC;IAAY,GAC1BD,CAAA;MAAOkH,OAAO,EAAC;IAAiB,GAAEtI,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,gEAAgE,CAAS,CAAC,EACjIH,CAAA;MAAKC,SAAS,EAAC;IAAU,GAAErB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,+DAA+D,EAAE;MAAC,WAAS+F,eAAe,CAACvE;IAAe,CAAC,CAAO,CAAC,EACnK3B,CAAA;MACCK,IAAI,EAAC,QAAQ;MACbT,IAAI,EAAC,iBAAiB;MACtBK,SAAS,EAAC,uBAAuB;MACjCkH,IAAI,EAAE,IAAI,CAACb,WAAW,CAAC3E;IAAgB,CACvC,CACG,CAAC,EACN3B,CAAA,CAACgD,wEAAM;MACN3C,IAAI,EAAC,QAAQ;MACbJ,SAAS,EAAC,wBAAwB;MAClCsD,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBlC,QAAQ,EAAE,IAAI,CAAC+F,OAAO,CAAC;IAAE,GAExBxI,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,wDAAwD,CACvE,CACJ,CACD,CAAC,CACN;EACF,CAAC;EAAAZ,MAAA,CACD6H,OAAO,GAAP,SAAAA,OAAOA,CAAA,EAAG;IACT,IAAIC,aAAa,GAAGd,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC/C,KAAK,CAACgD,KAAK,CAAC5C,IAAI,CAACE,UAAU,CAAC2C,iCAAiC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAElH,SAASY,cAAcA,CAACC,IAAI,EAAEC,IAAI,EAAE;MACnC,IAAG,OAAOD,IAAI,KAAK,QAAQ,IAAG,OAAOC,IAAI,KAAK,QAAQ,EAAE;QACvD,OAAO,KAAK;MACb;MAEA,IAAIC,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAACI,MAAM,KAAKF,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,EAAE;QAC1D,OAAO,KAAK;MACb;MAEA,KAAK,IAAMrF,GAAG,IAAIiF,IAAI,EAAE;QACvB,IAAIA,IAAI,CAACT,cAAc,CAACxE,GAAG,CAAC,EAAE;UAC7B,IAAI,OAAOiF,IAAI,CAACjF,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAOkF,IAAI,CAAClF,GAAG,CAAC,KAAK,QAAQ,EAAE;YACnE,IAAI,CAACsF,cAAc,CAACL,IAAI,CAACjF,GAAG,CAAC,EAAEkF,IAAI,CAAClF,GAAG,CAAC,CAAC,EAAE;cAC1C,OAAO,KAAK;YACb;UACD,CAAC,MAAM,IAAIiF,IAAI,CAACjF,GAAG,CAAC,KAAKkF,IAAI,CAAClF,GAAG,CAAC,EAAE;YACnC,OAAO,KAAK;UACb;QACD;MACD;MAEA,OAAO,IAAI;IACZ;IAEA,OAAOgF,cAAc,CAACf,IAAI,CAACC,KAAK,CAACD,IAAI,CAACsB,SAAS,CAAC,IAAI,CAACvB,WAAW,CAAC,CAAC,EAAEe,aAAa,CAAC;EACnF,CAAC;EAAA9H,MAAA,CAEDgC,QAAQ,GAAR,SAAAA,QAAQA,CAACS,CAAC,EAAE;IACXA,CAAC,CAAC8F,cAAc,CAAC,CAAC;IAElB,IAAMtG,YAAY,GAAGuG,QAAQ,CAAC,IAAI,CAACzB,WAAW,CAAC9E,YAAY,CAAC,CAAC,CAAC;IAC9D,IAAII,KAAK,CAACJ,YAAY,CAAC,IAAIA,YAAY,GAAG,CAAC,EAAE;MAC5C5C,GAAG,CAACiD,MAAM,CAACC,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,oDAAoD,CAAC,CAAC;MAC9G;IACD;IAEA,IAAM6H,YAAY,GAAGD,QAAQ,CAAC,IAAI,CAACzB,WAAW,CAAC5E,gBAAgB,CAAC,CAAC,CAAC;IAClE,IAAIE,KAAK,CAACoG,YAAY,CAAC,IAAIA,YAAY,GAAG,EAAE,IAAIA,YAAY,GAAG,GAAG,EAAE;MACnEpJ,GAAG,CAACiD,MAAM,CAACC,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,wDAAwD,CAAC,CAAC;MAClH;IACD;IAEA,IAAM8H,WAAW,GAAGF,QAAQ,CAAC,IAAI,CAACzB,WAAW,CAAC3E,eAAe,CAAC,CAAC,CAAC;IAChE,IAAIC,KAAK,CAACqG,WAAW,CAAC,IAAIA,WAAW,GAAG,EAAE,IAAIA,WAAW,GAAG,GAAG,EAAE;MAChErJ,GAAG,CAACiD,MAAM,CAACC,IAAI,CAAC;QAAEzB,IAAI,EAAE;MAAQ,CAAC,EAAEzB,GAAG,CAACsB,UAAU,CAACC,KAAK,CAAC,uDAAuD,CAAC,CAAC;MACjH;IACD;IAEA,IAAM+H,GAAG,GAAG,IAAI,CAACzE,KAAK,CAACgD,KAAK;IAE5B,IAAI,CAACH,WAAW,CAAC9E,YAAY,CAACA,YAAY,CAAC;IAC3C,IAAI,CAAC8E,WAAW,CAAC5E,gBAAgB,CAACsG,YAAY,CAAC;IAC/C,IAAI,CAAC1B,WAAW,CAAC3E,eAAe,CAACsG,WAAW,CAAC;IAE7C,IAAM3B,WAAW,GAAGC,IAAI,CAACsB,SAAS,CAAC,IAAI,CAACvB,WAAW,CAAC;IAEpD,IAAI,CAAC/C,OAAO,GAAG,IAAI;IAEnB3E,GAAG,CAACyG,OAAO,CAAC;MACXC,MAAM,EAAE,OAAO;MACfzF,GAAG,EACFjB,GAAG,CAACmC,KAAK,CAACC,SAAS,CAAC,QAAQ,CAAC,GAC7B,QAAQ,GACRkH,GAAG,CAACvI,EAAE,CAAC,CAAC,GACR,cAAc;MACfqF,IAAI,EAAE;QAAEnB,IAAI,EAAE;UAAEyC,WAAW,EAAXA;QAAY;MAAE;IAC/B,CAAC,CAAC,CAAClE,IAAI,CAAC,YAAY;MACnB8F,GAAG,CAACrE,IAAI,CAACE,UAAU,CAAC2C,iCAAiC,GAAGJ,WAAW;MACnE1H,GAAG,CAACuJ,KAAK,CAACC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;EACH,CAAC;EAAA,OAAAjC,mBAAA;AAAA,EAxK+CH,uEAAK;;;;;;;;;;;;;;;;ACNvC,SAAShH,iBAAiBA,CAACqJ,aAAa,EAAE;EACrD,IAAIzJ,GAAG,CAACiF,IAAI,CAAC5B,QAAQ,CAACqG,kBAAkB,CAACC,QAAQ,CAACF,aAAa,CAAC,EAAE;IAC9D,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB;;;;;;;;;;;;;;;ACLe,SAAStJ,oBAAoBA,CAACsJ,aAAa,EAAE;EACxD,IAAIzJ,GAAG,CAACiF,IAAI,CAAC2E,UAAU,CAAC1B,cAAc,CAACuB,aAAa,CAAC,EAAE;IACnD,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL6B;AACgB;AACN;AACC;AACa;AACP;AACL;AACsB;AACI;AACE;AAErEzJ,8DAAgB,CAACiK,GAAG,CAAC,0BAA0B,EAAE,YAAM;EACtDF,yEAAa,CAACG,eAAe,GAAGJ,oEAAe,CAC9C,4CACD,CAAC;EAEDD,qDAAM,CAACvF,sFAAsB,EAAE,QAAQ,EAAE,UAAU6F,KAAK,EAAE;IAAA,IAAAzF,KAAA;IACzD,IAAI,IAAI,CAAC4E,GAAG,CAACvI,EAAE,CAAC,CAAC,EAAE;MAClB,IAAIqJ,WAAW,GAAGzC,IAAI,CAACC,KAAK,CAAC5H,uDAAS,CAACoC,SAAS,CAAC,mCAAmC,CAAC,CAAC;MACtF,IAAIiI,iBAAiB,GAAGD,WAAW,CAACT,QAAQ,CAAC,IAAI,CAACL,GAAG,CAACvI,EAAE,CAAC,CAAC,CAAC;MAE3D,IAAIuJ,oBAAoB,GAAGD,iBAAiB,GACzC,mCAAmC,GACnC,yCAAyC;MAC5C,IAAIE,oBAAoB,GAAGF,iBAAiB,GAAG,gBAAgB,GAAG,0BAA0B;MAC5F,IAAIG,iBAAiB,GAAGH,iBAAiB,GACtCrK,4DAAc,CAACuB,KAAK,CAAC,yDAAyD,CAAC,GAC/EvB,4DAAc,CAACuB,KAAK,CAAC,uDAAuD,CAAC;MAEhF,IAAMkJ,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;QAC9BJ,iBAAiB,GAAG,CAACA,iBAAiB;QACtC,IAAIA,iBAAiB,EAAE;UACtBD,WAAW,CAACM,IAAI,CAAChG,KAAI,CAAC4E,GAAG,CAACvI,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,MAAM;UACNqJ,WAAW,GAAGA,WAAW,CAACO,MAAM,CAAC,UAAA5J,EAAE;YAAA,OAAIA,EAAE,KAAK2D,KAAI,CAAC4E,GAAG,CAACvI,EAAE,CAAC,CAAC;UAAA,EAAC;QAC7D;QAEAf,yDAAW,CAAC;UACX0G,MAAM,EAAE,MAAM;UACdzF,GAAG,EAAEjB,uDAAS,CAACoC,SAAS,CAAC,QAAQ,CAAC,GAAG,kDAAkD;UACvFgE,IAAI,EAAE;YAAEgE,WAAW,EAAXA;UAAY;QACrB,CAAC,CAAC,CAAC5G,IAAI,CAAC,YAAM;UACbxD,yDAAS,CAACiF,IAAI,CAACE,UAAU,CAACyF,iCAAiC,GAAGjD,IAAI,CAACsB,SAAS,CAACmB,WAAW,CAAC;UACzFpK,wDAAQ,CAACqD,QAAQ,CAACwH,oCAAoC,GAAGlD,IAAI,CAACsB,SAAS,CAACmB,WAAW,CAAC;UAEpFC,iBAAiB,GAAG,CAACA,iBAAiB;UACtCC,oBAAoB,GAAGD,iBAAiB,GACrC,mCAAmC,GACnC,yCAAyC;UAC5CE,oBAAoB,GAAGF,iBAAiB,GAAG,gBAAgB,GAAG,0BAA0B;UACxFG,iBAAiB,GAAGH,iBAAiB,GAClCrK,4DAAc,CAACuB,KAAK,CAAC,yDAAyD,CAAC,GAC/EvB,4DAAc,CAACuB,KAAK,CAAC,uDAAuD,CAAC;UAChFH,CAAC,CAACoF,MAAM,CAAC,CAAC;QACX,CAAC,CAAC;MACH,CAAC;MAED2D,KAAK,CAACF,GAAG,CACR,8BAA8B,EAC9B7I,CAAA;QAAUC,SAAS,EAAC;MAAa,GAChCD,CAAA,iBACEpB,4DAAc,CAACuB,KAAK,CAAC,qDAAqD,CACpE,CAAC,EAETH,CAAA,CAACgD,wEAAM;QACN/C,SAAS,EAAEiJ,oBAAqB;QAChCjK,IAAI,EAAC,mBAAmB;QACxBgF,OAAO,EAAEoF;MAAiB,GAEzBD,iBACM,CAAC,EAETpJ,CAAA;QAAKC,SAAS,EAAEkJ;MAAqB,GACpCnJ,CAAA;QAAKC,SAAS,EAAC;MAA4B,GAC1CD,CAAA,aACEpB,4DAAc,CAACuB,KAAK,CAAC,wDAAwD,CAC3E,CAAC,EACLH,CAAA;QAAGC,SAAS,EAAC;MAAU,GACrBrB,4DAAc,CAACuB,KAAK,CAAC,uDAAuD,CAC3E,CAAC,EACHH,CAAC,CAACmD,wEAAoB,EAAE;QACxBvD,IAAI,EAAE,4CAA4C;QAClDK,SAAS,EAAE,sBAAsB;QACjCyJ,SAAS,EAAE,qCAAqC;QAChDlG,KAAK,EAAE,IAAI,CAAC0E,GAAG,CAACvI,EAAE,CAAC;MACpB,CAAC,CACG,CAAC,EACNK,CAAA,CAACgD,wEAAM;QACN/C,SAAS,EAAC,wBAAwB;QAClChB,IAAI,EAAC,mBAAmB;QACxBgF,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;UACdrF,uDAAS,CAACkD,IAAI,CAACqE,uEAAmB,EAAE;YAAEM,KAAK,EAAEnD,KAAI,CAAC4E;UAAI,CAAC,CAAC;QACzD;MAAE,GAEDtJ,4DAAc,CAACuB,KAAK,CAAC,oDAAoD,CACnE,CACJ,CACI,CAAC,EACX,CAAC,EACF,CAAC;IACF;EACD,CAAC,CAAC;EAEFvB,+DAAiB,OAAI,CAAC,0BAA0B,CAAC,CAACgL,YAAY,CAAC1K,4DAAQ,CAAC;AACzE,CAAC,CAAC;;;;;;;;;;;ACxGF;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;ACAA,SAASoF,QAAQA,CAAA,EAAG;EAClB,OAAOA,QAAQ,GAAGmD,MAAM,CAACoC,MAAM,GAAGpC,MAAM,CAACoC,MAAM,CAAC1F,IAAI,CAAC,CAAC,GAAG,UAAU2F,CAAC,EAAE;IACpE,KAAK,IAAI9H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3C,SAAS,CAACsI,MAAM,EAAE3F,CAAC,EAAE,EAAE;MACzC,IAAI+H,CAAC,GAAG1K,SAAS,CAAC2C,CAAC,CAAC;MACpB,KAAK,IAAIgI,CAAC,IAAID,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEjD,cAAc,CAAC3E,IAAI,CAAC4H,CAAC,EAAEC,CAAC,CAAC,KAAKF,CAAC,CAACE,CAAC,CAAC,GAAGD,CAAC,CAACC,CAAC,CAAC,CAAC;IAClE;IACA,OAAOF,CAAC;EACV,CAAC,EAAExF,QAAQ,CAAClF,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;AACpC;;;;;;;;;;;;;;;;;ACRiD;AACjD,SAASC,cAAcA,CAACyK,CAAC,EAAEG,CAAC,EAAE;EAC5BH,CAAC,CAACvK,SAAS,GAAGiI,MAAM,CAAC0C,MAAM,CAACD,CAAC,CAAC1K,SAAS,CAAC,EAAEuK,CAAC,CAACvK,SAAS,CAAC4K,WAAW,GAAGL,CAAC,EAAEE,8DAAc,CAACF,CAAC,EAAEG,CAAC,CAAC;AAC7F;;;;;;;;;;;;;;;;ACHA,SAASG,eAAeA,CAACN,CAAC,EAAE/H,CAAC,EAAE;EAC7B,OAAOqI,eAAe,GAAG5C,MAAM,CAACwC,cAAc,GAAGxC,MAAM,CAACwC,cAAc,CAAC9F,IAAI,CAAC,CAAC,GAAG,UAAU4F,CAAC,EAAE/H,CAAC,EAAE;IAC9F,OAAO+H,CAAC,CAACO,SAAS,GAAGtI,CAAC,EAAE+H,CAAC;EAC3B,CAAC,EAAEM,eAAe,CAACN,CAAC,EAAE/H,CAAC,CAAC;AAC1B;;;;;;;UCJA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionActive.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionInstalled.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./admin.js"],"sourcesContent":["import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\nimport isExtensionInstalled from \"../helpers/isExtensionInstalled\";\r\nimport isExtensionActive from \"../helpers/isExtensionActive\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\t/* Supported third party extensions' info */\r\n\t\tconst viewsExtension = {\r\n\t\t\tid: 'flarumite-simple-discussion-views',\r\n\t\t\tname: 'Flarumite Simple Discussion Views',\r\n\t\t\turl: 'https://flarum.org/extension/flarumite/simple-discussion-views',\r\n\t\t};\r\n\t\tconst blogExtension = {\r\n\t\t\tid: 'v17development-blog',\r\n\t\t\tname: 'Flarum Blog',\r\n\t\t\turl: 'https://flarum.org/extension/v17development/flarum-blog',\r\n\t\t};\r\n\r\n\t\tconst warningIcon = icon(\"fas fa-exclamation-triangle\");\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_start\")}\r\n\t\t\t\t\t\t\t\t{viewsExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(viewsExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_start\")}\r\n\t\t\t\t\t\t\t\t{blogExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogImages\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogSummary\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","export default function isExtensionActive(extensionName) {\r\n if (app.data.settings.extensions_enabled.includes(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","export default function isExtensionInstalled(extensionName) {\r\n if (app.data.extensions.hasOwnProperty(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n","module.exports = flarum.core.compat['admin/app'];","module.exports = flarum.core.compat['admin/components/ExtensionPage'];","module.exports = flarum.core.compat['admin/components/UploadImageButton'];","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['tags/components/EditTagModal'];","module.exports = flarum.core.compat['tags/models/Tag'];","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/admin';\r\n"],"names":["app","ExtensionPage","UploadImageButton","isExtensionInstalled","isExtensionActive","icon","Settings","_ExtensionPage","apply","arguments","_inheritsLoose","_proto","prototype","content","viewsExtension","id","name","url","blogExtension","warningIcon","m","className","translator","trans","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","forum","attribute","src","href","target","rel","disabled","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","alerts","show","saveSettings","e","settings","dirty","call","then","newSettings","key","endOfKey","replace","charAt","toUpperCase","newKey","pushAttributes","error","console","default","Button","classList","EditTagModal","UploadTagImageButton","_Button","props","_this","loading","tagId","attrs","view","vnode","store","data","tags","attributes","walsgitDiscussionCardsTagDefaultImage","onclick","remove","bind","alt","width","_extends","children","upload","_this2","$input","$","appendTo","hide","trigger","on","body","FormData","append","files","redraw","request","method","resourceUrl","serialize","raw","success","failure","response","window","location","reload","Modal","Stream","defaultSettings","WdcTagSettingsModal","_Modal","oninit","tagSettings","JSON","parse","model","walsgitDiscussionCardsTagSettings","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","hasOwnProperty","title","style","color","htmlFor","bidi","changed","savedSettings","isSameSettings","obj1","obj2","Object","keys","length","compareObjects","stringify","preventDefault","parseInt","desktopWidth","tabletWidth","tag","modal","close","extensionName","extensions_enabled","includes","extensions","extend","Model","Tag","initializers","add","WdcDefaultImage","items","allowedTags","isActivatedForTag","activationBtnClasses","DcTagSettingsClasses","activationBtnText","toggleActivation","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","extensionData","registerPage","assign","n","t","r","setPrototypeOf","o","create","constructor","_setPrototypeOf","__proto__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index 4170084..0dfeec3 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -66,6 +66,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); /* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); +/* harmony import */ var _helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../helpers/isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); + @@ -100,6 +102,22 @@ var cardItem = /*#__PURE__*/function (_Component) { settings[newKey] = app.forum.data.attributes[key]; } } + + /* Getting & setting relevant info for 3rd party Flarum Blog extension support */ + var blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); + var blogSettings = {}; + var postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); + var blogPost = {}; + if (blogActivated) { + blogSettings.tags = app.forum.attribute('blogTags'); + blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); + if (postIsBlogType) { + var blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; + if ((0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPostsData.attribute('featuredImage'))) { + blogPost.featuredImage = blogPostsData.attribute('featuredImage'); + } + } + } var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); var tagId; if (isTagPage) { @@ -114,12 +132,17 @@ var cardItem = /*#__PURE__*/function (_Component) { var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; tagSettings.defaultImage = tagImage; + /* In case Flarum Blog Extension and useBlogImage are activated */ + if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } for (var _key in tagSettings) { if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { settings[_key] = tagSettings[_key]; } } } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ var isIndexPage = m.route.get().split('?')[0] === '/'; if (isIndexPage) { @@ -130,6 +153,10 @@ var cardItem = /*#__PURE__*/function (_Component) { var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; var position = tags[_key2].position(); var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); + /* In case Flarum Blog Extension and useBlogImage are activated */ + if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(_tagId)) { + tagCustomImg = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } var currentTag = { id: _tagId, isChild: isChild, @@ -154,7 +181,7 @@ var cardItem = /*#__PURE__*/function (_Component) { var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? "read" : ""; var attrs = {}; attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ""); - var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage); + var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage, postIsBlogType); var media = image ? m("img", { src: image, className: "previewCardImg", @@ -191,7 +218,7 @@ var cardItem = /*#__PURE__*/function (_Component) { className: "cardTitle" }, m("h2", null, discussion.title())), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { className: "previewPost" - }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : "", Number(settings.showReplies) === 1 ? m("div", { + }, blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' ? (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.blogMeta().summary(), 150) : (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : "", Number(settings.showReplies) === 1 ? m("div", { className: "cardSpacer" }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { className: "Replies", @@ -307,6 +334,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); /* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); +/* harmony import */ var _helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../helpers/isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); + @@ -340,6 +369,22 @@ var listItem = /*#__PURE__*/function (_Component) { settings[newKey] = app.forum.data.attributes[key]; } } + + /* Getting & setting relevant info for 3rd party Flarum Blog support */ + var blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); + var blogSettings = {}; + var postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); + var blogPost = {}; + if (blogActivated) { + blogSettings.tags = app.forum.attribute('blogTags'); + blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); + if (postIsBlogType) { + var blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; + if ((0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPostsData.attribute('featuredImage'))) { + blogPost.featuredImage = blogPostsData.attribute('featuredImage'); + } + } + } var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); if (isTagPage) { var _m$route$get$split$; @@ -353,12 +398,17 @@ var listItem = /*#__PURE__*/function (_Component) { var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; tagSettings.defaultImage = tagImage; + /* In case Flarum Blog Extension and useBlogImage are activated */ + if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } for (var _key in tagSettings) { if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { settings[_key] = tagSettings[_key]; } } } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ var isIndexPage = m.route.get().split('?')[0] === '/'; if (isIndexPage) { @@ -369,6 +419,10 @@ var listItem = /*#__PURE__*/function (_Component) { var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; var position = tags[_key2].position(); var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); + /* In case Flarum Blog Extension and useBlogImage are activated */ + if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(_tagId)) { + tagCustomImg = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } var currentTag = { id: _tagId, isChild: isChild, @@ -393,7 +447,7 @@ var listItem = /*#__PURE__*/function (_Component) { var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? 'read' : ''; var attrs = {}; attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ''); - var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage); + var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage, postIsBlogType); var media = image ? m("img", { src: image, className: "previewCardImg", @@ -440,7 +494,7 @@ var listItem = /*#__PURE__*/function (_Component) { className: "cardTags" }, (0,_utils_craftTags__WEBPACK_IMPORTED_MODULE_4__["default"])(discussion.tags()))), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { className: "previewPost" - }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : '', app.screen() === 'phone' && Number(settings.showReplies) === 1 ? m("div", { + }, blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' ? (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.blogMeta().summary(), 150) : (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : '', app.screen() === 'phone' && Number(settings.showReplies) === 1 ? m("div", { className: "cardSpacer" }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { className: "Replies", @@ -504,17 +558,24 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ getPostImage) /* harmony export */ }); -function getPostImage(post, defaultImage, key) { +/* harmony import */ var _isValideImageUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); + +function getPostImage(post, image, isblogPost, key) { + if (isblogPost === void 0) { + isblogPost = false; + } if (key === void 0) { key = 1; } var regex = //; - var image = defaultImage; - var defaultImg = app.forum.attribute("baseUrl") + "/assets/" + image; + if (isblogPost && (0,_isValideImageUrl__WEBPACK_IMPORTED_MODULE_0__["default"])(image)) { + return image; + } + var assetImage = app.forum.attribute("baseUrl") + "/assets/" + image; if (post) { var src = regex.exec(post.contentHtml()); if (typeof key === "number" && key > 0) { - return src ? src[key] : image ? defaultImg : null; + return src ? src[key] : image ? assetImage : null; } else if (key === '~') { return src; } else { @@ -525,6 +586,35 @@ function getPostImage(post, defaultImage, key) { /***/ }), +/***/ "./src/forum/helpers/isValideImageUrl.js": +/*!***********************************************!*\ + !*** ./src/forum/helpers/isValideImageUrl.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isValideImageUrl) +/* harmony export */ }); +function isValideImageUrl(url) { + if (typeof url !== 'string') return false; + var imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg']; + if (!url.startsWith('http://') && !url.startsWith('https://')) { + url = 'http://' + url; + } + var parsedUrl; + try { + parsedUrl = new URL(url); + } catch (_unused) { + return false; + } + var extension = parsedUrl.pathname.split('.').pop().toLowerCase(); + return imageExtensions.includes(extension); +} + +/***/ }), + /***/ "./src/forum/index.js": /*!****************************!*\ !*** ./src/forum/index.js ***! diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index 9ac7b29..25d01e0 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./forum.js"],"sourcesContent":["import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{truncate(\r\n\t\t\t\t\t\t\t\tdiscussion.firstPost().contentPlain(),\r\n\t\t\t\t\t\t\t\t150\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n tagSettings.defaultImage = tagImage;\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\t\t\t\tconst tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost()\r\n ?
{truncate(discussion.firstPost().contentPlain(), 150)}
\r\n : ''}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","export default function getPostImage(post, defaultImage, key = 1) {\r\n\r\n const regex = //;\r\n const image = defaultImage;\r\n const defaultImg = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? defaultImg : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","store","all","find","t","id","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","defaultImage","hasOwnProperty","isIndexPage","tags","isChild","parent","position","tagCustomImg","attribute","currentTag","priorityTag","allowedTags","includes","isRead","Number","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","'['","showViews","isNaN","views","createdAt","previewText","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","regex","defaultImg","exec","contentHtml","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":";;;;;;;;;;;;;;;;;;;;AAA6C;AACA;AACM;AACT;AACI;AAE9C,iEAAe;EACb,8CAA8C,EAAEA,4DAAQ;EACxD,8CAA8C,EAAEC,4DAAQ;EACxD,iDAAiD,EAAEC,+DAAW;EAC9D,0CAA0C,EAAEC,wDAAS;EACrD,4CAA4C,EAAEC,0DAAWA;AAC3D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ+C;AACD;AACI;AACR;AACW;AACR;AACQ;AACG;AACc;AACtB;AACK;AACd;AACS;AACU;AAAA,IAEtCY,QAAQ,0BAAAC,UAAA;EAAA,SAAAD,SAAA;IAAA,OAAAC,UAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EAAAC,oFAAA,CAAAJ,QAAA,EAAAC,UAAA;EAAA,IAAAI,MAAA,GAAAL,QAAA,CAAAM,SAAA;EAAAD,MAAA,CAC5BE,MAAM,GAAN,SAAAA,MAAMA,CAACC,KAAK,EAAE;IACbP,UAAA,CAAAK,SAAA,CAAMC,MAAM,CAAAE,IAAA,OAACD,KAAK;IAClB,IAAI,CAACE,UAAU,GAAG,IAAI,CAACC,KAAK,CAACD,UAAU;EACxC,CAAC;EAAAL,MAAA,CAEDO,IAAI,GAAJ,SAAAA,IAAIA,CAAA,EAAG;IACN,IAAMF,UAAU,GAAG,IAAI,CAACA,UAAU;IAClC,IAAMG,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAK,IAAMC,GAAG,IAAIC,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,EAAE;MAC5C,IAAIJ,GAAG,CAACK,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC7C,IAAIC,MAAM,GAAGN,GAAG,CAACO,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;QACtDD,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,IAAI,EAAED,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;QAC7DV,QAAQ,CAACO,MAAM,CAAC,GAAGL,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,CAACJ,GAAG,CAAC;MAClD;IACD;;IAEA;IACA,IAAMU,aAAa,GAAGT,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,CAACO,cAAc,CAAC,UAAU,CAAC;IAC1E,IAAMC,YAAY,GAAG,CAAC,CAAC;IACvB,IAAMC,cAAc,GAAGjB,UAAU,CAACO,IAAI,CAACW,aAAa,CAACH,cAAc,CAAC,UAAU,CAAC;IAC/E,IAAMI,QAAQ,GAAG,CAAC,CAAC;IACnB,IAAGL,aAAa,EAAE;MACjBE,YAAY,CAACI,IAAI,GAAGf,GAAG,CAACC,KAAK,CAACe,SAAS,CAAC,UAAU,CAAC;MACnDL,YAAY,CAACM,YAAY,GAAGjB,GAAG,CAACC,KAAK,CAACe,SAAS,CAAC,kBAAkB,CAAC;MAEnE,IAAGJ,cAAc,EAAE;QAClB,IAAMM,aAAa,GAAGvB,UAAU,CAACwB,KAAK,CAACjB,IAAI,CAACkB,QAAQ,CAACzB,UAAU,CAACO,IAAI,CAACW,aAAa,CAACO,QAAQ,CAAClB,IAAI,CAACmB,EAAE,CAAC;QACpG,IAAGrC,sEAAgB,CAACkC,aAAa,CAACF,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE;UAC9DF,QAAQ,CAACQ,aAAa,GAAGJ,aAAa,CAACF,SAAS,CAAC,eAAe,CAAC;QAClE;MACD;IACD;IAEA,IAAMO,SAAS,GAAGC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACvB,UAAU,CAAC,KAAK,CAAC;IAC/D,IAAIwB,KAAK;IACT,IAAIL,SAAS,EAAE;MAAA,IAAAM,mBAAA;MACd,IAAMC,IAAI,IAAAD,mBAAA,GAAGL,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAA7BE,mBAAA,CAA+BF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACzDC,KAAK,GAAG5B,GAAG,CAACmB,KAAK,CAACY,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACH,IAAI,CAAC,CAAC,KAAKA,IAAI;MAAA,EAAC,CAAC5B,IAAI,CAACmB,EAAE;MAClE,IAAMa,GAAG,GAAGlC,GAAG,CAACmB,KAAK,CAACY,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACZ,EAAE,CAAC,CAAC,KAAKO,KAAK;MAAA,EAAC;MAC7D,IAAMO,WAAW,GAAGD,GAAG,GAAGE,IAAI,CAACC,KAAK,CAACH,GAAG,CAAChC,IAAI,CAACC,UAAU,CAACmC,iCAAiC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;MACxG,IAAMC,QAAQ,GAAGL,GAAG,GAAGA,GAAG,CAAChC,IAAI,CAACC,UAAU,CAACqC,qCAAqC,GAAG,IAAI;MAEvFL,WAAW,CAAClB,YAAY,GAAGsB,QAAQ;MACnC;MACA,IAAG9B,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAAC4C,aAAa,CAAC,KAAK,CAAC,IAAI/B,YAAY,CAACI,IAAI,CAAC4B,QAAQ,CAACf,KAAK,CAAC,EAAE;QAC9FO,WAAW,CAAClB,YAAY,GAAGL,cAAc,IAAIE,QAAQ,CAACQ,aAAa,IAAItC,sEAAgB,CAAC8B,QAAQ,CAACQ,aAAa,CAAC,GAAGR,QAAQ,CAACQ,aAAa,GAAGX,YAAY,CAACM,YAAY;MACrK;MAEA,KAAK,IAAMlB,IAAG,IAAIoC,WAAW,EAAE;QAC9B,IAAIrC,QAAQ,CAACY,cAAc,CAACX,IAAG,CAAC,IAAIoC,WAAW,CAACpC,IAAG,CAAC,KAAKD,QAAQ,CAACC,IAAG,CAAC,IAAIoC,WAAW,CAACpC,IAAG,CAAC,KAAK,IAAI,EAAE;UACpGD,QAAQ,CAACC,IAAG,CAAC,GAAGoC,WAAW,CAACpC,IAAG,CAAC;QACjC;MACD;IACD;;IAEA;IACA,IAAM6C,WAAW,GAAGpB,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IACvD,IAAIiB,WAAW,EAAE;MAChB,IAAM7B,IAAI,GAAGpB,UAAU,CAACoB,IAAI,CAAC,CAAC;MAC9B,KAAK,IAAMhB,KAAG,IAAIgB,IAAI,EAAE;QACvB,IAAMa,MAAK,GAAGb,IAAI,CAAChB,KAAG,CAAC,CAACsB,EAAE,CAAC,CAAC;QAC5B,IAAMwB,OAAO,GAAG9B,IAAI,CAAChB,KAAG,CAAC,CAAC8C,OAAO,CAAC,CAAC;QACnC,IAAMC,MAAM,GAAG/B,IAAI,CAAChB,KAAG,CAAC,CAACG,IAAI,CAACQ,cAAc,CAAC,eAAe,CAAC,IAAIK,IAAI,CAAChB,KAAG,CAAC,CAAC+C,MAAM,CAAC,CAAC,GAAG/B,IAAI,CAAChB,KAAG,CAAC,CAAC+C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAACzB,EAAE,GAAG,IAAI;QAC1H,IAAM0B,QAAQ,GAAGhC,IAAI,CAAChB,KAAG,CAAC,CAACgD,QAAQ,CAAC,CAAC;QAErC,IAAIC,YAAY,GAAGjC,IAAI,CAAChB,KAAG,CAAC,CAACiB,SAAS,CAAC,uCAAuC,CAAC;QAC/E;QACA,IAAGP,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAAC4C,aAAa,CAAC,KAAK,CAAC,IAAI/B,YAAY,CAACI,IAAI,CAAC4B,QAAQ,CAACf,MAAK,CAAC,EAAE;UAC9FoB,YAAY,GAAGpC,cAAc,IAAIE,QAAQ,CAACQ,aAAa,IAAItC,sEAAgB,CAAC8B,QAAQ,CAACQ,aAAa,CAAC,GAAGR,QAAQ,CAACQ,aAAa,GAAGX,YAAY,CAACM,YAAY;QACzJ;QAEA,IAAMgC,UAAU,GAAG;UAAE5B,EAAE,EAAEO,MAAK;UAAEiB,OAAO,EAAPA,OAAO;UAAEC,MAAM,EAANA,MAAM;UAAEC,QAAQ,EAARA,QAAQ;UAAEC,YAAY,EAAZA;QAAa,CAAC;QACzE,IAAIE,WAAW,GAAG,IAAI;QACtB,IAAI,CAACpD,QAAQ,CAACqD,WAAW,CAACR,QAAQ,CAACf,MAAK,CAAC,IAAIoB,YAAY,KAAK,IAAI,EAAE;QAEpE,IAAIE,WAAW,KAAK,IAAI,IAAInE,iEAAW,CAACkE,UAAU,EAAEC,WAAW,CAAC,GAAG,CAAC,EAAE;UACrEA,WAAW,GAAG;YAAE7B,EAAE,EAAEO,MAAK;YAAEiB,OAAO,EAAPA,OAAO;YAAEC,MAAM,EAANA,MAAM;YAAEC,QAAQ,EAARA,QAAQ;YAAEC,YAAY,EAAZA;UAAa,CAAC;UACpElD,QAAQ,CAACmB,YAAY,GAAG+B,YAAY;QACrC;MACD;IACD;IAEA,IAAMI,MAAM,GAAGX,MAAM,CAAC3C,QAAQ,CAACuD,aAAa,CAAC,KAAK,CAAC,IAAI1D,UAAU,CAACyD,MAAM,CAAC,CAAC,IAAIpD,GAAG,CAACsD,OAAO,CAACC,IAAI,GAAG,MAAM,GAAG,EAAE;IAC5G,IAAM3D,KAAK,GAAG,CAAC,CAAC;IAChBA,KAAK,CAAC4D,SAAS,GACd,SAAS,IAAIf,MAAM,CAAC3C,QAAQ,CAAC2D,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IAChE,IAAMC,KAAK,GAAGnF,iEAAY,CAACoB,UAAU,CAACgE,SAAS,CAAC,CAAC,EAAE7D,QAAQ,CAACmB,YAAY,EAAEL,cAAc,CAAC;IACzF,IAAMgD,KAAK,GAAGF,KAAK,GAClBlC,CAAA;MACCqC,GAAG,EAAEH,KAAM;MACXF,SAAS,EAAC,gBAAgB;MAC1BM,GAAG,EAAEnE,UAAU,CAACoE,KAAK,CAAC,CAAE;MACxBC,OAAO,EAAC;IAAM,CACd,CAAC,GAEFxC,CAAA;MAAKgC,SAAS,EAAC;IAAS,CAAE,CAC1B;IAED,OACChC,CAAA;MACCzB,GAAG,EAAEJ,UAAU,CAAC0B,EAAE,CAAC,CAAE;MACrB,WAAS1B,UAAU,CAAC0B,EAAE,CAAC,CAAE;MACzB,eAAaE,SAAS,GAAGK,KAAK,GAAG,IAAK;MACtC4B,SAAS,EACR,qBAAqB,GACrBJ,MAAM,IACLzD,UAAU,CAACsE,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,EAAE;IACvC,GAEArF,qFAA2B,CAACe,UAAU,EAAE,IAAI,CAAC,CAACwE,OAAO,CAAC,CAAC,CAACC,MAAM,GAC5D5C,CAAC,CACD7C,0EAAQ,EACR;MACCF,IAAI,EAAE,mBAAmB;MACzB+E,SAAS,EAAE,6BAA6B;MACxCa,eAAe,EACd;IACF,CAAC,EACDzF,qFAA2B,CAC1Be,UAAU,EACV,IACD,CAAC,CAACwE,OAAO,CAAC,CACX,CAAC,GACA,EAAE,EACL3C,CAAA,CAAC3C,uEAAI;MACJyF,IAAI,EAAEtE,GAAG,CAACyB,KAAK,CAAC9B,UAAU,CAACA,UAAU,EAAE,CAAC,CAAE;MAC1C6D,SAAS,EAAC;IAAU,GAEnBf,MAAM,CAAC3C,QAAQ,CAACyE,UAAU,CAAC,KAAK,CAAC,GAC/BlG,8DAAW,CAACsB,UAAU,CAAC6E,MAAM,CAAC,CAAC,CAACL,OAAO,CAAC,CAAC,CAAC,GAC1C,EAAE,EAEL3C,CAAA,QAAS5B,KAAK,EACZD,UAAU,CAACO,IAAI,CAACC,UAAU,CAACO,cAAc,CAAC,OAAO,CAAC,IAClDc,CAAA,CAAAiD,GAAA,QACEhC,MAAM,CAAC3C,QAAQ,CAAC4E,SAAS,CAAC,KAAK,CAAC,IACjC,CAACC,KAAK,CAAChF,UAAU,CAACiF,KAAK,CAAC,CAAC,CAAC,GACzBpD,CAAA;MAAKgC,SAAS,EAAC;IAA4B,GACzC/E,iEAAI,CAAC,YAAY,EAAE;MAAE+E,SAAS,EAAE;IAAY,CAAC,CAAC,EAC9C7D,UAAU,CAACiF,KAAK,CAAC,CACd,CAAC,GAEN,EAEA,CACF,EAEAhB,KAAK,EAELnB,MAAM,CAAC3C,QAAQ,CAAC2D,UAAU,CAAC,KAAK,CAAC,GACjCjC,CAAA;MAAKgC,SAAS,EAAC;IAAU,GACxBhC,CAAA;MAAKgC,SAAS,EAAC;IAAQ,GACrB9E,qEAAQ,CAACiB,UAAU,CAAC4D,IAAI,CAAC,CAAC,CACvB,CAAC,EACN/B,CAAA;MAAKgC,SAAS,EAAC;IAAM,GACnBhF,oEAAS,CAACmB,UAAU,CAACkF,SAAS,CAAC,CAAC,CAC7B,CACD,CAAC,GAEN,EAEG,CAAC,EAENrD,CAAA;MAAKgC,SAAS,EAAC;IAAU,GACvBpF,4DAAS,CAACuB,UAAU,CAACoB,IAAI,CAAC,CAAC,CACxB,CAAC,EACNS,CAAA;MAAKgC,SAAS,EAAC;IAAW,GACzBhC,CAAA,aAAK7B,UAAU,CAACoE,KAAK,CAAC,CAAM,CACxB,CAAC,EACLtB,MAAM,CAAC3C,QAAQ,CAACgF,WAAW,CAAC,KAAK,CAAC,IAAInF,UAAU,CAACgE,SAAS,CAAC,CAAC,GAC5DnC,CAAA;MAAKgC,SAAS,EAAC;IAAa,GAC1B/C,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAACiF,cAAc,CAAC,KAAK,CAAC,IAAIpF,UAAU,CAACO,IAAI,CAACW,aAAa,CAACH,cAAc,CAAC,UAAU,CAAC,IAAIf,UAAU,CAACyB,QAAQ,CAAC,CAAC,CAAC4D,OAAO,CAAC,CAAC,KAAK,EAAE,GAC1JlG,qEAAQ,CAACa,UAAU,CAACyB,QAAQ,CAAC,CAAC,CAAC4D,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAC9ClG,qEAAQ,CAACa,UAAU,CAACgE,SAAS,CAAC,CAAC,CAACsB,YAAY,CAAC,CAAC,EAAE,GAAG,CAElD,CAAC,GAEN,EACA,EAEAxC,MAAM,CAAC3C,QAAQ,CAACoF,WAAW,CAAC,KAAK,CAAC,GAClC1D,CAAA;MAAKgC,SAAS,EAAC;IAAY,GAC1BhC,CAAA,CAAC3C,uEAAI;MACJ2E,SAAS,EAAC,SAAS;MACnBc,IAAI,EAAEtE,GAAG,CAACyB,KAAK,CAAC9B,UAAU,CACzBA,UAAU,EACVA,UAAU,CAACwF,cAAc,CAAC,CAC3B;IAAE,GAEF3D,CAAA;MAAKgC,SAAS,EAAC;IAAM,GACpBhC,CAAA;MAAKgC,SAAS,EAAC;IAAS,GACtBhC,CAAC,CAACrD,qDAAW,EAAE;MACfwB,UAAU,EAAEA;IACb,CAAC,CACG,CAAC,EACN6B,CAAA;MAAKgC,SAAS,EAAC;IAAU,GACvBxD,GAAG,CAACoF,UAAU,CAACC,KAAK,CACpB,wCAAwC,EACxC;MACCC,KAAK,EACJ3F,UAAU,CAAC4F,UAAU,CAAC,CAAC,IACvB;IACF,CACD,CACI,CACD,CAAC,EACN/D,CAAA;MAAKgC,SAAS,EAAC;IAAO,GACpB/E,iEAAI,CAAC,oBAAoB,CACtB,CACA,CACF,CAAC,GAEN,EAEI,CACF,CAAC;EAER,CAAC;EAAA,OAAAQ,QAAA;AAAA,EA1NoCX,gEAAS;;;;;;;;;;;;;;;;;;;;;;ACfC;AACE;AAAA,IAG7BH,WAAW,0BAAAe,UAAA;EAAA,SAAAf,YAAA;IAAA,OAAAe,UAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EAAAC,oFAAA,CAAAlB,WAAA,EAAAe,UAAA;EAAA,IAAAI,MAAA,GAAAnB,WAAA,CAAAoB,SAAA;EAAAD,MAAA,CAE9BE,MAAM,GAAN,SAAAA,MAAMA,CAACC,KAAK,EAAE;IACZP,UAAA,CAAAK,SAAA,CAAMC,MAAM,CAAAE,IAAA,OAACD,KAAK;IAClB,IAAI,CAACE,UAAU,GAAG,IAAI,CAACC,KAAK,CAACD,UAAU;EACzC,CAAC;EAAAL,MAAA,CAEDO,IAAI,GAAJ,SAAAA,IAAIA,CAAA,EAAG;IACL,IAAMF,UAAU,GAAG,IAAI,CAACA,UAAU;;IAElC;IACA,IAAM+F,KAAK,GAAG/F,UAAU,CAAC+F,KAAK,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC;IAE5C,IAAMC,aAAa,GAAGF,KAAK,CACxBG,MAAM,CAAC,UAACC,IAAI,EAAK;MAChB,OAAO,CAACA,IAAI,CAAC7B,QAAQ,CAAC,CAAC,IAAI6B,IAAI,CAACC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAID,IAAI,CAACE,WAAW,CAAC,CAAC,KAAK,SAAS;IACpF,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;MAAA,OAAKA,CAAC,CAACtB,SAAS,CAAC,CAAC,GAAGqB,CAAC,CAACrB,SAAS,CAAC,CAAC;IAAA,EAAC;IAEhD,IAAMuB,YAAY,GAAGR,aAAa,CAC/BS,GAAG,CAAC,UAAAP,IAAI;MAAA,OAAIA,IAAI,CAACvC,IAAI,CAAC,CAAC;IAAA,EAAC,CACxBsC,MAAM,CAAC,UAACtC,IAAI,EAAE+C,CAAC,EAAEC,IAAI,EAAK;MACzB,OAAOA,IAAI,CAACC,OAAO,CAACjD,IAAI,CAAC,KAAK+C,CAAC;IACjC,CAAC,CAAC,CACDG,OAAO,CAAC;IACT;IAAA,CACCd,MAAM,CAAC,CAAC,CAAC,CAAC;IAGb,OAAOS,YAAY,CAACC,GAAG,CAAC,UAAA9C,IAAI,EAAI;MAC9B,OAAOkC,mEAAM,CAAClC,IAAI,EAAE;QAACC,SAAS,EAAE;MAAc,CAAC,CAAC;IAClD,CAAC,CAAC;EAEJ,CAAC;EAAA,OAAArF,WAAA;AAAA,EAjCsCG,gEAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJF;AACD;AACI;AACR;AACW;AACR;AACQ;AACG;AACc;AACtB;AACG;AACZ;AACS;AACU;AAAA,IAGtCoI,QAAQ,0BAAAxH,UAAA;EAAA,SAAAwH,SAAA;IAAA,OAAAxH,UAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EAAAC,oFAAA,CAAAqH,QAAA,EAAAxH,UAAA;EAAA,IAAAI,MAAA,GAAAoH,QAAA,CAAAnH,SAAA;EAAAD,MAAA,CAE3BE,MAAM,GAAN,SAAAA,MAAMA,CAACC,KAAK,EAAE;IACZP,UAAA,CAAAK,SAAA,CAAMC,MAAM,CAAAE,IAAA,OAACD,KAAK;EACpB,CAAC;EAAAH,MAAA,CAEDO,IAAI,GAAJ,SAAAA,IAAIA,CAAA,EAAG;IACL,IAAMF,UAAU,GAAG,IAAI,CAACC,KAAK,CAACD,UAAU;IACxC,IAAMG,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAK,IAAMC,GAAG,IAAIC,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,EAAE;MAC9C,IAAIJ,GAAG,CAACK,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC7C,IAAIC,MAAM,GAAGN,GAAG,CAACO,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;QACtDD,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,IAAI,EAAED,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;QAC7DV,QAAQ,CAACO,MAAM,CAAC,GAAGL,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,CAACJ,GAAG,CAAC;MAClD;IACD;;IAEE;IACF,IAAMU,aAAa,GAAGT,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,UAAU,CAACO,cAAc,CAAC,UAAU,CAAC;IAC1E,IAAMC,YAAY,GAAG,CAAC,CAAC;IACvB,IAAMC,cAAc,GAAGjB,UAAU,CAACO,IAAI,CAACW,aAAa,CAACH,cAAc,CAAC,UAAU,CAAC;IAC/E,IAAMI,QAAQ,GAAG,CAAC,CAAC;IACnB,IAAGL,aAAa,EAAE;MACjBE,YAAY,CAACI,IAAI,GAAGf,GAAG,CAACC,KAAK,CAACe,SAAS,CAAC,UAAU,CAAC;MACnDL,YAAY,CAACM,YAAY,GAAGjB,GAAG,CAACC,KAAK,CAACe,SAAS,CAAC,kBAAkB,CAAC;MAEnE,IAAGJ,cAAc,EAAE;QAClB,IAAMM,aAAa,GAAGvB,UAAU,CAACwB,KAAK,CAACjB,IAAI,CAACkB,QAAQ,CAACzB,UAAU,CAACO,IAAI,CAACW,aAAa,CAACO,QAAQ,CAAClB,IAAI,CAACmB,EAAE,CAAC;QACpG,IAAGrC,sEAAgB,CAACkC,aAAa,CAACF,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE;UAC9DF,QAAQ,CAACQ,aAAa,GAAGJ,aAAa,CAACF,SAAS,CAAC,eAAe,CAAC;QAClE;MACD;IACD;IAEE,IAAMO,SAAS,GAAGC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACvB,UAAU,CAAC,KAAK,CAAC;IACjE,IAAImB,SAAS,EAAE;MAAA,IAAAM,mBAAA;MACX,IAAMC,IAAI,IAAAD,mBAAA,GAAGL,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAA7BE,mBAAA,CAA+BF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACzD,IAAMC,KAAK,GAAG5B,GAAG,CAACmB,KAAK,CAACY,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACH,IAAI,CAAC,CAAC,KAAKA,IAAI;MAAA,EAAC,CAAC5B,IAAI,CAACmB,EAAE;MACxE,IAAMa,GAAG,GAAGlC,GAAG,CAACmB,KAAK,CAACY,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACZ,EAAE,CAAC,CAAC,KAAKO,KAAK;MAAA,EAAC;MAC7D,IAAMO,WAAW,GAAGD,GAAG,GAAGE,IAAI,CAACC,KAAK,CAACH,GAAG,CAAChC,IAAI,CAACC,UAAU,CAACmC,iCAAiC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;MACxG,IAAMC,QAAQ,GAAGL,GAAG,GAAGA,GAAG,CAAChC,IAAI,CAACC,UAAU,CAACqC,qCAAqC,GAAG,IAAI;MAEvFL,WAAW,CAAClB,YAAY,GAAGsB,QAAQ;MACnC;MACA,IAAG9B,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAAC4C,aAAa,CAAC,KAAK,CAAC,IAAI/B,YAAY,CAACI,IAAI,CAAC4B,QAAQ,CAACf,KAAK,CAAC,EAAE;QACjGO,WAAW,CAAClB,YAAY,GAAGL,cAAc,IAAIE,QAAQ,CAACQ,aAAa,IAAItC,sEAAgB,CAAC8B,QAAQ,CAACQ,aAAa,CAAC,GAAGR,QAAQ,CAACQ,aAAa,GAAGX,YAAY,CAACM,YAAY;MACrK;MAEG,KAAK,IAAMlB,IAAG,IAAIoC,WAAW,EAAE;QAC7B,IAAIrC,QAAQ,CAACY,cAAc,CAACX,IAAG,CAAC,IAAIoC,WAAW,CAACpC,IAAG,CAAC,KAAKD,QAAQ,CAACC,IAAG,CAAC,IAAIoC,WAAW,CAACpC,IAAG,CAAC,KAAK,IAAI,EAAE;UACnGD,QAAQ,CAACC,IAAG,CAAC,GAAGoC,WAAW,CAACpC,IAAG,CAAC;QAClC;MACF;IACF;;IAEA;IACF,IAAM6C,WAAW,GAAGpB,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IACvD,IAAIiB,WAAW,EAAE;MAChB,IAAM7B,IAAI,GAAGpB,UAAU,CAACoB,IAAI,CAAC,CAAC;MAC9B,KAAK,IAAMhB,KAAG,IAAIgB,IAAI,EAAE;QACvB,IAAMa,MAAK,GAAGb,IAAI,CAAChB,KAAG,CAAC,CAACsB,EAAE,CAAC,CAAC;QAC5B,IAAMwB,OAAO,GAAG9B,IAAI,CAAChB,KAAG,CAAC,CAAC8C,OAAO,CAAC,CAAC;QACnC,IAAMC,MAAM,GAAG/B,IAAI,CAAChB,KAAG,CAAC,CAACG,IAAI,CAACQ,cAAc,CAAC,eAAe,CAAC,IAAIK,IAAI,CAAChB,KAAG,CAAC,CAAC+C,MAAM,CAAC,CAAC,GAAG/B,IAAI,CAAChB,KAAG,CAAC,CAAC+C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAACzB,EAAE,GAAG,IAAI;QAC1H,IAAM0B,QAAQ,GAAGhC,IAAI,CAAChB,KAAG,CAAC,CAACgD,QAAQ,CAAC,CAAC;QAErC,IAAIC,YAAY,GAAGjC,IAAI,CAAChB,KAAG,CAAC,CAACiB,SAAS,CAAC,uCAAuC,CAAC;QAC3E;QACJ,IAAGP,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAAC4C,aAAa,CAAC,KAAK,CAAC,IAAI/B,YAAY,CAACI,IAAI,CAAC4B,QAAQ,CAACf,MAAK,CAAC,EAAE;UAC9FoB,YAAY,GAAGpC,cAAc,IAAIE,QAAQ,CAACQ,aAAa,IAAItC,sEAAgB,CAAC8B,QAAQ,CAACQ,aAAa,CAAC,GAAGR,QAAQ,CAACQ,aAAa,GAAGX,YAAY,CAACM,YAAY;QACzJ;QAEA,IAAMgC,UAAU,GAAG;UAAE5B,EAAE,EAAEO,MAAK;UAAEiB,OAAO,EAAPA,OAAO;UAAEC,MAAM,EAANA,MAAM;UAAEC,QAAQ,EAARA,QAAQ;UAAEC,YAAY,EAAZA;QAAa,CAAC;QACzE,IAAIE,WAAW,GAAG,IAAI;QACtB,IAAI,CAACpD,QAAQ,CAACqD,WAAW,CAACR,QAAQ,CAACf,MAAK,CAAC,IAAIoB,YAAY,KAAK,IAAI,EAAE;QAEpE,IAAIE,WAAW,KAAK,IAAI,IAAInE,iEAAW,CAACkE,UAAU,EAAEC,WAAW,CAAC,GAAG,CAAC,EAAE;UACrEA,WAAW,GAAG;YAAE7B,EAAE,EAAEO,MAAK;YAAEiB,OAAO,EAAPA,OAAO;YAAEC,MAAM,EAANA,MAAM;YAAEC,QAAQ,EAARA,QAAQ;YAAEC,YAAY,EAAZA;UAAa,CAAC;UACpElD,QAAQ,CAACmB,YAAY,GAAG+B,YAAY;QACrC;MACD;IACD;IAEE,IAAMI,MAAM,GAAGX,MAAM,CAAC3C,QAAQ,CAACuD,aAAa,CAAC,KAAK,CAAC,IAAK1D,UAAU,CAACyD,MAAM,CAAC,CAAC,IAAIpD,GAAG,CAACsD,OAAO,CAACC,IAAK,GAAG,MAAM,GAAG,EAAE;IAC9G,IAAM3D,KAAK,GAAG,CAAC,CAAC;IAChBA,KAAK,CAAC4D,SAAS,GAAG,SAAS,IAAIf,MAAM,CAAC3C,QAAQ,CAAC2D,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IACjF,IAAMC,KAAK,GAAGnF,iEAAY,CAACoB,UAAU,CAACgE,SAAS,CAAC,CAAC,EAAE7D,QAAQ,CAACmB,YAAY,EAAEL,cAAc,CAAC;IACzF,IAAMgD,KAAK,GAAGF,KAAK,GACflC,CAAA;MAAKqC,GAAG,EAAEH,KAAM;MACZF,SAAS,EAAC,gBAAgB;MAC1BM,GAAG,EAAEnE,UAAU,CAACoE,KAAK,CAAC,CAAE;MACxBC,OAAO,EAAC;IAAM,CAAC,CAAC,GACpBxC,CAAA;MAAKgC,SAAS,EAAC;IAAS,CAAC,CAAC;IAE9B,OACEhC,CAAA;MAAKzB,GAAG,EAAEJ,UAAU,CAAC0B,EAAE,CAAC,CAAE;MACtB,WAAS1B,UAAU,CAAC0B,EAAE,CAAC,CAAE;MACzBmC,SAAS,EAAE,qBAAqB,GAAGJ,MAAM,IAAIzD,UAAU,CAACsE,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,EAAE;IAAE,GACtFrF,qFAA2B,CAACe,UAAU,EAAE,IAAI,CAAC,CAACwE,OAAO,CAAC,CAAC,CAACC,MAAM,GAC3D5C,CAAC,CAAC7C,0EAAQ,EAAE;MACZF,IAAI,EAAE,mBAAmB;MACzB+E,SAAS,EAAE,6BAA6B;MACxCa,eAAe,EAAE;IACnB,CAAC,EAAEzF,qFAA2B,CAACe,UAAU,EAAE,IAAI,CAAC,CAACwE,OAAO,CAAC,CAAC,CAAC,GACzD,EAAE,EACN3C,CAAA,CAAC3C,uEAAI;MAACyF,IAAI,EAAEtE,GAAG,CAACyB,KAAK,CAAC9B,UAAU,CAACA,UAAU,EAAE,CAAC,CAAE;MAC1C6D,SAAS,EAAC;IAAU,GAEvBf,MAAM,CAAC3C,QAAQ,CAACyE,UAAU,CAAC,KAAK,CAAC,GAC9BlG,8DAAW,CAACsB,UAAU,CAAC6E,MAAM,CAAC,CAAC,CAACL,OAAO,CAAC,CAAC,CAAC,GAC1C,EAAE,EAEN3C,CAAA;MAAKgC,SAAS,EAAC;IAAU,GAEvBhC,CAAA;MAAKgC,SAAS,EAAC;IAAmB,GAChChC,CAAA,QAAS5B,KAAK,EACXD,UAAU,CAACO,IAAI,CAACC,UAAU,CAACO,cAAc,CAAC,OAAO,CAAC,IACjDc,CAAA,CAAAiD,GAAA,QACChC,MAAM,CAAC3C,QAAQ,CAAC4E,SAAS,CAAC,KAAK,CAAC,IAAI,CAACC,KAAK,CAAChF,UAAU,CAACiF,KAAK,CAAC,CAAC,CAAC,GAC3DpD,CAAA;MAAKgC,SAAS,EAAC;IAA4B,GAC1C/E,iEAAI,CAAC,YAAY,EAAE;MAAC+E,SAAS,EAAE;IAAW,CAAC,CAAC,EAC5C7D,UAAU,CAACiF,KAAK,CAAC,CACf,CAAC,GACJ,EACF,CACH,EAEAhB,KAAK,EAELnB,MAAM,CAAC3C,QAAQ,CAAC2D,UAAU,CAAC,KAAK,CAAC,GAC9BjC,CAAA;MAAKgC,SAAS,EAAC;IAAU,GACzBhC,CAAA;MAAKgC,SAAS,EAAC;IAAQ,GACpB9E,qEAAQ,CAACiB,UAAU,CAAC4D,IAAI,CAAC,CAAC,CACxB,CAAC,EACN/B,CAAA;MAAKgC,SAAS,EAAC;IAAM,GAClBhF,oEAAS,CAACmB,UAAU,CAACkF,SAAS,CAAC,CAAC,CAC9B,CACF,CAAC,GACJ,EAED,CACF,CAAC,EAENrD,CAAA;MAAKgC,SAAS,EAAC;IAAqB,GAElChC,CAAA;MAAKgC,SAAS,EAAC;IAAS,GACtBhC,CAAA;MAAKgC,SAAS,EAAC;IAAW,GACxBhC,CAAA;MAAIuC,KAAK,EAAEpE,UAAU,CAACoE,KAAK,CAAC,CAAE;MAACP,SAAS,EAAC;IAAO,GAAE1E,qEAAQ,CAACa,UAAU,CAACoE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAM,CACpF,CAAC,EACNvC,CAAA;MAAKgC,SAAS,EAAC;IAAU,GAAEpF,4DAAS,CAACuB,UAAU,CAACoB,IAAI,CAAC,CAAC,CAAO,CAC1D,CAAC,EAEL0B,MAAM,CAAC3C,QAAQ,CAACgF,WAAW,CAAC,KAAK,CAAC,IAAInF,UAAU,CAACgE,SAAS,CAAC,CAAC,GAC3DnC,CAAA;MAAKgC,SAAS,EAAC;IAAa,GACzB/C,aAAa,IAAIgC,MAAM,CAAC3C,QAAQ,CAACiF,cAAc,CAAC,KAAK,CAAC,IAAIpF,UAAU,CAACO,IAAI,CAACW,aAAa,CAACH,cAAc,CAAC,UAAU,CAAC,IAAIf,UAAU,CAACyB,QAAQ,CAAC,CAAC,CAAC4D,OAAO,CAAC,CAAC,KAAK,EAAE,GACzJlG,qEAAQ,CAACa,UAAU,CAACyB,QAAQ,CAAC,CAAC,CAAC4D,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAC9ClG,qEAAQ,CAACa,UAAU,CAACgE,SAAS,CAAC,CAAC,CAACsB,YAAY,CAAC,CAAC,EAAE,GAAG,CAEpD,CAAC,GAEJ,EACD,EAEFjF,GAAG,CAAC2G,MAAM,CAAC,CAAC,KAAK,OAAO,IAAIlE,MAAM,CAAC3C,QAAQ,CAACoF,WAAW,CAAC,KAAK,CAAC,GAC3D1D,CAAA;MAAKgC,SAAS,EAAC;IAAY,GAC3BhC,CAAA,CAAC3C,uEAAI;MACH2E,SAAS,EAAC,SAAS;MACnBc,IAAI,EAAEtE,GAAG,CAACyB,KAAK,CAAC9B,UAAU,CAACA,UAAU,EAAEA,UAAU,CAACwF,cAAc,CAAC,CAAC;IAAE,GACpE3D,CAAA;MAAKgC,SAAS,EAAC;IAAM,GACnBhC,CAAA;MAAKgC,SAAS,EAAC;IAAS,GACrBhC,CAAC,CAACrD,qDAAW,EAAE;MAACwB,UAAU,EAAEA;IAAU,CAAC,CACrC,CAAC,EACN6B,CAAA;MAAKgC,SAAS,EAAC;IAAU,GACtBxD,GAAG,CAACoF,UAAU,CAACC,KAAK,CAAC,wCAAwC,EAAE;MAACC,KAAK,EAAE3F,UAAU,CAAC4F,UAAU,CAAC,CAAC,IAAI;IAAG,CAAC,CACpG,CACF,CAAC,EACN/D,CAAA;MAAKgC,SAAS,EAAC;IAAO,GACnB/E,iEAAI,CAAC,oBAAoB,CACvB,CACD,CACH,CAAC,GACJgE,MAAM,CAAC3C,QAAQ,CAACoF,WAAW,CAAC,KAAK,CAAC,GAClC1D,CAAA;MAAKgC,SAAS,EAAC;IAAiC,GAC7C/E,iEAAI,CAAC,gBAAgB,EAAE;MAAC+E,SAAS,EAAE;IAAW,CAAC,CAAC,EAChD7D,UAAU,CAAC4F,UAAU,CAAC,CACpB,CAAC,GAAG,EAEV,CACF,CACD,CACH,CAAC;EAGV,CAAC;EAAA,OAAAmB,QAAA;AAAA,EAhMmCpI,gEAAS;;;;;;;;;;;;;;;;AChBhC,SAASS,WAAWA,CAACkE,UAAU,EAAEC,WAAW,EAAE;EACzD,IAAID,UAAU,CAACJ,OAAO,IAAI,CAACK,WAAW,CAACL,OAAO,EAAE,OAAO,CAAC,CAAC;EACzD,IAAI,CAACI,UAAU,CAACJ,OAAO,IAAIK,WAAW,CAACL,OAAO,EAAE,OAAO,CAAC;EACxD,IAAII,UAAU,CAACJ,OAAO,IAAIK,WAAW,CAACL,OAAO,IAAII,UAAU,CAACH,MAAM,KAAKI,WAAW,CAACJ,MAAM,EAAE,OAAOG,UAAU,CAACF,QAAQ,GAAGG,WAAW,CAACH,QAAQ;EAC5I,IAAIE,UAAU,CAACJ,OAAO,IAAIK,WAAW,CAACL,OAAO,IAAII,UAAU,CAACH,MAAM,KAAKI,WAAW,CAACJ,MAAM,EAAE,OAAOG,UAAU,CAACH,MAAM,GAAGI,WAAW,CAACJ,MAAM;EAExI,IAAI,CAACG,UAAU,CAACF,QAAQ,IAAIG,WAAW,CAACH,QAAQ,EAAE,OAAO,CAAC;EAC1D,IAAIE,UAAU,CAACF,QAAQ,IAAI,CAACG,WAAW,CAACH,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC3D,IAAIE,UAAU,CAACF,QAAQ,IAAIG,WAAW,CAACH,QAAQ,EAAE,OAAOE,UAAU,CAACF,QAAQ,GAAGG,WAAW,CAACH,QAAQ;EAClG,OAAOE,UAAU,CAAC5B,EAAE,GAAG6B,WAAW,CAAC7B,EAAE;AACzC;;;;;;;;;;;;;;;;ACVkD;AAEnC,SAAS9C,YAAYA,CAACuH,IAAI,EAAEpC,KAAK,EAAEkD,UAAU,EAAU7G,GAAG,EAAM;EAAA,IAA7B6G,UAAU;IAAVA,UAAU,GAAG,KAAK;EAAA;EAAA,IAAE7G,GAAG;IAAHA,GAAG,GAAG,CAAC;EAAA;EAE3E,IAAM8G,KAAK,GAAG,oDAAoD;EAElE,IAAGD,UAAU,IAAI5H,6DAAgB,CAAC0E,KAAK,CAAC,EAAE;IACxC,OAAOA,KAAK;EACd;EAEA,IAAMoD,UAAU,GAAG9G,GAAG,CAACC,KAAK,CAACe,SAAS,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG0C,KAAK;EAEtE,IAAIoC,IAAI,EAAE;IACR,IAAMjC,GAAG,GAAGgD,KAAK,CAACE,IAAI,CAACjB,IAAI,CAACkB,WAAW,CAAC,CAAC,CAAC;IAC1C,IAAI,OAAOjH,GAAG,KAAK,QAAQ,IAAIA,GAAG,GAAG,CAAC,EAAE;MACtC,OAAQ8D,GAAG,GAAIA,GAAG,CAAC9D,GAAG,CAAC,GAAI2D,KAAK,GAAGoD,UAAU,GAAG,IAAK;IACvD,CAAC,MAAM,IAAI/G,GAAG,KAAK,GAAG,EAAE;MACtB,OAAO8D,GAAG;IACZ,CAAC,MAAM;MACL,OAAO,IAAI;IACb;EACF;AAEF;;;;;;;;;;;;;;;ACvBe,SAAS7E,gBAAgBA,CAAEiI,GAAG,EAAE;EAC3C,IAAG,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAO,KAAK;EAExC,IAAMC,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;EAE3E,IAAI,CAACD,GAAG,CAAC7G,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC6G,GAAG,CAAC7G,UAAU,CAAC,UAAU,CAAC,EAAE;IAC3D6G,GAAG,GAAG,SAAS,GAAGA,GAAG;EACzB;EAEA,IAAIE,SAAS;EACb,IAAI;IACAA,SAAS,GAAG,IAAIC,GAAG,CAACH,GAAG,CAAC;EAC5B,CAAC,CAAC,OAAAI,OAAA,EAAM;IACJ,OAAO,KAAK;EAChB;EAEA,IAAMC,SAAS,GAAGH,SAAS,CAACI,QAAQ,CAAC5F,KAAK,CAAC,GAAG,CAAC,CAAC6F,GAAG,CAAC,CAAC,CAAChH,WAAW,CAAC,CAAC;EACnE,OAAO0G,eAAe,CAACvE,QAAQ,CAAC2E,SAAS,CAAC;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClB6B;AACkB;AACqB;AACM;AAChB;AACe;AACV;AACV;AACR;AACA;AAE7CtH,8DAAgB,CAACkI,GAAG,CAAC,0BAA0B,EAAE,YAAM;EAErDT,qDAAM,CAACG,0FAA6B,EAAE,eAAe,EAAE,UAAUO,MAAM,EAAE;IACvE,IAAInI,yDAAW,CAACqI,OAAO,CAACR,0EAAS,CAAC,EAAE;MAClCM,MAAM,CAACG,OAAO,CAACC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3D;EACF,CAAC,CAAC;EAEFb,uDAAQ,CAACC,yFAAwB,EAAE,MAAM,EAAE,UAAUa,QAAQ,EAAE;IAC7D,IAAM1I,QAAQ,GAAG,CAAC,CAAC;IACnB,KAAK,IAAMC,GAAG,IAAIC,yDAAS,CAACE,IAAI,CAACC,UAAU,EAAE;MAC3C,IAAIJ,GAAG,CAACK,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC5C,IAAIC,MAAM,GAAGN,GAAG,CAACO,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;QACtDD,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,IAAI,EAAED,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;QAC7DV,QAAQ,CAACO,MAAM,CAAC,GAAGL,yDAAS,CAACE,IAAI,CAACC,UAAU,CAACJ,GAAG,CAAC;MACnD;IACF;IACA,IAAM0I,KAAK,GAAG,IAAI,CAAC7I,KAAK,CAAC6I,KAAK;IAC9B,IAAMN,MAAM,GAAGM,KAAK,CAACC,SAAS,CAAC,CAAC;IAChC,IAAI1E,OAAO;IACX,IAAIyE,KAAK,CAACE,gBAAgB,CAAC,CAAC,IAAIF,KAAK,CAACG,aAAa,CAAC,CAAC,EAAE;MACrD5E,OAAO,GAAGxC,CAAA,CAACsG,kFAAgB,MAAC,CAAC;IAC/B,CAAC,MAAM,IAAIW,KAAK,CAACI,OAAO,CAAC,CAAC,EAAE;MAC1B7E,OAAO,GAAGgE,gFAAgB,CACxB;QACExE,SAAS,EAAE,QAAQ;QACnBuF,OAAO,EAAEN,KAAK,CAACO,QAAQ,CAACC,IAAI,CAACR,KAAK;MACpC,CAAC,EACDzI,4DAAc,CAACqF,KAAK,CAAC,6CAA6C,CACpE,CAAC;IACH;IACA,IAAIoD,KAAK,CAACS,OAAO,CAAC,CAAC,EAAE;MACnB,IAAMC,IAAI,GAAGnJ,4DAAc,CAACqF,KAAK,CAAC,uCAAuC,CAAC;MAC1E,OAAO7D,CAAA;QAAKgC,SAAS,EAAC;MAAgB,GAAEhC,CAAC,CAACuG,6EAAW,EAAE;QAACoB,IAAI,EAAJA;MAAI,CAAC,CAAO,CAAC;IACvE;IACA,IAAM5H,SAAS,GAAGC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACvB,UAAU,CAAC,KAAK,CAAC;IAC/D,IAAI8B,GAAG,GAAG,IAAI;IACd,IAAIX,SAAS,EAAE;MACbW,GAAG,GAAGlC,uDAAS,CAAC+B,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACH,IAAI,CAAC,CAAC,KAAKqG,MAAM,CAACpH,IAAI;MAAA,EAAC,CAACb,IAAI,CAACmB,EAAE;MACvE,IAAMc,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACrC,uDAAS,CAAC+B,GAAG,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACH,IAAI,CAAC,CAAC,KAAKqG,MAAM,CAACpH,IAAI;MAAA,EAAC,CAACb,IAAI,CAACC,UAAU,CAACmC,iCAAiC,CAAC;MAC3I,KAAK,IAAMvC,IAAG,IAAIoC,WAAW,EAAE;QAC7B,IAAIrC,QAAQ,CAACY,cAAc,CAACX,IAAG,CAAC,IAAIoC,WAAW,CAACpC,IAAG,CAAC,KAAKD,QAAQ,CAACC,IAAG,CAAC,EAAE;UACtED,QAAQ,CAACC,IAAG,CAAC,GAAGoC,WAAW,CAACpC,IAAG,CAAC;QAClC;MACF;IACF;IACA,IAAIC,yDAAW,CAACqI,OAAO,CAACR,0EAAS,CAAC,KAAM/H,QAAQ,CAACqD,WAAW,CAACiB,MAAM,IAAItE,QAAQ,CAACqD,WAAW,CAACR,QAAQ,CAACT,GAAG,CAAC,IAAM,CAACiG,MAAM,CAACpH,IAAI,IAAI0B,MAAM,CAAC3C,QAAQ,CAACsJ,WAAW,CAAC,KAAK,CAAE,CAAC,EAAE;MACnK,OACE5H,CAAA;QAAKgC,SAAS,EAAE,gBAAgB,IAAIiF,KAAK,CAACY,eAAe,CAAC,CAAC,GAAG,gCAAgC,GAAG,EAAE;MAAE,GACnG7H,CAAA;QAAK,SAAM;MAAqC,GAC7CiH,KAAK,CAACa,QAAQ,CAAC,CAAC,CAACjD,GAAG,CAAC,UAACkD,EAAE,EAAEC,CAAC,EAAK;QAC/B,OAAOD,EAAE,CAACE,KAAK,CAACpD,GAAG,CAAC,UAAC1G,UAAU,EAAE2G,CAAC,EAAK;UACrC,OAAQA,CAAC,GAAG7D,MAAM,CAAC3C,QAAQ,CAAC4J,YAAY,CAAC,IAAIF,CAAC,KAAK,CAAC,GAChDhI,CAAC,CAACvD,4DAAQ,EAAE;YAAC0B,UAAU,EAAEA;UAAU,CAAC,CAAC,GACrC6B,CAAC,CAACtD,4DAAQ,EAAE;YAACyB,UAAU,EAAEA;UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ,CAAC,CACE,CAAC,EACN6B,CAAA;QAAKgC,SAAS,EAAC;MAAyB,GAAEQ,OAAa,CACpD,CAAC;IAGV,CAAC,MAAM;MACL,OAAOwE,QAAQ,CAAC,CAAC;IACnB;EACF,CAAC,CAAC;AACJ,CAAC,EAAE,CAAC,CAAC,CAAC;;AAGN;AACiC;AACS;AAE1CqB,MAAM,CAACC,MAAM,CAACF,uDAAM,EAAED,gDAAS,CAAC;;;;;;;;;;;;;;;;;;;ACpFc;AACS;AAExC,SAAStL,WAAWA,CAACmG,MAAM,EAAE;EAC1C,IAAIA,MAAM,CAACJ,MAAM,EAAE;IACjB,OAAO,CAAC5C,CAAC,CAAC,aAAa,EAAE,CAACgD,MAAM,CAAC6B,GAAG,CAAC,UAAC2D,KAAK,EAAK;MAC9C,OAAO,CACLxI,CAAC,CAACuI,yEAAO,EAAE;QACTZ,IAAI,EAAEa,KAAK,CAACpK,KAAK,CAACqK,KAAK,CAAC,CAAC,CAAC;QAC1BlH,QAAQ,EAAE;MACZ,CAAC,EACDvB,CAAC,CAAC,8BAA8B,GAAGwI,KAAK,CAACpK,KAAK,CAACsK,IAAI,EAAE,CAACzL,iEAAI,CAACuL,KAAK,CAACpK,KAAK,CAACnB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC,CAAC,CAAC;EACP;AACF;AAAC;;;;;;;;;;;;;;;;;;;ACdgD;AACC;AAEnC,SAASL,SAASA,CAAC2C,IAAI,EAAE;EACtC,IAAIA,IAAI,EAAE;IACR,OAAO,CAACoJ,iEAAQ,CAACpJ,IAAI,CAAC,CAACsF,GAAG,CAAC,UAAUnE,GAAG,EAAE;MACxC,OAAO,CACLV,CAAA,CAAC3C,sEAAI;QAAC2E,SAAS,EAAC,SAAS;QACnB4G,KAAK,EAAE;UAACC,eAAe,EAAEnI,GAAG,CAACoI,KAAK,CAAC;QAAC,CAAE;QACtChG,IAAI,EAAEtE,GAAG,CAACyB,KAAK,CAAC,KAAK,EAAE;UAACV,IAAI,EAAEmB,GAAG,CAACJ,IAAI,CAAC;QAAC,CAAC;MAAE,GAC9CI,GAAG,CAACqI,IAAI,CAAC,CACN,CAAC,CACR;IACH,CAAC,CAAC,CAAC;EACL;AACF;AAAC;;;;;;;;;;;ACfD;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACAiD;AACjD,SAASlL,cAAcA,CAAC4C,CAAC,EAAEuH,CAAC,EAAE;EAC5BvH,CAAC,CAAC1C,SAAS,GAAGsK,MAAM,CAACY,MAAM,CAACjB,CAAC,CAACjK,SAAS,CAAC,EAAE0C,CAAC,CAAC1C,SAAS,CAACmL,WAAW,GAAGzI,CAAC,EAAEuI,8DAAc,CAACvI,CAAC,EAAEuH,CAAC,CAAC;AAC7F;;;;;;;;;;;;;;;;ACHA,SAASmB,eAAeA,CAAC1I,CAAC,EAAE2I,CAAC,EAAE;EAC7B,OAAOD,eAAe,GAAGd,MAAM,CAACW,cAAc,GAAGX,MAAM,CAACW,cAAc,CAACvB,IAAI,CAAC,CAAC,GAAG,UAAUhH,CAAC,EAAE2I,CAAC,EAAE;IAC9F,OAAO3I,CAAC,CAAC4I,SAAS,GAAGD,CAAC,EAAE3I,CAAC;EAC3B,CAAC,EAAE0I,eAAe,CAAC1I,CAAC,EAAE2I,CAAC,CAAC;AAC1B;;;;;;;UCJA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/isValideImageUrl.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./forum.js"],"sourcesContent":["import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\nimport isValideImageUrl from \"../helpers/isValideImageUrl\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Getting & setting relevant info for 3rd party Flarum Blog extension support */\r\n\t\tconst blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags');\r\n\t\tconst blogSettings = {};\r\n\t\tconst postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta');\r\n\t\tconst blogPost = {}\r\n\t\tif(blogActivated) {\r\n\t\t\tblogSettings.tags = app.forum.attribute('blogTags');\r\n\t\t\tblogSettings.defaultImage = app.forum.attribute('blogDefaultImage');\r\n\r\n\t\t\tif(postIsBlogType) {\r\n\t\t\t\tconst blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id];\r\n\t\t\t\tif(isValideImageUrl(blogPostsData.attribute('featuredImage'))) {\r\n\t\t\t\t\tblogPost.featuredImage = blogPostsData.attribute('featuredImage');\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\t\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\t\t\t\t\t\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n\t\t\t\t\t\t\t\t? truncate(discussion.blogMeta().summary(), 150)\r\n\t\t\t\t\t\t\t\t: truncate(discussion.firstPost().contentPlain(), 150)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\nimport isValideImageUrl from \"../helpers/isValideImageUrl\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n /* Getting & setting relevant info for 3rd party Flarum Blog support */\r\n\t\tconst blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags');\r\n\t\tconst blogSettings = {};\r\n\t\tconst postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta');\r\n\t\tconst blogPost = {}\r\n\t\tif(blogActivated) {\r\n\t\t\tblogSettings.tags = app.forum.attribute('blogTags');\r\n\t\t\tblogSettings.defaultImage = app.forum.attribute('blogDefaultImage');\r\n\r\n\t\t\tif(postIsBlogType) {\r\n\t\t\t\tconst blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id];\r\n\t\t\t\tif(isValideImageUrl(blogPostsData.attribute('featuredImage'))) {\r\n\t\t\t\t\tblogPost.featuredImage = blogPostsData.attribute('featuredImage');\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n \r\n tagSettings.defaultImage = tagImage;\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null)\tcontinue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n
\r\n {blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n ? truncate(discussion.blogMeta().summary(), 150)\r\n : truncate(discussion.firstPost().contentPlain(), 150)\r\n }\r\n
\r\n ) : (\r\n ''\r\n )}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","import isValideImageUrl from \"./isValideImageUrl\";\r\n\r\nexport default function getPostImage(post, image, isblogPost = false, key = 1) {\r\n\r\n const regex = //;\r\n\r\n if(isblogPost && isValideImageUrl(image)) {\r\n return image;\r\n }\r\n\r\n const assetImage = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? assetImage : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","export default function isValideImageUrl (url) {\r\n if(typeof url !== 'string') return false;\r\n \r\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg'];\r\n\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'http://' + url;\r\n }\r\n\r\n let parsedUrl;\r\n try {\r\n parsedUrl = new URL(url);\r\n } catch {\r\n return false;\r\n }\r\n\r\n const extension = parsedUrl.pathname.split('.').pop().toLowerCase();\r\n return imageExtensions.includes(extension);\r\n}","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","isValideImageUrl","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","blogActivated","hasOwnProperty","blogSettings","postIsBlogType","relationships","blogPost","tags","attribute","defaultImage","blogPostsData","store","blogMeta","id","featuredImage","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","all","find","t","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","Number","useBlogImages","includes","isIndexPage","isChild","parent","position","tagCustomImg","currentTag","priorityTag","allowedTags","isRead","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","'['","showViews","isNaN","views","createdAt","previewText","useBlogSummary","summary","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","isblogPost","regex","assetImage","exec","contentHtml","url","imageExtensions","parsedUrl","URL","_unused","extension","pathname","pop","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/src/admin/components/Settings.js b/js/src/admin/components/Settings.js index 5083190..bb32fe0 100644 --- a/js/src/admin/components/Settings.js +++ b/js/src/admin/components/Settings.js @@ -3,6 +3,7 @@ import ExtensionPage from "flarum/admin/components/ExtensionPage"; import UploadImageButton from 'flarum/admin/components/UploadImageButton'; import isExtensionInstalled from "../helpers/isExtensionInstalled"; import isExtensionActive from "../helpers/isExtensionActive"; +import icon from "flarum/common/helpers/icon"; export default class Settings extends ExtensionPage { content() { @@ -10,8 +11,16 @@ export default class Settings extends ExtensionPage { const viewsExtension = { id: 'flarumite-simple-discussion-views', name: 'Flarumite Simple Discussion Views', + url: 'https://flarum.org/extension/flarumite/simple-discussion-views', }; - + const blogExtension = { + id: 'v17development-blog', + name: 'Flarum Blog', + url: 'https://flarum.org/extension/v17development/flarum-blog', + }; + + const warningIcon = icon("fas fa-exclamation-triangle"); + return (
@@ -129,17 +138,53 @@ export default class Settings extends ExtensionPage {

{app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start")} - Flarumite Simple Discussion Views + {viewsExtension.name} {app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")}

+
+ + {!isExtensionInstalled(viewsExtension.id) + ? + app.translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled", {icon: warningIcon}) : + !isExtensionActive(viewsExtension.id) + ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated", {icon: warningIcon}) : + ''} + +
{this.buildSettingComponent({ type: "switch", setting: "walsgit_discussion_cards_showViews", label: app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"), - help: !isExtensionInstalled(viewsExtension.id) - ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notInstalled", {extName: viewsExtension.name}) : !isExtensionActive(viewsExtension.id) - ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_notActivated", {extName: viewsExtension.name}) : app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), - disabled: isExtensionActive(viewsExtension) ? false : true, + help: app.translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), + disabled: isExtensionActive(viewsExtension.id) ? false : true, + })} +
+

+ {app.translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_start")} + {blogExtension.name} + {app.translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_end")} +

+
+ + {!isExtensionInstalled(blogExtension.id) + ? + app.translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled", {icon: warningIcon}) : + !isExtensionActive(blogExtension.id) + ? app.translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated", {icon: warningIcon}) : + ''} + +
+ {this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_useBlogImages", + label: app.translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_label"), + help: app.translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_help"), + disabled: isExtensionActive(blogExtension.id) ? false : true, + })} + {this.buildSettingComponent({ + type: "switch", + setting: "walsgit_discussion_cards_useBlogSummary", + label: app.translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_label"), + help: app.translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_help"), + disabled: isExtensionActive(blogExtension.id) ? false : true, })}
{this.submitButton()} diff --git a/js/src/forum/components/CardItem.js b/js/src/forum/components/CardItem.js index fd7dc81..6c30446 100644 --- a/js/src/forum/components/CardItem.js +++ b/js/src/forum/components/CardItem.js @@ -11,6 +11,7 @@ import Link from "flarum/common/components/Link"; import { truncate } from "flarum/common/utils/string"; import LastReplies from "./LastReplies"; import compareTags from "../helpers/compareTags"; +import isValideImageUrl from "../helpers/isValideImageUrl"; export default class cardItem extends Component { oninit(vnode) { @@ -28,6 +29,24 @@ export default class cardItem extends Component { settings[newKey] = app.forum.data.attributes[key]; } } + + /* Getting & setting relevant info for 3rd party Flarum Blog extension support */ + const blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); + const blogSettings = {}; + const postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); + const blogPost = {} + if(blogActivated) { + blogSettings.tags = app.forum.attribute('blogTags'); + blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); + + if(postIsBlogType) { + const blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; + if(isValideImageUrl(blogPostsData.attribute('featuredImage'))) { + blogPost.featuredImage = blogPostsData.attribute('featuredImage'); + } + } + } + const isTagPage = m.route.get().split('?')[0].startsWith('/t/'); let tagId; if (isTagPage) { @@ -36,7 +55,12 @@ export default class cardItem extends Component { const tag = app.store.all('tags').find(t => t.id() === tagId); const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; + tagSettings.defaultImage = tagImage; + /* In case Flarum Blog Extension and useBlogImage are activated */ + if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } for (const key in tagSettings) { if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) { @@ -44,6 +68,7 @@ export default class cardItem extends Component { } } } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ const isIndexPage = m.route.get().split('?')[0] === '/'; if (isIndexPage) { @@ -53,10 +78,16 @@ export default class cardItem extends Component { const isChild = tags[key].isChild(); const parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null; const position = tags[key].position(); - const tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage'); + + let tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage'); + /* In case Flarum Blog Extension and useBlogImage are activated */ + if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } + const currentTag = { id: tagId, isChild, parent, position, tagCustomImg } let priorityTag = null; - if (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue; + if (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue; if (priorityTag === null || compareTags(currentTag, priorityTag) < 0) { priorityTag = { id: tagId, isChild, parent, position, tagCustomImg }; @@ -69,7 +100,7 @@ export default class cardItem extends Component { const attrs = {}; attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ""); - const image = getPostImage(discussion.firstPost(), settings.defaultImage); + const image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType); const media = image ? ( {Number(settings.previewText) === 1 && discussion.firstPost() ? (
- {truncate( - discussion.firstPost().contentPlain(), - 150 - )} + {blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' + ? truncate(discussion.blogMeta().summary(), 150) + : truncate(discussion.firstPost().contentPlain(), 150) + }
) : ( "" diff --git a/js/src/forum/components/ListItem.js b/js/src/forum/components/ListItem.js index 2b25a77..52a067d 100644 --- a/js/src/forum/components/ListItem.js +++ b/js/src/forum/components/ListItem.js @@ -11,6 +11,7 @@ import Link from 'flarum/common/components/Link'; import {truncate} from 'flarum/common/utils/string'; import LastReplies from './LastReplies'; import compareTags from "../helpers/compareTags"; +import isValideImageUrl from "../helpers/isValideImageUrl"; export default class listItem extends Component { @@ -30,6 +31,23 @@ export default class listItem extends Component { } } + /* Getting & setting relevant info for 3rd party Flarum Blog support */ + const blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); + const blogSettings = {}; + const postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); + const blogPost = {} + if(blogActivated) { + blogSettings.tags = app.forum.attribute('blogTags'); + blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); + + if(postIsBlogType) { + const blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; + if(isValideImageUrl(blogPostsData.attribute('featuredImage'))) { + blogPost.featuredImage = blogPostsData.attribute('featuredImage'); + } + } + } + const isTagPage = m.route.get().split('?')[0].startsWith('/t/'); if (isTagPage) { const slug = m.route.get().split('/t/')[1]?.split('?')[0]; @@ -37,7 +55,12 @@ export default class listItem extends Component { const tag = app.store.all('tags').find(t => t.id() === tagId); const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; + tagSettings.defaultImage = tagImage; + /* In case Flarum Blog Extension and useBlogImage are activated */ + if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } for (const key in tagSettings) { if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) { @@ -45,6 +68,7 @@ export default class listItem extends Component { } } } + /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ const isIndexPage = m.route.get().split('?')[0] === '/'; if (isIndexPage) { @@ -54,10 +78,16 @@ export default class listItem extends Component { const isChild = tags[key].isChild(); const parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null; const position = tags[key].position(); - const tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage'); + + let tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage'); + /* In case Flarum Blog Extension and useBlogImage are activated */ + if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { + tagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; + } + const currentTag = { id: tagId, isChild, parent, position, tagCustomImg } let priorityTag = null; - if (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue; + if (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue; if (priorityTag === null || compareTags(currentTag, priorityTag) < 0) { priorityTag = { id: tagId, isChild, parent, position, tagCustomImg }; @@ -69,7 +99,7 @@ export default class listItem extends Component { const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : ''; const attrs = {}; attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ''); - const image = getPostImage(discussion.firstPost(), settings.defaultImage); + const image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType); const media = image ? {craftTags(discussion.tags())}
- {Number(settings.previewText) === 1 && discussion.firstPost() - ?
{truncate(discussion.firstPost().contentPlain(), 150)}
- : ''} + {Number(settings.previewText) === 1 && discussion.firstPost() ? ( +
+ {blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' + ? truncate(discussion.blogMeta().summary(), 150) + : truncate(discussion.firstPost().contentPlain(), 150) + } +
+ ) : ( + '' + )} {app.screen() === 'phone' && Number(settings.showReplies) === 1 ?
diff --git a/js/src/forum/helpers/getPostImage.js b/js/src/forum/helpers/getPostImage.js index 8b033e4..68bd6b3 100644 --- a/js/src/forum/helpers/getPostImage.js +++ b/js/src/forum/helpers/getPostImage.js @@ -1,13 +1,19 @@ -export default function getPostImage(post, defaultImage, key = 1) { +import isValideImageUrl from "./isValideImageUrl"; + +export default function getPostImage(post, image, isblogPost = false, key = 1) { const regex = //; - const image = defaultImage; - const defaultImg = app.forum.attribute("baseUrl") + "/assets/" + image; + + if(isblogPost && isValideImageUrl(image)) { + return image; + } + + const assetImage = app.forum.attribute("baseUrl") + "/assets/" + image; if (post) { const src = regex.exec(post.contentHtml()); if (typeof key === "number" && key > 0) { - return (src) ? src[key] : (image ? defaultImg : null); + return (src) ? src[key] : (image ? assetImage : null); } else if (key === '~') { return src; } else { diff --git a/js/src/forum/helpers/isValideImageUrl.js b/js/src/forum/helpers/isValideImageUrl.js new file mode 100644 index 0000000..b3cdaac --- /dev/null +++ b/js/src/forum/helpers/isValideImageUrl.js @@ -0,0 +1,19 @@ +export default function isValideImageUrl (url) { + if(typeof url !== 'string') return false; + + const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg']; + + if (!url.startsWith('http://') && !url.startsWith('https://')) { + url = 'http://' + url; + } + + let parsedUrl; + try { + parsedUrl = new URL(url); + } catch { + return false; + } + + const extension = parsedUrl.pathname.split('.').pop().toLowerCase(); + return imageExtensions.includes(extension); +} \ No newline at end of file diff --git a/locale/en.yml b/locale/en.yml index e2dddee..9d295e4 100644 --- a/locale/en.yml +++ b/locale/en.yml @@ -35,11 +35,19 @@ walsgit_discussion_cards: otherOptions_title: "Options requiring other extensions" otherOptions_info: "The following options will require other extensions to be installed and activated for them to work. IMPORTANT: please read all the info for each individual option and do the required steps before activating them." showViews_title_start: "With the " - showViews_title_end: " extension installed and activated, you can:" + showViews_title_end: " extension installed and activated, you can set the following (1) option:" + viewsExtension_notInstalled: "{icon} This extension needs to be installed & activated for this setting to work." + viewsExtension_notActivated: "{icon} This extension needs to be activated for this setting to work." showViews_label: "Show views" showViews_help: "If option is enabled, shows the number of views on the cards." - showViews_notInstalled: "The extension {extName} needs to be installed & activated for this setting to work." - showViews_notActivated: "The extension {extName} needs to be activated for this setting to work." + blogExtension_title_start: "With the " + blogExtension_title_end: " extension installed and activated, you can set the following (2) options:" + blogExtension_notInstalled: "{icon} This extension needs to be installed & activated for this setting to work." + blogExtension_notActivated: "{icon} This extension needs to be activated for this setting to work." + useBlogImages_label: "Use the blog's default and featured images" + useBlogImages_help: "If option is enabled, the cards' image for every blog post will set to: the blog post's featured image; if none, to the blog's content's first found image; if none, to the blog extension's default image; if none, to the discussion cards' tag default image; if none, to the discussion cards' main default image. Note that custom settings for tags used as blog tags will of course be ignored if you chose to redirect blog tags in the Flarum Blog extension settings." + useBlogSummary_label: "Use blog post's summary as preview text" + useBlogSummary_help: "If this option and preview text are enabled, the cards for blog posts will show the start of the blog post's summary as preview text instead of the start of the blog post's text." tags: options_heading: "Discussion Cards" activation_button: "Activate for this tag" diff --git a/locale/fr.yml b/locale/fr.yml index 4028c77..a443dbd 100644 --- a/locale/fr.yml +++ b/locale/fr.yml @@ -35,11 +35,19 @@ walsgit_discussion_cards: otherOptions_title: "Options qui nécessitent d'autres extensions" otherOptions_info: "Les options qui suivent sont dépendantes de l'installation et de l'activation d'extensions tierces pour fonctionner. IMPORTANT: merci de lire l'intégralité des informations de chaque option et assurez vous d'avoir réalisé toutes les étapes requises avant de l'activer." showViews_title_start: "Avec l'extension " - showViews_title_end: " installée et activtée, vous pouvez :" + showViews_title_end: " installée et activtée, vous pouvez configurer l'option (1) suivante :" + viewsExtension_notInstalled: "{icon} Cette extension doit être installée & activée pour que cette option fonctionne." + viewsExtension_notActivated: "{icon} Cette extension doit être activée pour que cette option fonctionne." showViews_label: "Affichez le nombre de vues" showViews_help: "Si l'option est activée, cela affichera le nombre de vues de la discussion sur sa carte." - showViews_notInstalled: "L'extension {extName} doit être installée et activée pour que cette option fonctionne." - showViews_notActivated: "L'extension {extName} doit être activée pour que cette option fonctionne." + blogExtension_title_start: "Avec l'extention " + blogExtension_title_end: " installée and activée, vous pouvez configurer les (2) options suivantes :" + blogExtension_notInstalled: "{icon} Cette extension doit être installée & activée pour que ces options fonctionnent." + blogExtension_notActivated: "{icon} Cette extension doit être activée pour que ces options fonctionnent." + useBlogImages_label: "Utilisez l'image de l'article de blog ou celle par défaut du blog" + useBlogImages_help: "Si l'option est activée, l'image de la carte de chaque article de blog sera déterminée comme suit : d'abord l'image de l'article (featured image) ; si aucune, la première image trouvé au sein de l'article ; si aucune, l'image par défaut de l'extension de blog ; si aucune, l'image par defaut de l'étiquette; si aucune, l'image par défaut principale des cartes de discussion. Notez que les paramètres personnalisés des étiquettes, qui seront utilisées comme catégories de blog, seront bien entendu ignorés si vous choisissez de rediriger les étiquettes de blog dans les paramètres de l'extension Flarum Blog." + useBlogSummary_label: "Utilisez le résumé de l'article de blog pour la prévisualisation du message" + useBlogSummary_help: "Si cette option et "prévisualisez le message" sont activées, les cartes des articles de blogs afficheront le début du résumé de l'article de blog au lieu du début du text de l'article." tags: options_heading: "Discussion Cards" activation_button: "Activez pour cette étiquette" diff --git a/migrations/2024_11_20_000000_set_new_setting_for_blog_extension_support.php b/migrations/2024_11_20_000000_set_new_setting_for_blog_extension_support.php new file mode 100644 index 0000000..19a024b --- /dev/null +++ b/migrations/2024_11_20_000000_set_new_setting_for_blog_extension_support.php @@ -0,0 +1,19 @@ + 0, + 'walsgit_discussion_cards_useBlogSummary' => 0, +]); From 296f268670b37df37774c63d27dfadda4eac3e5b Mon Sep 17 00:00:00 2001 From: Wa!id <108340184+WalsGit@users.noreply.github.com> Date: Fri, 22 Nov 2024 19:43:14 +0100 Subject: [PATCH 4/4] added donation link --- CHANGELOG.md | 9 +- README.md | 1 + composer.json | 6 + js/dist/admin.js | 996 +----------------------------------- js/dist/admin.js.map | 2 +- js/dist/forum.js | 1154 +----------------------------------------- js/dist/forum.js.map | 2 +- 7 files changed, 16 insertions(+), 2154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8efc9cb..2ac419a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ # Changelog -## [1.1.0] - 2024-11-21 +## [1.1.0] - 2024-11-22 ### Added -- Support for `v17development/flarum-blog` extension -- option to chose to use the blog's images (post featured image and blog default's image) for blog post cards -- option to chose to use blog posts' summary as preview text for blog post cards +- NEW FEATURE: Support for `v17development/flarum-blog` extension +- NEW Option to chose to use the blog's images (post featured image and blog default's image) for blog post cards +- NEW Option to chose to use blog posts' summary as preview text for blog post cards +- A donation link ### Changed - Options for 3rd party extensions will only be enabled if said extensions are installed and activated. diff --git a/README.md b/README.md index 40d5eb2..4b40efd 100644 --- a/README.md +++ b/README.md @@ -46,3 +46,4 @@ php flarum cache:clear - [Packagist](https://packagist.org/packages/walsgit/flarum-discussion-cards) - [GitHub](https://github.com/walsgit/flarum-discussion-cards) - [Discuss](https://discuss.flarum.org/d/36343-flarum-discussion-cards) +- [Donate](https://walsgit.github.io/Donations/) \ No newline at end of file diff --git a/composer.json b/composer.json index 44cf17e..223e3c8 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,12 @@ "homepage": "https://discuss.flarum.org/u/Walid" } ], + "funding": [ + { + "type": "website", + "url": "https://walsgit.github.io/Donations/" + } + ], "require": { "flarum/core": "^1.0", "flarum/tags": "^1.0" diff --git a/js/dist/admin.js b/js/dist/admin.js index 57d1f8d..13039f8 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,996 +1,2 @@ -/******/ (() => { // webpackBootstrap -/******/ // runtime can't be in strict mode because a global variable is assign and maybe created. -/******/ var __webpack_modules__ = ({ - -/***/ "./src/admin/components/Settings.js": -/*!******************************************!*\ - !*** ./src/admin/components/Settings.js ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ Settings) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app"); -/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/components/ExtensionPage */ "flarum/admin/components/ExtensionPage"); -/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/admin/components/UploadImageButton */ "flarum/admin/components/UploadImageButton"); -/* harmony import */ var flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/isExtensionInstalled */ "./src/admin/helpers/isExtensionInstalled.js"); -/* harmony import */ var _helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/isExtensionActive */ "./src/admin/helpers/isExtensionActive.js"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); - - - - - - - -var Settings = /*#__PURE__*/function (_ExtensionPage) { - function Settings() { - return _ExtensionPage.apply(this, arguments) || this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(Settings, _ExtensionPage); - var _proto = Settings.prototype; - _proto.content = function content() { - /* Supported third party extensions' info */ - var viewsExtension = { - id: 'flarumite-simple-discussion-views', - name: 'Flarumite Simple Discussion Views', - url: 'https://flarum.org/extension/flarumite/simple-discussion-views' - }; - var blogExtension = { - id: 'v17development-blog', - name: 'Flarum Blog', - url: 'https://flarum.org/extension/v17development/flarum-blog' - }; - var warningIcon = flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-exclamation-triangle"); - return m("div", { - className: "DiscussionCardsSettings" - }, m("div", { - className: "container" - }, m("div", { - className: "DiscussionCardsSettings--content" - }, m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.where_title")), m("p", { - className: "helpText" - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.where_info")), m("div", { - className: "Section" - }, this.buildSettingComponent({ - type: "flarum-tags.select-tags", - setting: "walsgit_discussion_cards_allowedTags", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_help"), - options: { - requireParentTag: false - } - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_onIndexPage", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_help") - })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title")), m("p", { - className: "helpText" - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info")), m("div", { - className: "Section" - }, this.buildSettingComponent({ - type: "number", - className: 'DC-Number', - setting: "walsgit_discussion_cards_primaryCards", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_help"), - min: 0, - step: 1, - placeholder: 4 - }), this.buildSettingComponent({ - type: "number", - className: 'DC-Number', - setting: "walsgit_discussion_cards_desktopCardWidth", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help"), - min: 10, - max: 100, - step: 1, - placeholder: 49 - }), this.buildSettingComponent({ - type: "number", - className: 'DC-Number', - setting: "walsgit_discussion_cards_tabletCardWidth", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help"), - min: 10, - max: 100, - step: 1, - placeholder: 49 - })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_title")), m("p", { - className: "helpText" - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_info")), m("div", { - className: "Section" - }, m("div", { - className: "DC-DefaultImageSettings" - }, m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_title")), m("p", { - className: "helpText" - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_info")), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("walsgitDiscussionCardsDefaultImage") === null ? m("div", { - className: "imgStub" - }) : m("img", { - className: "DC-UserUploadedImage", - src: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("baseUrl") + "/assets/" + flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.attribute("walsgitDiscussionCardsDefaultImage") - }), m((flarum_admin_components_UploadImageButton__WEBPACK_IMPORTED_MODULE_3___default()), { - name: "walsgit_discussion_cards_default_image", - "class": "DC-UploadImageBtn" - })), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_previewText", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_help") - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_showAuthor", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_help") - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_showReplies", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_help") - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_showBadges", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_help") - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_markReadCards", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_help") - })), m("h3", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_title")), m("p", { - className: "helpText" - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")), m("div", { - className: "Section" - }, m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start"), m("a", { - href: viewsExtension.url, - target: "_blank", - rel: "noopener noreferrer" - }, viewsExtension.name), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")), m("div", { - className: "helpText" - }, m("em", null, !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(viewsExtension.id) ? +flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled", { - icon: warningIcon - }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated", { - icon: warningIcon - }) : '')), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_showViews", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"), - disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(viewsExtension.id) ? false : true - }), m("hr", null), m("h4", null, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_start"), m("a", { - href: blogExtension.url, - target: "_blank", - rel: "noopener noreferrer" - }, blogExtension.name), flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_end")), m("div", { - className: "helpText" - }, m("em", null, !(0,_helpers_isExtensionInstalled__WEBPACK_IMPORTED_MODULE_4__["default"])(blogExtension.id) ? +flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled", { - icon: warningIcon - }) : !(0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated", { - icon: warningIcon - }) : '')), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_useBlogImages", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_help"), - disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? false : true - }), this.buildSettingComponent({ - type: "switch", - setting: "walsgit_discussion_cards_useBlogSummary", - label: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_label"), - help: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_help"), - disabled: (0,_helpers_isExtensionActive__WEBPACK_IMPORTED_MODULE_5__["default"])(blogExtension.id) ? false : true - })), this.submitButton()))); - }; - _proto.onsubmit = function onsubmit() { - var primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')()); - var desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')()); - var tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')()); - if (primaryCards < 0 || isNaN(primaryCards)) { - flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ - type: 'error' - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.primaryCards')); - return false; - } - if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) { - flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ - type: 'error' - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth')); - return false; - } - if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) { - flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().alerts.show({ - type: 'error' - }, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth')); - return false; - } - return true; - }; - _proto.saveSettings = function saveSettings(e) { - if (!this.onsubmit()) { - return; - } - var settings = this.dirty(); - _ExtensionPage.prototype.saveSettings.call(this, e).then(function () { - var newSettings = {}; - for (var key in settings) { - var endOfKey = key.replace('walsgit_discussion_cards_', ''); - endOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase()); - var newKey = 'walsgitDiscussionCards' + endOfKey; - newSettings[newKey] = settings[key]; - } - flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default().forum.pushAttributes(newSettings); - })["catch"](function (error) { - console.error(error); - }); - }; - return Settings; -}((flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default())); - - -/***/ }), - -/***/ "./src/admin/components/UploadTagImageButton.js": -/*!******************************************************!*\ - !*** ./src/admin/components/UploadTagImageButton.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ UploadTagImageButton) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app"); -/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/classList */ "flarum/common/utils/classList"); -/* harmony import */ var flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/tags/components/EditTagModal */ "flarum/tags/components/EditTagModal"); -/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_5__); - - - - - - -var UploadTagImageButton = /*#__PURE__*/function (_Button) { - function UploadTagImageButton(props) { - var _this; - _this = _Button.call(this, props) || this; - _this.loading = false; - _this.tagId = props.attrs.tagId; - return _this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(UploadTagImageButton, _Button); - var _proto = UploadTagImageButton.prototype; - _proto.view = function view(vnode) { - this.attrs.loading = this.loading; - this.attrs.className = flarum_common_utils_classList__WEBPACK_IMPORTED_MODULE_4___default()(this.attrs.className, "Button"); - if ((flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().store).data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) { - this.attrs.onclick = this.remove.bind(this); - return m("div", null, m("p", null, m("img", { - className: "DC-TagDefaultImage", - src: "assets/" + (flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().store).data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage, - alt: "", - width: "200px" - })), m("p", null, _Button.prototype.view.call(this, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, vnode, { - children: flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("core.admin.upload_image.remove_button") - })))); - } else { - this.attrs.onclick = this.upload.bind(this); - } - return _Button.prototype.view.call(this, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, vnode, { - children: flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().translator.trans("core.admin.upload_image.upload_button") - })); - } - - /** - * Prompt the user to upload an image. - */; - _proto.upload = function upload() { - var _this2 = this; - if (this.loading) return; - var $input = $(''); - $input.appendTo("body").hide().trigger("click").on("change", function (e) { - var body = new FormData(); - body.append(_this2.attrs.name, $(e.target)[0].files[0]); - body.append('tagId', _this2.tagId); - _this2.loading = true; - m.redraw(); - flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().request({ - method: "POST", - url: _this2.resourceUrl(), - serialize: function serialize(raw) { - return raw; - }, - body: body - }).then(_this2.success.bind(_this2), _this2.failure.bind(_this2)); - }); - } - - /** - * Remove the image. - */; - _proto.remove = function remove() { - this.loading = true; - m.redraw(); - var body = new FormData(); - body.append('tagId', this.tagId); - flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().request({ - method: "DELETE", - url: this.resourceUrl(), - body: body - }).then(this.success.bind(this), this.failure.bind(this)); - }; - _proto.resourceUrl = function resourceUrl() { - return flarum_admin_app__WEBPACK_IMPORTED_MODULE_2___default().forum.attribute("apiUrl") + "/" + this.attrs.name; - } - - /** - * After a successful upload/removal, reload the page. - * - * @param {object} response - * @protected - */; - _proto.success = function success(response) { - window.location.reload(); - } - - /** - * If upload/removal fails, stop loading. - * - * @param {object} response - * @protected - */; - _proto.failure = function failure(response) { - this.loading = false; - m.redraw(); - }; - return UploadTagImageButton; -}((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default())); - - -/***/ }), - -/***/ "./src/admin/components/WdcTagSettingsModal.js": -/*!*****************************************************!*\ - !*** ./src/admin/components/WdcTagSettingsModal.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ WdcTagSettingsModal) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/components/Modal */ "flarum/common/components/Modal"); -/* harmony import */ var flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/utils/Stream */ "flarum/common/utils/Stream"); -/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3__); - - - - -var defaultSettings = {}; -var WdcTagSettingsModal = /*#__PURE__*/function (_Modal) { - function WdcTagSettingsModal() { - return _Modal.apply(this, arguments) || this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(WdcTagSettingsModal, _Modal); - var _proto = WdcTagSettingsModal.prototype; - _proto.oninit = function oninit(vnode) { - _Modal.prototype.oninit.call(this, vnode); - this.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {}; - defaultSettings = { - primaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards, - desktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth, - tabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth - }; - if (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) { - this.tagSettings.primaryCards = defaultSettings.primaryCards; - } - if (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) { - this.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth; - } - if (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) { - this.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth; - } - this.tagSettings.primaryCards = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.primaryCards); - this.tagSettings.desktopCardWidth = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.desktopCardWidth); - this.tagSettings.tabletCardWidth = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_3___default()(this.tagSettings.tabletCardWidth); - }; - _proto.className = function className() { - return "WdcTagSettingsModal Modal--large"; - }; - _proto.title = function title() { - return [app.translator.trans("walsgit_discussion_cards.admin.tag_modal.title"), m("span", { - className: "TagLabel colored", - style: "--tag-bg: " + this.attrs.model.data.attributes.color + ";" - }, m("span", { - className: "TagLabel-text" - }, m("span", { - className: "TagLabel-name" - }, this.attrs.model.data.attributes.name)))]; - }; - _proto.content = function content() { - return [m("div", { - className: "Modal-body" - }, m("div", { - className: "Form" - }, m("p", null, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.intro_text")), m("div", { - className: "Form-group" - }, m("label", { - htmlFor: "primaryCards" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_label")), m("div", { - className: "helpText" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_help", { - "default": defaultSettings.primaryCards - })), m("input", { - type: "number", - name: "primaryCards", - className: "FormControl DC-Number", - bidi: this.tagSettings.primaryCards - })), m("div", { - className: "Form-group" - }, m("label", { - htmlFor: "desktopCardWidth" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_label")), m("div", { - className: "helpText" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help", { - "default": defaultSettings.desktopCardWidth - })), m("input", { - type: "number", - name: "desktopCardWidth", - className: "FormControl DC-Number", - bidi: this.tagSettings.desktopCardWidth - })), m("div", { - className: "Form-group" - }, m("label", { - htmlFor: "tabletCardWidth" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_label")), m("div", { - className: "helpText" - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help", { - "default": defaultSettings.tabletCardWidth - })), m("input", { - type: "number", - name: "tabletCardWidth", - className: "FormControl DC-Number", - bidi: this.tagSettings.tabletCardWidth - })), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_1___default()), { - type: "submit", - className: "Button Button--primary", - loading: this.loading, - disabled: this.changed() - }, app.translator.trans("walsgit_discussion_cards.admin.tag_modal.submit_button"))))]; - }; - _proto.changed = function changed() { - var savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {}; - function isSameSettings(obj1, obj2) { - if (typeof obj1 !== 'object' || typeof obj2 !== 'object') { - return false; - } - if (Object.keys(obj1).length !== Object.keys(obj2).length) { - return false; - } - for (var key in obj1) { - if (obj1.hasOwnProperty(key)) { - if (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') { - if (!compareObjects(obj1[key], obj2[key])) { - return false; - } - } else if (obj1[key] !== obj2[key]) { - return false; - } - } - } - return true; - } - return isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings); - }; - _proto.onsubmit = function onsubmit(e) { - e.preventDefault(); - var primaryCards = parseInt(this.tagSettings.primaryCards()); - if (isNaN(primaryCards) || primaryCards < 0) { - app.alerts.show({ - type: 'error' - }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards')); - return; - } - var desktopWidth = parseInt(this.tagSettings.desktopCardWidth()); - if (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) { - app.alerts.show({ - type: 'error' - }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth')); - return; - } - var tabletWidth = parseInt(this.tagSettings.tabletCardWidth()); - if (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) { - app.alerts.show({ - type: 'error' - }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth')); - return; - } - var tag = this.attrs.model; - this.tagSettings.primaryCards(primaryCards); - this.tagSettings.desktopCardWidth(desktopWidth); - this.tagSettings.tabletCardWidth(tabletWidth); - var tagSettings = JSON.stringify(this.tagSettings); - this.loading = true; - app.request({ - method: "PATCH", - url: app.forum.attribute("apiUrl") + "/tags/" + tag.id() + "/tagSettings", - body: { - data: { - tagSettings: tagSettings - } - } - }).then(function () { - tag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings; - app.modal.close(); - }); - }; - return WdcTagSettingsModal; -}((flarum_common_components_Modal__WEBPACK_IMPORTED_MODULE_2___default())); - - -/***/ }), - -/***/ "./src/admin/helpers/isExtensionActive.js": -/*!************************************************!*\ - !*** ./src/admin/helpers/isExtensionActive.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isExtensionActive) -/* harmony export */ }); -function isExtensionActive(extensionName) { - if (app.data.settings.extensions_enabled.includes(extensionName)) { - return true; - } - return false; -} - -/***/ }), - -/***/ "./src/admin/helpers/isExtensionInstalled.js": -/*!***************************************************!*\ - !*** ./src/admin/helpers/isExtensionInstalled.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isExtensionInstalled) -/* harmony export */ }); -function isExtensionInstalled(extensionName) { - if (app.data.extensions.hasOwnProperty(extensionName)) { - return true; - } - return false; -} - -/***/ }), - -/***/ "./src/admin/index.js": -/*!****************************!*\ - !*** ./src/admin/index.js ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/app */ "flarum/app"); -/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_app__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _components_Settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/Settings */ "./src/admin/components/Settings.js"); -/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/extend */ "flarum/extend"); -/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_extend__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/Model */ "flarum/common/Model"); -/* harmony import */ var flarum_common_Model__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Model__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/tags/models/Tag */ "flarum/tags/models/Tag"); -/* harmony import */ var flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/tags/components/EditTagModal */ "flarum/tags/components/EditTagModal"); -/* harmony import */ var flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _components_WdcTagSettingsModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/WdcTagSettingsModal */ "./src/admin/components/WdcTagSettingsModal.js"); -/* harmony import */ var _components_UploadTagImageButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/UploadTagImageButton */ "./src/admin/components/UploadTagImageButton.js"); - - - - - - - - - - -flarum_app__WEBPACK_IMPORTED_MODULE_0___default().initializers.add("walsgit/discussion-cards", function () { - (flarum_tags_models_Tag__WEBPACK_IMPORTED_MODULE_6___default().prototype).WdcDefaultImage = flarum_common_Model__WEBPACK_IMPORTED_MODULE_3___default().attribute("walsgit_discussion_cards_tag_default_image"); - (0,flarum_extend__WEBPACK_IMPORTED_MODULE_2__.extend)((flarum_tags_components_EditTagModal__WEBPACK_IMPORTED_MODULE_7___default().prototype), "fields", function (items) { - var _this = this; - if (this.tag.id()) { - var allowedTags = JSON.parse(flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.attribute('walsgitDiscussionCardsAllowedTags')); - var isActivatedForTag = allowedTags.includes(this.tag.id()); - var activationBtnClasses = isActivatedForTag ? "DC-ActivationBtn Button activated" : "DC-ActivationBtn Button Button--primary"; - var DcTagSettingsClasses = isActivatedForTag ? "DC-TagSettings" : "DC-TagSettings DC-Hidden"; - var activationBtnText = isActivatedForTag ? flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button") : flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"); - var toggleActivation = function toggleActivation() { - isActivatedForTag = !isActivatedForTag; - if (isActivatedForTag) { - allowedTags.push(_this.tag.id()); - } else { - allowedTags = allowedTags.filter(function (id) { - return id !== _this.tag.id(); - }); - } - flarum_app__WEBPACK_IMPORTED_MODULE_0___default().request({ - method: "POST", - url: flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum.attribute("apiUrl") + "/walsgit_discussion_cards_tag_update_allowedTags", - body: { - allowedTags: allowedTags - } - }).then(function () { - (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags); - (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().data).settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags); - isActivatedForTag = !isActivatedForTag; - activationBtnClasses = isActivatedForTag ? "DC-ActivationBtn Button activated" : "DC-ActivationBtn Button Button--primary"; - DcTagSettingsClasses = isActivatedForTag ? "DC-TagSettings" : "DC-TagSettings DC-Hidden"; - activationBtnText = isActivatedForTag ? flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button") : flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"); - m.redraw(); - }); - }; - items.add("tag-discussion-cards-options", m("fieldset", { - className: "DC-Fieldset" - }, m("legend", null, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.options_heading")), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default()), { - className: activationBtnClasses, - icon: "fas fa-border-all", - onclick: toggleActivation - }, activationBtnText), m("div", { - className: DcTagSettingsClasses - }, m("div", { - className: "DC-TagDefaultImageSettings" - }, m("h4", null, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_title")), m("p", { - className: "helpText" - }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_info")), m(_components_UploadTagImageButton__WEBPACK_IMPORTED_MODULE_9__["default"], { - name: "walsgit_discussion_cards_tag_default_image", - className: "DC-UploadTagImageBtn", - ariaLabel: "Upload a default image for this tag", - tagId: this.tag.id() - })), m((flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_4___default()), { - className: "Button Button--primary", - icon: "fas fa-border-all", - onclick: function onclick() { - flarum_app__WEBPACK_IMPORTED_MODULE_0___default().modal.show(_components_WdcTagSettingsModal__WEBPACK_IMPORTED_MODULE_8__["default"], { - model: _this.tag - }); - } - }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans("walsgit_discussion_cards.admin.tags.options_button")))), -20); - } - }); - flarum_app__WEBPACK_IMPORTED_MODULE_0___default().extensionData["for"]("walsgit-discussion-cards").registerPage(_components_Settings__WEBPACK_IMPORTED_MODULE_1__["default"]); -}); - -/***/ }), - -/***/ "flarum/admin/app": -/*!**************************************************!*\ - !*** external "flarum.core.compat['admin/app']" ***! - \**************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['admin/app']; - -/***/ }), - -/***/ "flarum/admin/components/ExtensionPage": -/*!***********************************************************************!*\ - !*** external "flarum.core.compat['admin/components/ExtensionPage']" ***! - \***********************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['admin/components/ExtensionPage']; - -/***/ }), - -/***/ "flarum/admin/components/UploadImageButton": -/*!***************************************************************************!*\ - !*** external "flarum.core.compat['admin/components/UploadImageButton']" ***! - \***************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['admin/components/UploadImageButton']; - -/***/ }), - -/***/ "flarum/app": -/*!********************************************!*\ - !*** external "flarum.core.compat['app']" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['app']; - -/***/ }), - -/***/ "flarum/common/Model": -/*!*****************************************************!*\ - !*** external "flarum.core.compat['common/Model']" ***! - \*****************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/Model']; - -/***/ }), - -/***/ "flarum/common/components/Button": -/*!*****************************************************************!*\ - !*** external "flarum.core.compat['common/components/Button']" ***! - \*****************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Button']; - -/***/ }), - -/***/ "flarum/common/components/Modal": -/*!****************************************************************!*\ - !*** external "flarum.core.compat['common/components/Modal']" ***! - \****************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Modal']; - -/***/ }), - -/***/ "flarum/common/helpers/icon": -/*!************************************************************!*\ - !*** external "flarum.core.compat['common/helpers/icon']" ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/helpers/icon']; - -/***/ }), - -/***/ "flarum/common/utils/Stream": -/*!************************************************************!*\ - !*** external "flarum.core.compat['common/utils/Stream']" ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/utils/Stream']; - -/***/ }), - -/***/ "flarum/common/utils/classList": -/*!***************************************************************!*\ - !*** external "flarum.core.compat['common/utils/classList']" ***! - \***************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/utils/classList']; - -/***/ }), - -/***/ "flarum/extend": -/*!***********************************************!*\ - !*** external "flarum.core.compat['extend']" ***! - \***********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['extend']; - -/***/ }), - -/***/ "flarum/tags/components/EditTagModal": -/*!*********************************************************************!*\ - !*** external "flarum.core.compat['tags/components/EditTagModal']" ***! - \*********************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['tags/components/EditTagModal']; - -/***/ }), - -/***/ "flarum/tags/models/Tag": -/*!********************************************************!*\ - !*** external "flarum.core.compat['tags/models/Tag']" ***! - \********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['tags/models/Tag']; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": -/*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _extends) -/* harmony export */ }); -function _extends() { - return _extends = Object.assign ? Object.assign.bind() : function (n) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e]; - for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); - } - return n; - }, _extends.apply(null, arguments); -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _inheritsLoose) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); - -function _inheritsLoose(t, o) { - t.prototype = Object.create(o.prototype), t.prototype.constructor = t, (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, o); -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) -/* harmony export */ }); -function _setPrototypeOf(t, e) { - return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { - return t.__proto__ = e, t; - }, _setPrototypeOf(t, e); -} - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!******************!*\ - !*** ./admin.js ***! - \******************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _src_admin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/admin */ "./src/admin/index.js"); -/* - * This file is part of Flarum. - * - * (c) Toby Zerner - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - - -})(); - -module.exports = __webpack_exports__; -/******/ })() -; +(()=>{var t={n:s=>{var a=s&&s.__esModule?()=>s.default:()=>s;return t.d(a,{a}),a},d:(s,a)=>{for(var i in a)t.o(a,i)&&!t.o(s,i)&&Object.defineProperty(s,i,{enumerable:!0,get:a[i]})},o:(t,s)=>Object.prototype.hasOwnProperty.call(t,s)};(()=>{"use strict";const s=flarum.core.compat.app;var a=t.n(s);function i(t,s){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,s){return t.__proto__=s,t},i(t,s)}function e(t,s){t.prototype=Object.create(s.prototype),t.prototype.constructor=t,i(t,s)}const n=flarum.core.compat["admin/app"];var r=t.n(n);const l=flarum.core.compat["admin/components/ExtensionPage"];var o=t.n(l);const d=flarum.core.compat["admin/components/UploadImageButton"];var g=t.n(d);function c(t){return!!app.data.extensions.hasOwnProperty(t)}function u(t){return!!app.data.settings.extensions_enabled.includes(t)}const p=flarum.core.compat["common/helpers/icon"];var _=t.n(p),h=function(t){function s(){return t.apply(this,arguments)||this}e(s,t);var a=s.prototype;return a.content=function(){var t="flarumite-simple-discussion-views",s="v17development-blog",a=_()("fas fa-exclamation-triangle");return m("div",{className:"DiscussionCardsSettings"},m("div",{className:"container"},m("div",{className:"DiscussionCardsSettings--content"},m("h3",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.where_title")),m("p",{className:"helpText"},r().translator.trans("walsgit_discussion_cards.admin.settings.general.where_info")),m("div",{className:"Section"},this.buildSettingComponent({type:"flarum-tags.select-tags",setting:"walsgit_discussion_cards_allowedTags",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.allowedTags_help"),options:{requireParentTag:!1}}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_onIndexPage",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.onIndexPage_help")})),m("h3",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title")),m("p",{className:"helpText"},r().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info")),m("div",{className:"Section"},this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_primaryCards",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.primaryCards_help"),min:0,step:1,placeholder:4}),this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_desktopCardWidth",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help"),min:10,max:100,step:1,placeholder:49}),this.buildSettingComponent({type:"number",className:"DC-Number",setting:"walsgit_discussion_cards_tabletCardWidth",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help"),min:10,max:100,step:1,placeholder:49})),m("h3",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_title")),m("p",{className:"helpText"},r().translator.trans("walsgit_discussion_cards.admin.settings.general.cardOptions_info")),m("div",{className:"Section"},m("div",{className:"DC-DefaultImageSettings"},m("h4",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_title")),m("p",{className:"helpText"},r().translator.trans("walsgit_discussion_cards.admin.settings.general.defaultImage_info")),null===r().forum.attribute("walsgitDiscussionCardsDefaultImage")?m("div",{className:"imgStub"}):m("img",{className:"DC-UserUploadedImage",src:r().forum.attribute("baseUrl")+"/assets/"+r().forum.attribute("walsgitDiscussionCardsDefaultImage")}),m(g(),{name:"walsgit_discussion_cards_default_image",class:"DC-UploadImageBtn"})),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_previewText",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.previewText_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showAuthor",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showAuthor_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showReplies",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showReplies_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showBadges",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showBadges_help")}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_markReadCards",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.markReadCards_help")})),m("h3",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_title")),m("p",{className:"helpText"},r().translator.trans("walsgit_discussion_cards.admin.settings.general.otherOptions_info")),m("div",{className:"Section"},m("h4",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_start"),m("a",{href:"https://flarum.org/extension/flarumite/simple-discussion-views",target:"_blank",rel:"noopener noreferrer"},"Flarumite Simple Discussion Views"),r().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_title_end")),m("div",{className:"helpText"},m("em",null,c(t)?u(t)?"":r().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated",{icon:a}):+r().translator.trans("walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled",{icon:a}))),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_showViews",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.showViews_help"),disabled:!u(t)}),m("hr",null),m("h4",null,r().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_start"),m("a",{href:"https://flarum.org/extension/v17development/flarum-blog",target:"_blank",rel:"noopener noreferrer"},"Flarum Blog"),r().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_title_end")),m("div",{className:"helpText"},m("em",null,c(s)?u(s)?"":r().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated",{icon:a}):+r().translator.trans("walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled",{icon:a}))),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_useBlogImages",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogImages_help"),disabled:!u(s)}),this.buildSettingComponent({type:"switch",setting:"walsgit_discussion_cards_useBlogSummary",label:r().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_label"),help:r().translator.trans("walsgit_discussion_cards.admin.settings.general.useBlogSummary_help"),disabled:!u(s)})),this.submitButton())))},a.onsubmit=function(){var t=Number(this.setting("walsgit_discussion_cards_primaryCards")()),s=Number(this.setting("walsgit_discussion_cards_desktopCardWidth")()),a=Number(this.setting("walsgit_discussion_cards_tabletCardWidth")());return t<0||isNaN(t)?(r().alerts.show({type:"error"},r().translator.trans("walsgit_discussion_cards.admin.errors.primaryCards")),!1):s<10||s>100||isNaN(s)?(r().alerts.show({type:"error"},r().translator.trans("walsgit_discussion_cards.admin.errors.desktopCardWidth")),!1):!(a<10||a>100||isNaN(a))||(r().alerts.show({type:"error"},r().translator.trans("walsgit_discussion_cards.admin.errors.tabletCardWidth")),!1)},a.saveSettings=function(s){if(this.onsubmit()){var a=this.dirty();t.prototype.saveSettings.call(this,s).then((function(){var t={};for(var s in a){var i=s.replace("walsgit_discussion_cards_","");t["walsgitDiscussionCards"+(i=i.replace(/^./,i.charAt(0).toUpperCase()))]=a[s]}r().forum.pushAttributes(t)})).catch((function(t){console.error(t)}))}},s}(o());const w=flarum.core.compat.extend,b=flarum.core.compat["common/Model"];var f=t.n(b);const C=flarum.core.compat["common/components/Button"];var y=t.n(C);const v=flarum.core.compat["tags/models/Tag"];var S=t.n(v);const N=flarum.core.compat["tags/components/EditTagModal"];var D=t.n(N);const T=flarum.core.compat["common/components/Modal"];var W=t.n(T);const x=flarum.core.compat["common/utils/Stream"];var I=t.n(x),O={},k=function(t){function s(){return t.apply(this,arguments)||this}e(s,t);var a=s.prototype;return a.oninit=function(s){t.prototype.oninit.call(this,s),this.tagSettings=JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings||null)||{},O={primaryCards:app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,desktopCardWidth:app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,tabletCardWidth:app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth},this.tagSettings.hasOwnProperty("primaryCards")&&null!==this.tagSettings.primaryCards||(this.tagSettings.primaryCards=O.primaryCards),this.tagSettings.hasOwnProperty("desktopCardWidth")&&null!==this.tagSettings.desktopCardWidth||(this.tagSettings.desktopCardWidth=O.desktopCardWidth),this.tagSettings.hasOwnProperty("tabletCardWidth")&&null!==this.tagSettings.tabletCardWidth||(this.tagSettings.tabletCardWidth=O.tabletCardWidth),this.tagSettings.primaryCards=I()(this.tagSettings.primaryCards),this.tagSettings.desktopCardWidth=I()(this.tagSettings.desktopCardWidth),this.tagSettings.tabletCardWidth=I()(this.tagSettings.tabletCardWidth)},a.className=function(){return"WdcTagSettingsModal Modal--large"},a.title=function(){return[app.translator.trans("walsgit_discussion_cards.admin.tag_modal.title"),m("span",{className:"TagLabel colored",style:"--tag-bg: "+this.attrs.model.data.attributes.color+";"},m("span",{className:"TagLabel-text"},m("span",{className:"TagLabel-name"},this.attrs.model.data.attributes.name)))]},a.content=function(){return[m("div",{className:"Modal-body"},m("div",{className:"Form"},m("p",null,app.translator.trans("walsgit_discussion_cards.admin.tag_modal.intro_text")),m("div",{className:"Form-group"},m("label",{htmlFor:"primaryCards"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.primaryCards_help",{default:O.primaryCards})),m("input",{type:"number",name:"primaryCards",className:"FormControl DC-Number",bidi:this.tagSettings.primaryCards})),m("div",{className:"Form-group"},m("label",{htmlFor:"desktopCardWidth"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help",{default:O.desktopCardWidth})),m("input",{type:"number",name:"desktopCardWidth",className:"FormControl DC-Number",bidi:this.tagSettings.desktopCardWidth})),m("div",{className:"Form-group"},m("label",{htmlFor:"tabletCardWidth"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_label")),m("div",{className:"helpText"},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help",{default:O.tabletCardWidth})),m("input",{type:"number",name:"tabletCardWidth",className:"FormControl DC-Number",bidi:this.tagSettings.tabletCardWidth})),m(y(),{type:"submit",className:"Button Button--primary",loading:this.loading,disabled:this.changed()},app.translator.trans("walsgit_discussion_cards.admin.tag_modal.submit_button"))))]},a.changed=function(){var t=JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings||"null")||{};return function(t,s){if("object"!=typeof t||"object"!=typeof s)return!1;if(Object.keys(t).length!==Object.keys(s).length)return!1;for(var a in t)if(t.hasOwnProperty(a))if("object"==typeof t[a]&&"object"==typeof s[a]){if(!compareObjects(t[a],s[a]))return!1}else if(t[a]!==s[a])return!1;return!0}(JSON.parse(JSON.stringify(this.tagSettings)),t)},a.onsubmit=function(t){t.preventDefault();var s=parseInt(this.tagSettings.primaryCards());if(isNaN(s)||s<0)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.primaryCards"));else{var a=parseInt(this.tagSettings.desktopCardWidth());if(isNaN(a)||a<10||a>100)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.desktopCardWidth"));else{var i=parseInt(this.tagSettings.tabletCardWidth());if(isNaN(i)||i<10||i>100)app.alerts.show({type:"error"},app.translator.trans("walsgit_discussion_cards.admin.errors.tabletCardWidth"));else{var e=this.attrs.model;this.tagSettings.primaryCards(s),this.tagSettings.desktopCardWidth(a),this.tagSettings.tabletCardWidth(i);var n=JSON.stringify(this.tagSettings);this.loading=!0,app.request({method:"PATCH",url:app.forum.attribute("apiUrl")+"/tags/"+e.id()+"/tagSettings",body:{data:{tagSettings:n}}}).then((function(){e.data.attributes.walsgitDiscussionCardsTagSettings=n,app.modal.close()}))}}}},s}(W());function B(){return B=Object.assign?Object.assign.bind():function(t){for(var s=1;s').appendTo("body").hide().trigger("click").on("change",(function(s){var a=new FormData;a.append(t.attrs.name,$(s.target)[0].files[0]),a.append("tagId",t.tagId),t.loading=!0,m.redraw(),r().request({method:"POST",url:t.resourceUrl(),serialize:function(t){return t},body:a}).then(t.success.bind(t),t.failure.bind(t))}))},a.remove=function(){this.loading=!0,m.redraw();var t=new FormData;t.append("tagId",this.tagId),r().request({method:"DELETE",url:this.resourceUrl(),body:t}).then(this.success.bind(this),this.failure.bind(this))},a.resourceUrl=function(){return r().forum.attribute("apiUrl")+"/"+this.attrs.name},a.success=function(t){window.location.reload()},a.failure=function(t){this.loading=!1,m.redraw()},s}(y());a().initializers.add("walsgit/discussion-cards",(function(){S().prototype.WdcDefaultImage=f().attribute("walsgit_discussion_cards_tag_default_image"),(0,w.extend)(D().prototype,"fields",(function(t){var s=this;if(this.tag.id()){var i=JSON.parse(a().forum.attribute("walsgitDiscussionCardsAllowedTags")),e=i.includes(this.tag.id()),n=e?"DC-ActivationBtn Button activated":"DC-ActivationBtn Button Button--primary",r=e?"DC-TagSettings":"DC-TagSettings DC-Hidden",l=e?a().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button"):a().translator.trans("walsgit_discussion_cards.admin.tags.activation_button");t.add("tag-discussion-cards-options",m("fieldset",{className:"DC-Fieldset"},m("legend",null,a().translator.trans("walsgit_discussion_cards.admin.tags.options_heading")),m(y(),{className:n,icon:"fas fa-border-all",onclick:function(){(e=!e)?i.push(s.tag.id()):i=i.filter((function(t){return t!==s.tag.id()})),a().request({method:"POST",url:a().forum.attribute("apiUrl")+"/walsgit_discussion_cards_tag_update_allowedTags",body:{allowedTags:i}}).then((function(){a().forum.data.attributes.walsgitDiscussionCardsAllowedTags=JSON.stringify(i),a().data.settings.walsgit_discussion_cards_allowedTags=JSON.stringify(i),n=(e=!e)?"DC-ActivationBtn Button activated":"DC-ActivationBtn Button Button--primary",r=e?"DC-TagSettings":"DC-TagSettings DC-Hidden",l=e?a().translator.trans("walsgit_discussion_cards.admin.tags.deactivation_button"):a().translator.trans("walsgit_discussion_cards.admin.tags.activation_button"),m.redraw()}))}},l),m("div",{className:r},m("div",{className:"DC-TagDefaultImageSettings"},m("h4",null,a().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_title")),m("p",{className:"helpText"},a().translator.trans("walsgit_discussion_cards.admin.tags.defaultImage_info")),m(j,{name:"walsgit_discussion_cards_tag_default_image",className:"DC-UploadTagImageBtn",ariaLabel:"Upload a default image for this tag",tagId:this.tag.id()})),m(y(),{className:"Button Button--primary",icon:"fas fa-border-all",onclick:function(){a().modal.show(k,{model:s.tag})}},a().translator.trans("walsgit_discussion_cards.admin.tags.options_button")))),-20)}})),a().extensionData.for("walsgit-discussion-cards").registerPage(h)}))})(),module.exports={}})(); //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 987ff23..1807e1a 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionActive.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionInstalled.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/make namespace object","webpack://@walsgit/flarum-discussion-cards/./admin.js"],"sourcesContent":["import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\nimport isExtensionInstalled from \"../helpers/isExtensionInstalled\";\r\nimport isExtensionActive from \"../helpers/isExtensionActive\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\t/* Supported third party extensions' info */\r\n\t\tconst viewsExtension = {\r\n\t\t\tid: 'flarumite-simple-discussion-views',\r\n\t\t\tname: 'Flarumite Simple Discussion Views',\r\n\t\t\turl: 'https://flarum.org/extension/flarumite/simple-discussion-views',\r\n\t\t};\r\n\t\tconst blogExtension = {\r\n\t\t\tid: 'v17development-blog',\r\n\t\t\tname: 'Flarum Blog',\r\n\t\t\turl: 'https://flarum.org/extension/v17development/flarum-blog',\r\n\t\t};\r\n\r\n\t\tconst warningIcon = icon(\"fas fa-exclamation-triangle\");\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_start\")}\r\n\t\t\t\t\t\t\t\t{viewsExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(viewsExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_start\")}\r\n\t\t\t\t\t\t\t\t{blogExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogImages\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogSummary\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","export default function isExtensionActive(extensionName) {\r\n if (app.data.settings.extensions_enabled.includes(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","export default function isExtensionInstalled(extensionName) {\r\n if (app.data.extensions.hasOwnProperty(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n","module.exports = flarum.core.compat['admin/app'];","module.exports = flarum.core.compat['admin/components/ExtensionPage'];","module.exports = flarum.core.compat['admin/components/UploadImageButton'];","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Model'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Modal'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/utils/Stream'];","module.exports = flarum.core.compat['common/utils/classList'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['tags/components/EditTagModal'];","module.exports = flarum.core.compat['tags/models/Tag'];","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/admin';\r\n"],"names":["app","ExtensionPage","UploadImageButton","isExtensionInstalled","isExtensionActive","icon","Settings","_ExtensionPage","apply","arguments","_inheritsLoose","_proto","prototype","content","viewsExtension","id","name","url","blogExtension","warningIcon","m","className","translator","trans","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","forum","attribute","src","href","target","rel","disabled","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","alerts","show","saveSettings","e","settings","dirty","call","then","newSettings","key","endOfKey","replace","charAt","toUpperCase","newKey","pushAttributes","error","console","default","Button","classList","EditTagModal","UploadTagImageButton","_Button","props","_this","loading","tagId","attrs","view","vnode","store","data","tags","attributes","walsgitDiscussionCardsTagDefaultImage","onclick","remove","bind","alt","width","_extends","children","upload","_this2","$input","$","appendTo","hide","trigger","on","body","FormData","append","files","redraw","request","method","resourceUrl","serialize","raw","success","failure","response","window","location","reload","Modal","Stream","defaultSettings","WdcTagSettingsModal","_Modal","oninit","tagSettings","JSON","parse","model","walsgitDiscussionCardsTagSettings","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","hasOwnProperty","title","style","color","htmlFor","bidi","changed","savedSettings","isSameSettings","obj1","obj2","Object","keys","length","compareObjects","stringify","preventDefault","parseInt","desktopWidth","tabletWidth","tag","modal","close","extensionName","extensions_enabled","includes","extensions","extend","Model","Tag","initializers","add","WdcDefaultImage","items","allowedTags","isActivatedForTag","activationBtnClasses","DcTagSettingsClasses","activationBtnText","toggleActivation","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","extensionData","registerPage","assign","n","t","r","setPrototypeOf","o","create","constructor","_setPrototypeOf","__proto__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,IACzBH,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,I,mBCAlF,MAAM,EAA+BI,OAAOC,KAAKC,OAAY,I,aCA7D,SAASC,EAAgBC,EAAGC,GAC1B,OAAOF,EAAkBZ,OAAOe,eAAiBf,OAAOe,eAAeC,OAAS,SAAUH,EAAGC,GAC3F,OAAOD,EAAEI,UAAYH,EAAGD,CAC1B,EAAGD,EAAgBC,EAAGC,EACxB,CCHA,SAASI,EAAeL,EAAGd,GACzBc,EAAEP,UAAYN,OAAOmB,OAAOpB,EAAEO,WAAYO,EAAEP,UAAUc,YAAcP,EAAGE,EAAeF,EAAGd,EAC3F,CCHA,MAAM,EAA+BU,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,kC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,sC,aCAzC,SAASU,EAAqBC,GACzC,QAAIC,IAAIC,KAAKC,WAAWlB,eAAee,EAI3C,CCLe,SAASI,EAAkBJ,GACtC,QAAIC,IAAIC,KAAKG,SAASC,mBAAmBC,SAASP,EAItD,CCLA,MAAM,EAA+Bb,OAAOC,KAAKC,OAAO,uB,aCOnCmB,EAAQ,SAAAC,GAAA,SAAAD,IAAA,OAAAC,EAAAC,MAAA,KAAAC,YAAA,KAAAf,EAAAY,EAAAC,GAAA,IAAAG,EAAAJ,EAAAxB,UAsOxB,OAtOwB4B,EAC5BC,QAAA,WAEC,IAAMC,EACD,oCAICC,EACD,sBAKCC,EAAcC,IAAK,+BAEzB,OACCC,EAAA,OAAKC,UAAU,2BACdD,EAAA,OAAKC,UAAU,aACdD,EAAA,OAAKC,UAAU,oCACdD,EAAA,UAAKjB,IAAAA,WAAemB,MAAM,gEAC1BF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,+DAEvBF,EAAA,OAAKC,UAAU,WACbE,KAAKC,sBAAsB,CAC3BC,KAAM,0BACNC,QAAS,uCACTC,MAAOxB,IAAAA,WAAemB,MAAM,qEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,oEAC3BO,QAAS,CACRC,kBAAkB,KAGnBP,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,uCACTC,MAAOxB,IAAAA,WAAemB,MAAM,qEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,uEAG7BF,EAAA,UAAKjB,IAAAA,WAAemB,MAAM,6EAC1BF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,4EAEvBF,EAAA,OAAKC,UAAU,WACbE,KAAKC,sBAAsB,CAC3BC,KAAM,SACNJ,UAAW,YACXK,QAAS,wCACTC,MAAOxB,IAAAA,WAAemB,MAAM,sEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,qEAC3BS,IAAK,EACLC,KAAM,EACNC,YAAa,IAEbV,KAAKC,sBAAsB,CAC3BC,KAAM,SACNJ,UAAW,YACXK,QAAS,4CACTC,MAAOxB,IAAAA,WAAemB,MAAM,0EAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,yEAC3BS,IAAK,GACLG,IAAK,IACLF,KAAM,EACNC,YAAa,KAEbV,KAAKC,sBAAsB,CAC3BC,KAAM,SACNJ,UAAW,YACXK,QAAS,2CACTC,MAAOxB,IAAAA,WAAemB,MAAM,yEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,wEAC3BS,IAAK,GACLG,IAAK,IACLF,KAAM,EACNC,YAAa,MAGfb,EAAA,UAAKjB,IAAAA,WAAemB,MAAM,sEAC1BF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,qEAEvBF,EAAA,OAAKC,UAAU,WACdD,EAAA,OAAKC,UAAU,2BACdD,EAAA,UAAKjB,IAAAA,WAAemB,MAAM,uEAC1BF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,sEAEwC,OAA9DnB,IAAAA,MAAUgC,UAAU,sCAClBf,EAAA,OAAKC,UAAU,YACfD,EAAA,OAAKC,UAAU,uBAAuBe,IAAKjC,IAAAA,MAAUgC,UAAU,WAAa,WAAahC,IAAAA,MAAUgC,UAAU,wCAE/Gf,EAAEiB,IAAmB,CAACC,KAAM,yCAA0CC,MAAO,uBAE9EhB,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,uCACTC,MAAOxB,IAAAA,WAAemB,MAAM,qEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,sEAE3BC,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,sCACTC,MAAOxB,IAAAA,WAAemB,MAAM,oEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,qEAE3BC,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,uCACTC,MAAOxB,IAAAA,WAAemB,MAAM,qEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,sEAE3BC,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,sCACTC,MAAOxB,IAAAA,WAAemB,MAAM,oEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,qEAE3BC,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,yCACTC,MAAOxB,IAAAA,WAAemB,MAAM,uEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,yEAG7BF,EAAA,UAAKjB,IAAAA,WAAemB,MAAM,uEAC1BF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,sEAEvBF,EAAA,OAAKC,UAAU,WACdD,EAAA,UACEjB,IAAAA,WAAemB,MAAM,yEACtBF,EAAA,KAAGoB,KA/HH,iEA+H6BC,OAAO,SAASC,IAAI,uBAhIhD,qCAiIAvC,IAAAA,WAAemB,MAAM,wEAEvBF,EAAA,OAAKC,UAAU,YACdD,EAAA,UACGnB,EAAqBe,GAEtBV,EAAkBU,GAEnB,GADEb,IAAAA,WAAemB,MAAM,8EAA+E,CAACH,KAAMD,KAFzGf,IAAAA,WAAemB,MAAM,8EAA+E,CAACH,KAAMD,MAMhHK,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,qCACTC,MAAOxB,IAAAA,WAAemB,MAAM,mEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,kEAC3BqB,UAAUrC,EAAkBU,KAE7BI,EAAA,WACAA,EAAA,UACEjB,IAAAA,WAAemB,MAAM,6EACtBF,EAAA,KAAGoB,KAhJH,0DAgJ4BC,OAAO,SAASC,IAAI,uBAjJ/C,eAkJAvC,IAAAA,WAAemB,MAAM,4EAEvBF,EAAA,OAAKC,UAAU,YACdD,EAAA,UACGnB,EAAqBgB,GAEtBX,EAAkBW,GAEnB,GADEd,IAAAA,WAAemB,MAAM,6EAA8E,CAACH,KAAMD,KAFxGf,IAAAA,WAAemB,MAAM,6EAA8E,CAACH,KAAMD,MAM/GK,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,yCACTC,MAAOxB,IAAAA,WAAemB,MAAM,uEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,sEAC3BqB,UAAUrC,EAAkBW,KAE5BM,KAAKC,sBAAsB,CAC3BC,KAAM,SACNC,QAAS,0CACTC,MAAOxB,IAAAA,WAAemB,MAAM,wEAC5BM,KAAMzB,IAAAA,WAAemB,MAAM,uEAC3BqB,UAAUrC,EAAkBW,MAG7BM,KAAKqB,iBAKX,EAAC9B,EAED+B,SAAA,WACC,IAAMC,EAAeC,OAAOxB,KAAKG,QAAQ,wCAAbH,IACtByB,EAAmBD,OAAOxB,KAAKG,QAAQ,4CAAbH,IAC1B0B,EAAkBF,OAAOxB,KAAKG,QAAQ,2CAAbH,IAEzB,OAAIuB,EAAe,GAAKI,MAAMJ,IAC1B3C,IAAAA,OAAWgD,KAAK,CAAE1B,KAAM,SAAWtB,IAAAA,WAAemB,MAAM,wDACjD,GAEP0B,EAAmB,IAAMA,EAAmB,KAAOE,MAAMF,IACzD7C,IAAAA,OAAWgD,KAAK,CAAE1B,KAAM,SAAWtB,IAAAA,WAAemB,MAAM,4DACjD,KAEP2B,EAAkB,IAAMA,EAAkB,KAAOC,MAAMD,MACvD9C,IAAAA,OAAWgD,KAAK,CAAE1B,KAAM,SAAWtB,IAAAA,WAAemB,MAAM,2DACjD,EAIf,EAACR,EAEJsC,aAAA,SAAa1D,GACN,GAAK6B,KAAKsB,WAAV,CAGN,IAAMtC,EAAWgB,KAAK8B,QAEhB1C,EAAAzB,UAAMkE,aAAYhE,KAAC,KAAAM,GACxB4D,MAAK,WACL,IAAMC,EAAc,CAAC,EACrB,IAAK,IAAM7E,KAAO6B,EAAU,CAC3B,IAAIiD,EAAW9E,EAAI+E,QAAQ,4BAA6B,IAGxDF,EADe,0BADfC,EAAWA,EAASC,QAAQ,KAAMD,EAASE,OAAO,GAAGC,iBAE/BpD,EAAS7B,EAChC,CACAyB,IAAAA,MAAUyD,eAAeL,EACzB,IAAE,OACK,SAACM,GACPC,QAAQD,MAAMA,EACf,GAhBK,CAiBJ,EAACnD,CAAA,CAtOwB,CAASqD,KCPtC,MAAM,EAA+B1E,OAAOC,KAAKC,OAAe,OCA1D,EAA+BF,OAAOC,KAAKC,OAAO,gB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,4B,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,mB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,gC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,2B,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,uB,aCIpDyE,EAAkB,CAAC,EAEFC,EAAmB,SAAAC,GAAA,SAAAD,IAAA,OAAAC,EAAAtD,MAAA,KAAAC,YAAA,KAAAf,EAAAmE,EAAAC,GAAA,IAAApD,EAAAmD,EAAA/E,UAwKtC,OAxKsC4B,EACvCqD,OAAA,SAAOC,GACNF,EAAAhF,UAAMiF,OAAM/E,KAAC,KAAAgF,GAEb7C,KAAK8C,YAAcC,KAAKC,MAAMhD,KAAKiD,MAAMC,MAAMrE,KAAKsE,WAAWC,mCAAqC,OAAS,CAAC,EAE9GX,EAAkB,CACjBlB,aAAc3C,IAAIyE,MAAMxE,KAAKsE,WAAWG,mCACxC7B,iBAAkB7C,IAAIyE,MAAMxE,KAAKsE,WAAWI,uCAC5C7B,gBAAiB9C,IAAIyE,MAAMxE,KAAKsE,WAAWK,uCAGvCxD,KAAK8C,YAAYlF,eAAe,iBAAqD,OAAlCoC,KAAK8C,YAAYvB,eACxEvB,KAAK8C,YAAYvB,aAAekB,EAAgBlB,cAE5CvB,KAAK8C,YAAYlF,eAAe,qBAA6D,OAAtCoC,KAAK8C,YAAYrB,mBAC5EzB,KAAK8C,YAAYrB,iBAAmBgB,EAAgBhB,kBAEhDzB,KAAK8C,YAAYlF,eAAe,oBAA2D,OAArCoC,KAAK8C,YAAYpB,kBAC3E1B,KAAK8C,YAAYpB,gBAAkBe,EAAgBf,iBAGpD1B,KAAK8C,YAAYvB,aAAekC,IAAOzD,KAAK8C,YAAYvB,cACxDvB,KAAK8C,YAAYrB,iBAAmBgC,IAAOzD,KAAK8C,YAAYrB,kBAC5DzB,KAAK8C,YAAYpB,gBAAkB+B,IAAOzD,KAAK8C,YAAYpB,gBAE5D,EAACnC,EACDO,UAAA,WACC,MAAO,kCACR,EAACP,EAEDmE,MAAA,WACC,MAAO,CACN9E,IAAI+E,WAAW5D,MAAM,kDACrBF,EAAA,QACCC,UAAU,mBACV8D,MAAO,aAAe5D,KAAKiD,MAAMC,MAAMrE,KAAKsE,WAAWU,MAAQ,KAE/DhE,EAAA,QAAMC,UAAU,iBACfD,EAAA,QAAMC,UAAU,iBAAiBE,KAAKiD,MAAMC,MAAMrE,KAAKsE,WAAWpC,QAItE,EAACxB,EAEDC,QAAA,WACC,MAAO,CACNK,EAAA,OAAKC,UAAU,cACdD,EAAA,OAAKC,UAAU,QACdD,EAAA,SACEjB,IAAI+E,WAAW5D,MAAM,wDAGvBF,EAAA,OAAKC,UAAU,cACdD,EAAA,SAAOiE,QAAQ,gBAAgBlF,IAAI+E,WAAW5D,MAAM,gEACpDF,EAAA,OAAKC,UAAU,YAAYlB,IAAI+E,WAAW5D,MAAM,6DAA8D,CAACgE,QAAStB,EAAgBlB,gBACxI1B,EAAA,SACCK,KAAK,SACLa,KAAK,eACLjB,UAAU,wBACVkE,KAAMhE,KAAK8C,YAAYvB,gBAGzB1B,EAAA,OAAKC,UAAU,cACdD,EAAA,SAAOiE,QAAQ,oBAAoBlF,IAAI+E,WAAW5D,MAAM,oEACxDF,EAAA,OAAKC,UAAU,YAAYlB,IAAI+E,WAAW5D,MAAM,iEAAkE,CAACgE,QAAStB,EAAgBhB,oBAC5I5B,EAAA,SACCK,KAAK,SACLa,KAAK,mBACLjB,UAAU,wBACVkE,KAAMhE,KAAK8C,YAAYrB,oBAGzB5B,EAAA,OAAKC,UAAU,cACdD,EAAA,SAAOiE,QAAQ,mBAAmBlF,IAAI+E,WAAW5D,MAAM,mEACvDF,EAAA,OAAKC,UAAU,YAAYlB,IAAI+E,WAAW5D,MAAM,gEAAiE,CAACgE,QAAStB,EAAgBf,mBAC3I7B,EAAA,SACCK,KAAK,SACLa,KAAK,kBACLjB,UAAU,wBACVkE,KAAMhE,KAAK8C,YAAYpB,mBAGzB7B,EAACoE,IAAM,CACN/D,KAAK,SACLJ,UAAU,yBACVoE,QAASlE,KAAKkE,QACd9C,SAAUpB,KAAKmE,WAEdvF,IAAI+E,WAAW5D,MAAM,6DAK3B,EAACR,EACD4E,QAAA,WACC,IAAIC,EAAgBrB,KAAKC,MAAMhD,KAAKiD,MAAMC,MAAMrE,KAAKsE,WAAWC,mCAAqC,SAAW,CAAC,EA0BjH,OAxBA,SAAwBiB,EAAMC,GAC7B,GAAmB,iBAATD,GAAoC,iBAATC,EACpC,OAAO,EAGR,GAAIjH,OAAOkH,KAAKF,GAAMG,SAAWnH,OAAOkH,KAAKD,GAAME,OAClD,OAAO,EAGR,IAAK,IAAMrH,KAAOkH,EACjB,GAAIA,EAAKzG,eAAeT,GACvB,GAAyB,iBAAdkH,EAAKlH,IAA0C,iBAAdmH,EAAKnH,IAChD,IAAKsH,eAAeJ,EAAKlH,GAAMmH,EAAKnH,IACnC,OAAO,OAEF,GAAIkH,EAAKlH,KAASmH,EAAKnH,GAC7B,OAAO,EAKV,OAAO,CACR,CAEOuH,CAAe3B,KAAKC,MAAMD,KAAK4B,UAAU3E,KAAK8C,cAAesB,EACrE,EAAC7E,EAED+B,SAAA,SAASnD,GACRA,EAAEyG,iBAEF,IAAMrD,EAAesD,SAAS7E,KAAK8C,YAAYvB,gBAC/C,GAAII,MAAMJ,IAAiBA,EAAe,EACzC3C,IAAIkG,OAAOlD,KAAK,CAAE1B,KAAM,SAAWtB,IAAI+E,WAAW5D,MAAM,2DADzD,CAKA,IAAMgF,EAAeF,SAAS7E,KAAK8C,YAAYrB,oBAC/C,GAAIE,MAAMoD,IAAiBA,EAAe,IAAMA,EAAe,IAC9DnG,IAAIkG,OAAOlD,KAAK,CAAE1B,KAAM,SAAWtB,IAAI+E,WAAW5D,MAAM,+DADzD,CAKA,IAAMiF,EAAcH,SAAS7E,KAAK8C,YAAYpB,mBAC9C,GAAIC,MAAMqD,IAAgBA,EAAc,IAAMA,EAAc,IAC3DpG,IAAIkG,OAAOlD,KAAK,CAAE1B,KAAM,SAAWtB,IAAI+E,WAAW5D,MAAM,8DADzD,CAKA,IAAMkF,EAAMjF,KAAKiD,MAAMC,MAEvBlD,KAAK8C,YAAYvB,aAAaA,GAC9BvB,KAAK8C,YAAYrB,iBAAiBsD,GAClC/E,KAAK8C,YAAYpB,gBAAgBsD,GAEjC,IAAMlC,EAAcC,KAAK4B,UAAU3E,KAAK8C,aAExC9C,KAAKkE,SAAU,EAEftF,IAAIsG,QAAQ,CACXC,OAAQ,QACRC,IACCxG,IAAIyE,MAAMzC,UAAU,UACpB,SACAqE,EAAII,KACJ,eACDC,KAAM,CAAEzG,KAAM,CAAEiE,YAAAA,MACdf,MAAK,WACPkD,EAAIpG,KAAKsE,WAAWC,kCAAoCN,EACxDlE,IAAI2G,MAAMC,OACX,GAvBA,CANA,CANA,CAoCD,EAAC9C,CAAA,CAxKsC,CAAS+C,KCNjD,SAASC,IACP,OAAOA,EAAWrI,OAAOsI,OAAStI,OAAOsI,OAAOtH,OAAS,SAAUuH,GACjE,IAAK,IAAIzH,EAAI,EAAGA,EAAImB,UAAUkF,OAAQrG,IAAK,CACzC,IAAID,EAAIoB,UAAUnB,GAClB,IAAK,IAAI0H,KAAK3H,GAAG,CAAG,GAAEN,eAAeC,KAAKK,EAAG2H,KAAOD,EAAEC,GAAK3H,EAAE2H,GAC/D,CACA,OAAOD,CACT,EAAGF,EAASrG,MAAM,KAAMC,UAC1B,CCRA,MAAM,EAA+BxB,OAAOC,KAAKC,OAAO,0B,aCMnC8H,EAAoB,SAAAC,GACxC,SAAAD,EAAYE,GAAO,IAAAC,EAEa,OAD/BA,EAAAF,EAAAlI,KAAA,KAAMmI,IAAM,MAIb9B,SAAU,EAHT+B,EAAKC,MAAQF,EAAM/C,MAAMiD,MAAMD,CAChC,CAAC1H,EAAAuH,EAAAC,GAAA,IAAAxG,EAAAuG,EAAAnI,UAgHA,OAhHA4B,EAID4G,KAAA,SAAKtD,GAIJ,OAHA7C,KAAKiD,MAAMiB,QAAUlE,KAAKkE,QAC1BlE,KAAKiD,MAAMnD,UAAYsG,IAAUpG,KAAKiD,MAAMnD,UAAW,UAEnDlB,IAAAA,MAAUC,KAAKwH,KAAKrG,KAAKkG,OAAOrH,KAAKsE,WAAWmD,uCACnDtG,KAAKiD,MAAMsD,QAAUvG,KAAKwG,OAAOnI,KAAK2B,MAGrCH,EAAA,WACCA,EAAA,SACCA,EAAA,OACCC,UAAU,qBACVe,IAAK,UAAYjC,IAAAA,MAAUC,KAAKwH,KAAKrG,KAAKkG,OAAOrH,KAAKsE,WAAWmD,sCACjEG,IAAI,GACJC,MAAM,WAGR7G,EAAA,SAAAkG,EAAApI,UACQwI,KAAItI,KAAC,KAAD6H,EAAC,CAAC,EACT7C,EAAK,CACR8D,SAAU/H,IAAAA,WAAemB,MACxB,gDAOLC,KAAKiD,MAAMsD,QAAUvG,KAAK4G,OAAOvI,KAAK2B,MAGvC+F,EAAApI,UAAawI,KAAItI,KAAC,KAAD6H,EAAC,CAAC,EACf7C,EAAK,CACR8D,SAAU/H,IAAAA,WAAemB,MACxB,4CAGH,EAEAR,EAGAqH,OAAA,WAAS,IAAAC,EAAA,KACJ7G,KAAKkE,SAEM4C,EAAE,uBAGfC,SAAS,QACTC,OACAC,QAAQ,SACRC,GAAG,UAAU,SAAC/I,GACd,IAAMmH,EAAO,IAAI6B,SACjB7B,EAAK8B,OAAOP,EAAK5D,MAAMlC,KAAM+F,EAAE3I,EAAE+C,QAAQ,GAAGmG,MAAM,IAClD/B,EAAK8B,OAAO,QAASP,EAAKX,OAE1BW,EAAK3C,SAAU,EACfrE,EAAEyH,SAEF1I,IAAAA,QAAY,CACXuG,OAAQ,OACRC,IAAKyB,EAAKU,cACVC,UAAW,SAACC,GAAG,OAAKA,CAAG,EACvBnC,KAAAA,IACEvD,KAAK8E,EAAKa,QAAQrJ,KAAKwI,GAAOA,EAAKc,QAAQtJ,KAAKwI,GACpD,GACF,EAEAtH,EAGAiH,OAAA,WACCxG,KAAKkE,SAAU,EACfrE,EAAEyH,SAEF,IAAMhC,EAAO,IAAI6B,SACjB7B,EAAK8B,OAAO,QAASpH,KAAKkG,OAE1BtH,IAAAA,QAAY,CACXuG,OAAQ,SACRC,IAAKpF,KAAKuH,cACVjC,KAAAA,IACEvD,KAAK/B,KAAK0H,QAAQrJ,KAAK2B,MAAOA,KAAK2H,QAAQtJ,KAAK2B,MACpD,EAACT,EAEDgI,YAAA,WACC,OAAO3I,IAAAA,MAAUgC,UAAU,UAAY,IAAMZ,KAAKiD,MAAMlC,IACzD,EAEAxB,EAMAmI,QAAA,SAAQE,GACPC,OAAOC,SAASC,QACjB,EAEAxI,EAMAoI,QAAA,SAAQC,GACP5H,KAAKkE,SAAU,EACfrE,EAAEyH,QACH,EAACxB,CAAA,CApHuC,CAAS7B,KCKlDrF,IAAAA,aAAiBoJ,IAAI,4BAA4B,WAChDC,IAAAA,UAAcC,gBAAkBC,IAAAA,UAC/B,+CAGDC,EAAAA,EAAAA,QAAOC,IAAAA,UAAwB,UAAU,SAAUC,GAAO,IAAArC,EAAA,KACzD,GAAIjG,KAAKiF,IAAII,KAAM,CAClB,IAAIkD,EAAcxF,KAAKC,MAAMpE,IAAAA,MAAUgC,UAAU,sCAC7C4H,EAAoBD,EAAYrJ,SAASc,KAAKiF,IAAII,MAElDoD,EAAuBD,EACxB,oCACA,0CACCE,EAAuBF,EAAoB,iBAAmB,2BAC9DG,EAAoBH,EACrB5J,IAAAA,WAAemB,MAAM,2DACrBnB,IAAAA,WAAemB,MAAM,yDA8BxBuI,EAAMN,IACL,+BACAnI,EAAA,YAAUC,UAAU,eACnBD,EAAA,cACEjB,IAAAA,WAAemB,MAAM,wDAGvBF,EAACoE,IAAM,CACNnE,UAAW2I,EACX7I,KAAK,oBACL2G,QAtCsB,YACxBiC,GAAqBA,GAEpBD,EAAYK,KAAK3C,EAAKhB,IAAII,MAE1BkD,EAAcA,EAAYM,QAAO,SAAAxD,GAAE,OAAIA,IAAOY,EAAKhB,IAAII,IAAI,IAG5DzG,IAAAA,QAAY,CACXuG,OAAQ,OACRC,IAAKxG,IAAAA,MAAUgC,UAAU,UAAY,mDACrC0E,KAAM,CAAEiD,YAAAA,KACNxG,MAAK,WACPnD,IAAAA,MAAUC,KAAKsE,WAAW2F,kCAAoC/F,KAAK4B,UAAU4D,GAC7E3J,IAAAA,KAASI,SAAS+J,qCAAuChG,KAAK4B,UAAU4D,GAGxEE,GADAD,GAAqBA,GAElB,oCACA,0CACHE,EAAuBF,EAAoB,iBAAmB,2BAC9DG,EAAoBH,EACjB5J,IAAAA,WAAemB,MAAM,2DACrBnB,IAAAA,WAAemB,MAAM,yDACxBF,EAAEyH,QACH,GACD,GAcIqB,GAGF9I,EAAA,OAAKC,UAAW4I,GACf7I,EAAA,OAAKC,UAAU,8BACdD,EAAA,UACEjB,IAAAA,WAAemB,MAAM,2DAEvBF,EAAA,KAAGC,UAAU,YACXlB,IAAAA,WAAemB,MAAM,0DAEtBF,EAAEiG,EAAsB,CACxB/E,KAAM,6CACNjB,UAAW,uBACXkJ,UAAW,sCACX9C,MAAOlG,KAAKiF,IAAII,QAGlBxF,EAACoE,IAAM,CACNnE,UAAU,yBACVF,KAAK,oBACL2G,QAAS,WACR3H,IAAAA,MAAUgD,KAAKc,EAAqB,CAAEQ,MAAO+C,EAAKhB,KACnD,GAECrG,IAAAA,WAAemB,MAAM,0DAIxB,GAEH,CACD,IAEAnB,IAAAA,cAAiB,IAAK,4BAA4BqK,aAAa9J,EAChE,G","sources":["webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['admin/components/UploadImageButton']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionInstalled.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/helpers/isExtensionActive.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/Settings.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Model']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/components/EditTagModal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/WdcTagSettingsModal.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@walsgit/flarum-discussion-cards/./src/admin/components/UploadTagImageButton.js","webpack://@walsgit/flarum-discussion-cards/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/UploadImageButton'];","export default function isExtensionInstalled(extensionName) {\r\n if (app.data.extensions.hasOwnProperty(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","export default function isExtensionActive(extensionName) {\r\n if (app.data.settings.extensions_enabled.includes(extensionName)) {\r\n return true;\r\n }\r\n return false;\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","import app from \"flarum/admin/app\";\r\nimport ExtensionPage from \"flarum/admin/components/ExtensionPage\";\r\nimport UploadImageButton from 'flarum/admin/components/UploadImageButton';\r\nimport isExtensionInstalled from \"../helpers/isExtensionInstalled\";\r\nimport isExtensionActive from \"../helpers/isExtensionActive\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\n\r\nexport default class Settings extends ExtensionPage {\r\n\tcontent() {\r\n\t\t/* Supported third party extensions' info */\r\n\t\tconst viewsExtension = {\r\n\t\t\tid: 'flarumite-simple-discussion-views',\r\n\t\t\tname: 'Flarumite Simple Discussion Views',\r\n\t\t\turl: 'https://flarum.org/extension/flarumite/simple-discussion-views',\r\n\t\t};\r\n\t\tconst blogExtension = {\r\n\t\t\tid: 'v17development-blog',\r\n\t\t\tname: 'Flarum Blog',\r\n\t\t\turl: 'https://flarum.org/extension/v17development/flarum-blog',\r\n\t\t};\r\n\r\n\t\tconst warningIcon = icon(\"fas fa-exclamation-triangle\");\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.where_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"flarum-tags.select-tags\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_allowedTags\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.allowedTags_help\"),\r\n\t\t\t\t\t\t\t\toptions: {\r\n\t\t\t\t\t\t\t\t\trequireParentTag: false,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_onIndexPage\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.onIndexPage_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_primaryCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.primaryCards_help\"),\r\n\t\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 4,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_desktopCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.desktopCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"number\",\r\n\t\t\t\t\t\t\t\tclassName: 'DC-Number',\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_tabletCardWidth\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.tabletCardWidth_help\"),\r\n\t\t\t\t\t\t\t\tmin: 10,\r\n\t\t\t\t\t\t\t\tmax: 100,\r\n\t\t\t\t\t\t\t\tstep: 1,\r\n\t\t\t\t\t\t\t\tplaceholder: 49,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.cardOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_title\")}

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.defaultImage_info\")}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.forum.attribute(\"walsgitDiscussionCardsDefaultImage\") === null \r\n\t\t\t\t\t\t\t\t\t?
\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{m(UploadImageButton, {name: \"walsgit_discussion_cards_default_image\", class: \"DC-UploadImageBtn\"})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_previewText\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.previewText_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showAuthor\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showAuthor_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showReplies\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showReplies_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showBadges\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showBadges_help\"),\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_markReadCards\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.markReadCards_help\"),\r\n\t\t\t\t\t\t\t})}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_title\")}

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.otherOptions_info\")}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_start\")}\r\n\t\t\t\t\t\t\t\t{viewsExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(viewsExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.viewsExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_showViews\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.showViews_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(viewsExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_start\")}\r\n\t\t\t\t\t\t\t\t{blogExtension.name}\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_title_end\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{!isExtensionInstalled(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? + app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notInstalled\", {icon: warningIcon}) : \r\n\t\t\t\t\t\t\t\t\t!isExtensionActive(blogExtension.id) \r\n\t\t\t\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.blogExtension_notActivated\", {icon: warningIcon}) :\r\n\t\t\t\t\t\t\t\t\t''}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogImages\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogImages_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t{this.buildSettingComponent({\r\n\t\t\t\t\t\t\t\ttype: \"switch\",\r\n\t\t\t\t\t\t\t\tsetting: \"walsgit_discussion_cards_useBlogSummary\",\r\n\t\t\t\t\t\t\t\tlabel: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_label\"),\r\n\t\t\t\t\t\t\t\thelp: app.translator.trans(\"walsgit_discussion_cards.admin.settings.general.useBlogSummary_help\"),\r\n\t\t\t\t\t\t\t\tdisabled: isExtensionActive(blogExtension.id) ? false : true,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.submitButton()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tonsubmit() {\r\n\t\tconst primaryCards = Number(this.setting('walsgit_discussion_cards_primaryCards')());\r\n\t\tconst desktopCardWidth = Number(this.setting('walsgit_discussion_cards_desktopCardWidth')());\r\n\t\tconst tabletCardWidth = Number(this.setting('walsgit_discussion_cards_tabletCardWidth')());\r\n\r\n if (primaryCards < 0 || isNaN(primaryCards)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n return false;\r\n }\r\n if (desktopCardWidth < 10 || desktopCardWidth > 100 || isNaN(desktopCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n return false;\r\n }\r\n if (tabletCardWidth < 10 || tabletCardWidth > 100 || isNaN(tabletCardWidth)) {\r\n app.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\tsaveSettings(e) {\r\n if (!this.onsubmit()) {\r\n return;\r\n }\r\n\t\tconst settings = this.dirty();\r\n\r\n super.saveSettings(e)\r\n\t\t.then(() => {\r\n\t\t\tconst newSettings = {};\r\n\t\t\tfor (const key in settings) {\r\n\t\t\t\tlet endOfKey = key.replace('walsgit_discussion_cards_', '');\r\n\t\t\t\tendOfKey = endOfKey.replace(/^./, endOfKey.charAt(0).toUpperCase());\r\n\t\t\t\tconst newKey = 'walsgitDiscussionCards' + endOfKey;\r\n\t\t\t\tnewSettings[newKey] = settings[key];\r\n\t\t\t}\r\n\t\t\tapp.forum.pushAttributes(newSettings);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t});\r\n }\r\n}\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/components/EditTagModal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","import Button from \"flarum/common/components/Button\";\r\nimport Modal from \"flarum/common/components/Modal\";\r\nimport Stream from \"flarum/common/utils/Stream\";\r\n\r\nlet defaultSettings = {};\r\n\r\nexport default class WdcTagSettingsModal extends Modal {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\r\n\t\tthis.tagSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || null) || {};\r\n\r\n\t\tdefaultSettings = {\r\n\t\t\tprimaryCards: app.forum.data.attributes.walsgitDiscussionCardsPrimaryCards,\r\n\t\t\tdesktopCardWidth: app.forum.data.attributes.walsgitDiscussionCardsDesktopCardWidth,\r\n\t\t\ttabletCardWidth: app.forum.data.attributes.walsgitDiscussionCardsTabletCardWidth,\r\n\t\t}\r\n\t\t\r\n\t\tif (!this.tagSettings.hasOwnProperty('primaryCards') || this.tagSettings.primaryCards === null) {\r\n\t\t\tthis.tagSettings.primaryCards = defaultSettings.primaryCards;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('desktopCardWidth') || this.tagSettings.desktopCardWidth === null) {\r\n\t\t\tthis.tagSettings.desktopCardWidth = defaultSettings.desktopCardWidth;\r\n\t\t}\r\n\t\tif (!this.tagSettings.hasOwnProperty('tabletCardWidth') || this.tagSettings.tabletCardWidth === null) {\r\n\t\t\tthis.tagSettings.tabletCardWidth = defaultSettings.tabletCardWidth;\r\n\t\t}\r\n\r\n\t\tthis.tagSettings.primaryCards = Stream(this.tagSettings.primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth = Stream(this.tagSettings.desktopCardWidth);\r\n\t\tthis.tagSettings.tabletCardWidth = Stream(this.tagSettings.tabletCardWidth);\r\n\t\t\r\n\t}\r\n\tclassName() {\r\n\t\treturn \"WdcTagSettingsModal Modal--large\";\r\n\t}\r\n\r\n\ttitle() {\r\n\t\treturn [\r\n\t\t\tapp.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.title\"),\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.attrs.model.data.attributes.name}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t]\r\n\t}\r\n\r\n\tcontent() {\r\n\t\treturn [\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.intro_text\")}\r\n\t\t\t\t\t

\r\n \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.primaryCards_help\", {default: defaultSettings.primaryCards})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.desktopCardWidth_help\", {default: defaultSettings.desktopCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.tabletCardWidth_help\", {default: defaultSettings.tabletCardWidth})}
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tag_modal.submit_button\")}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
,\r\n\t\t];\r\n\t}\r\n\tchanged() {\r\n\t\tlet savedSettings = JSON.parse(this.attrs.model.data.attributes.walsgitDiscussionCardsTagSettings || 'null') || {};\r\n\r\n\t\tfunction isSameSettings(obj1, obj2) {\r\n\t\t\tif(typeof obj1 !== 'object' ||typeof obj2 !== 'object') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (Object.keys(obj1).length !== Object.keys(obj2).length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\r\n\t\t\tfor (const key in obj1) {\r\n\t\t\t\tif (obj1.hasOwnProperty(key)) {\r\n\t\t\t\t\tif (typeof obj1[key] === 'object' && typeof obj2[key] === 'object') {\r\n\t\t\t\t\t\tif (!compareObjects(obj1[key], obj2[key])) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (obj1[key] !== obj2[key]) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn isSameSettings(JSON.parse(JSON.stringify(this.tagSettings)), savedSettings);\r\n\t}\r\n\r\n\tonsubmit(e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tconst primaryCards = parseInt(this.tagSettings.primaryCards());\r\n\t\tif (isNaN(primaryCards) || primaryCards < 0) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.primaryCards'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst desktopWidth = parseInt(this.tagSettings.desktopCardWidth());\r\n\t\tif (isNaN(desktopWidth) || desktopWidth < 10 || desktopWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.desktopCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tconst tabletWidth = parseInt(this.tagSettings.tabletCardWidth());\r\n\t\tif (isNaN(tabletWidth) || tabletWidth < 10 || tabletWidth > 100) {\r\n\t\t\tapp.alerts.show({ type: 'error' }, app.translator.trans('walsgit_discussion_cards.admin.errors.tabletCardWidth'));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst tag = this.attrs.model;\r\n\r\n\t\tthis.tagSettings.primaryCards(primaryCards);\r\n\t\tthis.tagSettings.desktopCardWidth(desktopWidth);\r\n\t\tthis.tagSettings.tabletCardWidth(tabletWidth);\r\n\r\n\t\tconst tagSettings = JSON.stringify(this.tagSettings);\r\n\r\n\t\tthis.loading = true;\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"PATCH\",\r\n\t\t\turl:\r\n\t\t\t\tapp.forum.attribute(\"apiUrl\") +\r\n\t\t\t\t\"/tags/\" +\r\n\t\t\t\ttag.id() +\r\n\t\t\t\t\"/tagSettings\",\r\n\t\t\tbody: { data: { tagSettings } },\r\n\t\t}).then(function () {\r\n\t\t\ttag.data.attributes.walsgitDiscussionCardsTagSettings = tagSettings;\r\n\t\t\tapp.modal.close();\r\n\t\t});\r\n\t}\r\n}\r\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","import app from \"flarum/admin/app\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport classList from \"flarum/common/utils/classList\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\n\r\n\r\nexport default class UploadTagImageButton extends Button {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.tagId = props.attrs.tagId;\r\n\t}\r\n\t\r\n\tloading = false;\r\n\r\n\tview(vnode) {\r\n\t\tthis.attrs.loading = this.loading;\r\n\t\tthis.attrs.className = classList(this.attrs.className, \"Button\");\r\n\r\n\t\tif (app.store.data.tags[this.tagId].data.attributes.walsgitDiscussionCardsTagDefaultImage) {\r\n\t\t\tthis.attrs.onclick = this.remove.bind(this);\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{super.view({\r\n\t\t\t\t\t\t\t...vnode,\r\n\t\t\t\t\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\t\t\t\t\"core.admin.upload_image.remove_button\"\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.attrs.onclick = this.upload.bind(this);\r\n\t\t}\r\n\r\n\t\treturn super.view({\r\n\t\t\t...vnode,\r\n\t\t\tchildren: app.translator.trans(\r\n\t\t\t\t\"core.admin.upload_image.upload_button\"\r\n\t\t\t),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Prompt the user to upload an image.\r\n\t */\r\n\tupload() {\r\n\t\tif (this.loading) return;\r\n\r\n\t\tconst $input = $('');\r\n\r\n\t\t$input\r\n\t\t\t.appendTo(\"body\")\r\n\t\t\t.hide()\r\n\t\t\t.trigger(\"click\")\r\n\t\t\t.on(\"change\", (e) => {\r\n\t\t\t\tconst body = new FormData();\r\n\t\t\t\tbody.append(this.attrs.name, $(e.target)[0].files[0]);\r\n\t\t\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tm.redraw();\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: this.resourceUrl(),\r\n\t\t\t\t\tserialize: (raw) => raw,\r\n\t\t\t\t\tbody,\r\n\t\t\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Remove the image.\r\n\t */\r\n\tremove() {\r\n\t\tthis.loading = true;\r\n\t\tm.redraw();\r\n\t\t\r\n\t\tconst body = new FormData();\r\n\t\tbody.append('tagId', this.tagId);\r\n\r\n\t\tapp.request({\r\n\t\t\tmethod: \"DELETE\",\r\n\t\t\turl: this.resourceUrl(),\r\n\t\t\tbody,\r\n\t\t}).then(this.success.bind(this), this.failure.bind(this));\r\n\t}\r\n\r\n\tresourceUrl() {\r\n\t\treturn app.forum.attribute(\"apiUrl\") + \"/\" + this.attrs.name;\r\n\t}\r\n\r\n\t/**\r\n\t * After a successful upload/removal, reload the page.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tsuccess(response) {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\t/**\r\n\t * If upload/removal fails, stop loading.\r\n\t *\r\n\t * @param {object} response\r\n\t * @protected\r\n\t */\r\n\tfailure(response) {\r\n\t\tthis.loading = false;\r\n\t\tm.redraw();\r\n\t}\r\n}\r\n","import app from \"flarum/app\";\r\nimport Settings from \"./components/Settings\";\r\nimport { extend } from \"flarum/extend\";\r\nimport Model from \"flarum/common/Model\";\r\nimport Button from \"flarum/common/components/Button\";\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport Tag from \"flarum/tags/models/Tag\";\r\nimport EditTagModal from \"flarum/tags/components/EditTagModal\";\r\nimport WdcTagSettingsModal from \"./components/WdcTagSettingsModal\";\r\nimport UploadTagImageButton from \"./components/UploadTagImageButton\";\r\n\r\napp.initializers.add(\"walsgit/discussion-cards\", () => {\r\n\tTag.prototype.WdcDefaultImage = Model.attribute(\r\n\t\t\"walsgit_discussion_cards_tag_default_image\"\r\n\t);\r\n\r\n\textend(EditTagModal.prototype, \"fields\", function (items) {\r\n\t\tif (this.tag.id()) {\r\n\t\t\tlet allowedTags = JSON.parse(app.forum.attribute('walsgitDiscussionCardsAllowedTags'));\r\n\t\t\tlet isActivatedForTag = allowedTags.includes(this.tag.id());\r\n\t\t\t\r\n\t\t\tlet activationBtnClasses = isActivatedForTag\r\n\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\tlet DcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\tlet activationBtnText = isActivatedForTag\r\n\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\r\n\t\t\tconst toggleActivation = () => {\r\n\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\tif (isActivatedForTag) {\r\n\t\t\t\t\tallowedTags.push(this.tag.id());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tallowedTags = allowedTags.filter(id => id !== this.tag.id());\r\n\t\t\t\t}\r\n\r\n\t\t\t\tapp.request({\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\turl: app.forum.attribute(\"apiUrl\") + \"/walsgit_discussion_cards_tag_update_allowedTags\",\r\n\t\t\t\t\tbody: { allowedTags },\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tapp.forum.data.attributes.walsgitDiscussionCardsAllowedTags = JSON.stringify(allowedTags);\r\n\t\t\t\t\tapp.data.settings.walsgit_discussion_cards_allowedTags = JSON.stringify(allowedTags);\r\n\r\n\t\t\t\t\tisActivatedForTag = !isActivatedForTag;\r\n\t\t\t\t\tactivationBtnClasses = isActivatedForTag\r\n\t\t\t\t\t\t? \"DC-ActivationBtn Button activated\"\r\n\t\t\t\t\t\t: \"DC-ActivationBtn Button Button--primary\";\r\n\t\t\t\t\tDcTagSettingsClasses = isActivatedForTag ? \"DC-TagSettings\" : \"DC-TagSettings DC-Hidden\";\r\n\t\t\t\t\tactivationBtnText = isActivatedForTag\r\n\t\t\t\t\t\t? app.translator.trans(\"walsgit_discussion_cards.admin.tags.deactivation_button\")\r\n\t\t\t\t\t\t: app.translator.trans(\"walsgit_discussion_cards.admin.tags.activation_button\");\r\n\t\t\t\t\tm.redraw();\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\titems.add(\r\n\t\t\t\t\"tag-discussion-cards-options\",\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_heading\")}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{activationBtnText}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_title\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.defaultImage_info\")}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{m(UploadTagImageButton, {\r\n\t\t\t\t\t\t\t\tname: \"walsgit_discussion_cards_tag_default_image\",\r\n\t\t\t\t\t\t\t\tclassName: \"DC-UploadTagImageBtn\",\r\n\t\t\t\t\t\t\t\tariaLabel: \"Upload a default image for this tag\",\r\n\t\t\t\t\t\t\t\ttagId: this.tag.id()\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tapp.modal.show(WdcTagSettingsModal, { model: this.tag });\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{app.translator.trans(\"walsgit_discussion_cards.admin.tags.options_button\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
,\r\n\t\t\t\t-20\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tapp.extensionData.for(\"walsgit-discussion-cards\").registerPage(Settings);\r\n});\r\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","flarum","core","compat","_setPrototypeOf","t","e","setPrototypeOf","bind","__proto__","_inheritsLoose","create","constructor","isExtensionInstalled","extensionName","app","data","extensions","isExtensionActive","settings","extensions_enabled","includes","Settings","_ExtensionPage","apply","arguments","_proto","content","viewsExtension","blogExtension","warningIcon","icon","m","className","trans","this","buildSettingComponent","type","setting","label","help","options","requireParentTag","min","step","placeholder","max","attribute","src","UploadImageButton","name","class","href","target","rel","disabled","submitButton","onsubmit","primaryCards","Number","desktopCardWidth","tabletCardWidth","isNaN","show","saveSettings","dirty","then","newSettings","endOfKey","replace","charAt","toUpperCase","pushAttributes","error","console","ExtensionPage","defaultSettings","WdcTagSettingsModal","_Modal","oninit","vnode","tagSettings","JSON","parse","attrs","model","attributes","walsgitDiscussionCardsTagSettings","forum","walsgitDiscussionCardsPrimaryCards","walsgitDiscussionCardsDesktopCardWidth","walsgitDiscussionCardsTabletCardWidth","Stream","title","translator","style","color","htmlFor","default","bidi","Button","loading","changed","savedSettings","obj1","obj2","keys","length","compareObjects","isSameSettings","stringify","preventDefault","parseInt","alerts","desktopWidth","tabletWidth","tag","request","method","url","id","body","modal","close","Modal","_extends","assign","n","r","UploadTagImageButton","_Button","props","_this","tagId","view","classList","tags","walsgitDiscussionCardsTagDefaultImage","onclick","remove","alt","width","children","upload","_this2","$","appendTo","hide","trigger","on","FormData","append","files","redraw","resourceUrl","serialize","raw","success","failure","response","window","location","reload","add","Tag","WdcDefaultImage","Model","extend","EditTagModal","items","allowedTags","isActivatedForTag","activationBtnClasses","DcTagSettingsClasses","activationBtnText","push","filter","walsgitDiscussionCardsAllowedTags","walsgit_discussion_cards_allowedTags","ariaLabel","registerPage"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index 0dfeec3..b419a3a 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,1154 +1,2 @@ -/******/ (() => { // webpackBootstrap -/******/ // runtime can't be in strict mode because a global variable is assign and maybe created. -/******/ var __webpack_modules__ = ({ - -/***/ "./src/forum/compat.js": -/*!*****************************!*\ - !*** ./src/forum/compat.js ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _components_CardItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/CardItem */ "./src/forum/components/CardItem.js"); -/* harmony import */ var _components_ListItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ListItem */ "./src/forum/components/ListItem.js"); -/* harmony import */ var _components_LastReplies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/LastReplies */ "./src/forum/components/LastReplies.js"); -/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/craftTags */ "./src/forum/utils/craftTags.js"); -/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/craftBadges */ "./src/forum/utils/craftBadges.js"); - - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - 'walsgit/discussion/cards/components/CardItem': _components_CardItem__WEBPACK_IMPORTED_MODULE_0__["default"], - 'walsgit/discussion/cards/components/ListItem': _components_ListItem__WEBPACK_IMPORTED_MODULE_1__["default"], - 'walsgit/discussion/cards/components/LastReplies': _components_LastReplies__WEBPACK_IMPORTED_MODULE_2__["default"], - 'walsgit/discussion/cards/utils/craftTags': _utils_craftTags__WEBPACK_IMPORTED_MODULE_3__["default"], - 'walsgit/discussion/cards/utils/craftBadges': _utils_craftBadges__WEBPACK_IMPORTED_MODULE_4__["default"] -}); - -/***/ }), - -/***/ "./src/forum/components/CardItem.js": -/*!******************************************!*\ - !*** ./src/forum/components/CardItem.js ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ cardItem) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/craftBadges */ "./src/forum/utils/craftBadges.js"); -/* harmony import */ var _helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/getPostImage */ "./src/forum/helpers/getPostImage.js"); -/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/craftTags */ "./src/forum/utils/craftTags.js"); -/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/humanTime */ "flarum/common/utils/humanTime"); -/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/helpers/username */ "flarum/common/helpers/username"); -/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/forum/utils/DiscussionControls */ "flarum/forum/utils/DiscussionControls"); -/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/string */ "flarum/common/utils/string"); -/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); -/* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); -/* harmony import */ var _helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../helpers/isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); - - - - - - - - - - - - - - - -var cardItem = /*#__PURE__*/function (_Component) { - function cardItem() { - return _Component.apply(this, arguments) || this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(cardItem, _Component); - var _proto = cardItem.prototype; - _proto.oninit = function oninit(vnode) { - _Component.prototype.oninit.call(this, vnode); - this.discussion = this.attrs.discussion; - }; - _proto.view = function view() { - var discussion = this.discussion; - var settings = {}; - for (var key in app.forum.data.attributes) { - if (key.startsWith('walsgitDiscussionCards')) { - var newKey = key.replace('walsgitDiscussionCards', ''); - newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); - settings[newKey] = app.forum.data.attributes[key]; - } - } - - /* Getting & setting relevant info for 3rd party Flarum Blog extension support */ - var blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); - var blogSettings = {}; - var postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); - var blogPost = {}; - if (blogActivated) { - blogSettings.tags = app.forum.attribute('blogTags'); - blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); - if (postIsBlogType) { - var blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; - if ((0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPostsData.attribute('featuredImage'))) { - blogPost.featuredImage = blogPostsData.attribute('featuredImage'); - } - } - } - var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); - var tagId; - if (isTagPage) { - var _m$route$get$split$; - var slug = (_m$route$get$split$ = m.route.get().split('/t/')[1]) == null ? void 0 : _m$route$get$split$.split('?')[0]; - tagId = app.store.all('tags').find(function (t) { - return t.slug() === slug; - }).data.id; - var tag = app.store.all('tags').find(function (t) { - return t.id() === tagId; - }); - var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; - var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; - tagSettings.defaultImage = tagImage; - /* In case Flarum Blog Extension and useBlogImage are activated */ - if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { - tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; - } - for (var _key in tagSettings) { - if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { - settings[_key] = tagSettings[_key]; - } - } - } - - /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ - var isIndexPage = m.route.get().split('?')[0] === '/'; - if (isIndexPage) { - var tags = discussion.tags(); - for (var _key2 in tags) { - var _tagId = tags[_key2].id(); - var isChild = tags[_key2].isChild(); - var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; - var position = tags[_key2].position(); - var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); - /* In case Flarum Blog Extension and useBlogImage are activated */ - if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(_tagId)) { - tagCustomImg = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; - } - var currentTag = { - id: _tagId, - isChild: isChild, - parent: parent, - position: position, - tagCustomImg: tagCustomImg - }; - var priorityTag = null; - if (!settings.allowedTags.includes(_tagId) || tagCustomImg === null) continue; - if (priorityTag === null || (0,_helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__["default"])(currentTag, priorityTag) < 0) { - priorityTag = { - id: _tagId, - isChild: isChild, - parent: parent, - position: position, - tagCustomImg: tagCustomImg - }; - settings.defaultImage = tagCustomImg; - } - } - } - var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? "read" : ""; - var attrs = {}; - attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ""); - var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage, postIsBlogType); - var media = image ? m("img", { - src: image, - className: "previewCardImg", - alt: discussion.title(), - loading: "lazy" - }) : m("div", { - className: "imgStub" - }); - return m("div", { - key: discussion.id(), - "data-id": discussion.id(), - "data-tag-id": isTagPage ? tagId : null, - className: "CardsListItem Card " + isRead + (discussion.isHidden() ? " Hidden" : "") - }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray().length ? m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default()), { - icon: "fas fa-ellipsis-v", - className: "DiscussionListItem-controls", - buttonClassName: "Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right" - }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray()) : "", m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { - href: app.route.discussion(discussion, 0), - className: "cardLink" - }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : "", m("div", attrs, discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { - className: "imageLabel discussionViews" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-eye", { - className: "labelIcon" - }), discussion.views()) : ""), media, Number(settings.showAuthor) === 1 ? m("div", { - className: "cardFoot" - }, m("div", { - className: "Author" - }, flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default()(discussion.user())), m("div", { - className: "Date" - }, flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default()(discussion.createdAt()))) : ""), m("div", { - className: "cardTags" - }, (0,_utils_craftTags__WEBPACK_IMPORTED_MODULE_4__["default"])(discussion.tags())), m("div", { - className: "cardTitle" - }, m("h2", null, discussion.title())), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { - className: "previewPost" - }, blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' ? (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.blogMeta().summary(), 150) : (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : "", Number(settings.showReplies) === 1 ? m("div", { - className: "cardSpacer" - }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { - className: "Replies", - href: app.route.discussion(discussion, discussion.lastPostNumber()) - }, m("div", { - className: "Left" - }, m("div", { - className: "Avatars" - }, m(_LastReplies__WEBPACK_IMPORTED_MODULE_12__["default"], { - discussion: discussion - })), m("div", { - className: "Repcount" - }, app.translator.trans("walsgit_discussion_cards.forum.replies", { - count: discussion.replyCount() || "0" - }))), m("div", { - className: "Arrow" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()("fas fa-angle-right")))) : "")); - }; - return cardItem; -}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); - - -/***/ }), - -/***/ "./src/forum/components/LastReplies.js": -/*!*********************************************!*\ - !*** ./src/forum/components/LastReplies.js ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ LastReplies) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/helpers/avatar */ "flarum/common/helpers/avatar"); -/* harmony import */ var flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2__); - - - -var LastReplies = /*#__PURE__*/function (_Component) { - function LastReplies() { - return _Component.apply(this, arguments) || this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(LastReplies, _Component); - var _proto = LastReplies.prototype; - _proto.oninit = function oninit(vnode) { - _Component.prototype.oninit.call(this, vnode); - this.discussion = this.attrs.discussion; - }; - _proto.view = function view() { - var discussion = this.discussion; - - // let's assume that the last 10 posts will be enough for us to identify 3 unique users - var posts = discussion.posts().splice(-10); - var filteredPosts = posts.filter(function (post) { - return !post.isHidden() && post.number() !== 1 && post.contentType() === "comment"; - }).sort(function (a, b) { - return b.createdAt() - a.createdAt(); - }); - var groupedUsers = filteredPosts.map(function (post) { - return post.user(); - }).filter(function (user, i, self) { - return self.indexOf(user) === i; - }).reverse() - // last 3 users - .splice(-3); - return groupedUsers.map(function (user) { - return flarum_common_helpers_avatar__WEBPACK_IMPORTED_MODULE_2___default()(user, { - className: 'Avatar--mini' - }); - }); - }; - return LastReplies; -}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); - - -/***/ }), - -/***/ "./src/forum/components/ListItem.js": -/*!******************************************!*\ - !*** ./src/forum/components/ListItem.js ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ listItem) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component"); -/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/craftBadges */ "./src/forum/utils/craftBadges.js"); -/* harmony import */ var _helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/getPostImage */ "./src/forum/helpers/getPostImage.js"); -/* harmony import */ var _utils_craftTags__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/craftTags */ "./src/forum/utils/craftTags.js"); -/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/humanTime */ "flarum/common/utils/humanTime"); -/* harmony import */ var flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/helpers/username */ "flarum/common/helpers/username"); -/* harmony import */ var flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/forum/utils/DiscussionControls */ "flarum/forum/utils/DiscussionControls"); -/* harmony import */ var flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/utils/string */ "flarum/common/utils/string"); -/* harmony import */ var flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _LastReplies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LastReplies */ "./src/forum/components/LastReplies.js"); -/* harmony import */ var _helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../helpers/compareTags */ "./src/forum/helpers/compareTags.js"); -/* harmony import */ var _helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../helpers/isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); - - - - - - - - - - - - - - - -var listItem = /*#__PURE__*/function (_Component) { - function listItem() { - return _Component.apply(this, arguments) || this; - } - (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(listItem, _Component); - var _proto = listItem.prototype; - _proto.oninit = function oninit(vnode) { - _Component.prototype.oninit.call(this, vnode); - }; - _proto.view = function view() { - var discussion = this.attrs.discussion; - var settings = {}; - for (var key in app.forum.data.attributes) { - if (key.startsWith('walsgitDiscussionCards')) { - var newKey = key.replace('walsgitDiscussionCards', ''); - newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); - settings[newKey] = app.forum.data.attributes[key]; - } - } - - /* Getting & setting relevant info for 3rd party Flarum Blog support */ - var blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags'); - var blogSettings = {}; - var postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta'); - var blogPost = {}; - if (blogActivated) { - blogSettings.tags = app.forum.attribute('blogTags'); - blogSettings.defaultImage = app.forum.attribute('blogDefaultImage'); - if (postIsBlogType) { - var blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id]; - if ((0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPostsData.attribute('featuredImage'))) { - blogPost.featuredImage = blogPostsData.attribute('featuredImage'); - } - } - } - var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); - if (isTagPage) { - var _m$route$get$split$; - var slug = (_m$route$get$split$ = m.route.get().split('/t/')[1]) == null ? void 0 : _m$route$get$split$.split('?')[0]; - var tagId = app.store.all('tags').find(function (t) { - return t.slug() === slug; - }).data.id; - var tag = app.store.all('tags').find(function (t) { - return t.id() === tagId; - }); - var tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {}; - var tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null; - tagSettings.defaultImage = tagImage; - /* In case Flarum Blog Extension and useBlogImage are activated */ - if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) { - tagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; - } - for (var _key in tagSettings) { - if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key] && tagSettings[_key] !== null) { - settings[_key] = tagSettings[_key]; - } - } - } - - /* On the IndexPage (all discussions) checks which default image to show based on tag priority */ - var isIndexPage = m.route.get().split('?')[0] === '/'; - if (isIndexPage) { - var tags = discussion.tags(); - for (var _key2 in tags) { - var _tagId = tags[_key2].id(); - var isChild = tags[_key2].isChild(); - var parent = tags[_key2].data.hasOwnProperty('relationships') && tags[_key2].parent() ? tags[_key2].parent()['data'].id : null; - var position = tags[_key2].position(); - var tagCustomImg = tags[_key2].attribute('walsgitDiscussionCardsTagDefaultImage'); - /* In case Flarum Blog Extension and useBlogImage are activated */ - if (blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(_tagId)) { - tagCustomImg = postIsBlogType && blogPost.featuredImage && (0,_helpers_isValideImageUrl__WEBPACK_IMPORTED_MODULE_14__["default"])(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage; - } - var currentTag = { - id: _tagId, - isChild: isChild, - parent: parent, - position: position, - tagCustomImg: tagCustomImg - }; - var priorityTag = null; - if (!settings.allowedTags.includes(_tagId) || tagCustomImg === null) continue; - if (priorityTag === null || (0,_helpers_compareTags__WEBPACK_IMPORTED_MODULE_13__["default"])(currentTag, priorityTag) < 0) { - priorityTag = { - id: _tagId, - isChild: isChild, - parent: parent, - position: position, - tagCustomImg: tagCustomImg - }; - settings.defaultImage = tagCustomImg; - } - } - } - var isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? 'read' : ''; - var attrs = {}; - attrs.className = "wrapImg" + (Number(settings.showAuthor) === 1 ? " After" : ''); - var image = (0,_helpers_getPostImage__WEBPACK_IMPORTED_MODULE_3__["default"])(discussion.firstPost(), settings.defaultImage, postIsBlogType); - var media = image ? m("img", { - src: image, - className: "previewCardImg", - alt: discussion.title(), - loading: "lazy" - }) : m("div", { - className: "imgStub" - }); - return m("div", { - key: discussion.id(), - "data-id": discussion.id(), - className: "CardsListItem List " + isRead + (discussion.isHidden() ? " Hidden" : "") - }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray().length ? m((flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_8___default()), { - icon: 'fas fa-ellipsis-v', - className: 'DiscussionListItem-controls', - buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right' - }, flarum_forum_utils_DiscussionControls__WEBPACK_IMPORTED_MODULE_9___default().controls(discussion, this).toArray()) : '', m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { - href: app.route.discussion(discussion, 0), - className: "cardLink" - }, Number(settings.showBadges) === 1 ? (0,_utils_craftBadges__WEBPACK_IMPORTED_MODULE_2__["default"])(discussion.badges().toArray()) : '', m("div", { - className: "cardGrid" - }, m("div", { - className: "rowSpan-3 colSpan" - }, m("div", attrs, discussion.data.attributes.hasOwnProperty('views') && m('[', null, Number(settings.showViews) === 1 && !isNaN(discussion.views()) ? m("div", { - className: "imageLabel discussionViews" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-eye', { - className: 'labelIcon' - }), discussion.views()) : ''), media, Number(settings.showAuthor) === 1 ? m("div", { - className: "cardFoot" - }, m("div", { - className: "Author" - }, flarum_common_helpers_username__WEBPACK_IMPORTED_MODULE_7___default()(discussion.user())), m("div", { - className: "Date" - }, flarum_common_utils_humanTime__WEBPACK_IMPORTED_MODULE_5___default()(discussion.createdAt()))) : '')), m("div", { - className: "rowSpan-3 colSpan-2" - }, m("div", { - className: "flexBox" - }, m("div", { - className: "cardTitle" - }, m("h2", { - title: discussion.title(), - className: "title" - }, (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.title(), 80))), m("div", { - className: "cardTags" - }, (0,_utils_craftTags__WEBPACK_IMPORTED_MODULE_4__["default"])(discussion.tags()))), Number(settings.previewText) === 1 && discussion.firstPost() ? m("div", { - className: "previewPost" - }, blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== '' ? (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.blogMeta().summary(), 150) : (0,flarum_common_utils_string__WEBPACK_IMPORTED_MODULE_11__.truncate)(discussion.firstPost().contentPlain(), 150)) : '', app.screen() === 'phone' && Number(settings.showReplies) === 1 ? m("div", { - className: "cardSpacer" - }, m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_10___default()), { - className: "Replies", - href: app.route.discussion(discussion, discussion.lastPostNumber()) - }, m("div", { - className: "Left" - }, m("div", { - className: "Avatars" - }, m(_LastReplies__WEBPACK_IMPORTED_MODULE_12__["default"], { - discussion: discussion - })), m("div", { - className: "Repcount" - }, app.translator.trans('walsgit_discussion_cards.forum.replies', { - count: discussion.replyCount() || '0' - }))), m("div", { - className: "Arrow" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-angle-right')))) : Number(settings.showReplies) === 1 ? m("div", { - className: "imageLabel discussionReplyCount" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_6___default()('fas fa-comment', { - className: 'labelIcon' - }), discussion.replyCount()) : '')))); - }; - return listItem; -}((flarum_common_Component__WEBPACK_IMPORTED_MODULE_1___default())); - - -/***/ }), - -/***/ "./src/forum/helpers/compareTags.js": -/*!******************************************!*\ - !*** ./src/forum/helpers/compareTags.js ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ compareTags) -/* harmony export */ }); -function compareTags(currentTag, priorityTag) { - if (currentTag.isChild && !priorityTag.isChild) return -1; - if (!currentTag.isChild && priorityTag.isChild) return 1; - if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position; - if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent; - if (!currentTag.position && priorityTag.position) return 1; - if (currentTag.position && !priorityTag.position) return -1; - if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position; - return currentTag.id - priorityTag.id; -} - -/***/ }), - -/***/ "./src/forum/helpers/getPostImage.js": -/*!*******************************************!*\ - !*** ./src/forum/helpers/getPostImage.js ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ getPostImage) -/* harmony export */ }); -/* harmony import */ var _isValideImageUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isValideImageUrl */ "./src/forum/helpers/isValideImageUrl.js"); - -function getPostImage(post, image, isblogPost, key) { - if (isblogPost === void 0) { - isblogPost = false; - } - if (key === void 0) { - key = 1; - } - var regex = //; - if (isblogPost && (0,_isValideImageUrl__WEBPACK_IMPORTED_MODULE_0__["default"])(image)) { - return image; - } - var assetImage = app.forum.attribute("baseUrl") + "/assets/" + image; - if (post) { - var src = regex.exec(post.contentHtml()); - if (typeof key === "number" && key > 0) { - return src ? src[key] : image ? assetImage : null; - } else if (key === '~') { - return src; - } else { - return null; - } - } -} - -/***/ }), - -/***/ "./src/forum/helpers/isValideImageUrl.js": -/*!***********************************************!*\ - !*** ./src/forum/helpers/isValideImageUrl.js ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ isValideImageUrl) -/* harmony export */ }); -function isValideImageUrl(url) { - if (typeof url !== 'string') return false; - var imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg']; - if (!url.startsWith('http://') && !url.startsWith('https://')) { - url = 'http://' + url; - } - var parsedUrl; - try { - parsedUrl = new URL(url); - } catch (_unused) { - return false; - } - var extension = parsedUrl.pathname.split('.').pop().toLowerCase(); - return imageExtensions.includes(extension); -} - -/***/ }), - -/***/ "./src/forum/index.js": -/*!****************************!*\ - !*** ./src/forum/index.js ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/app */ "flarum/app"); -/* harmony import */ var flarum_app__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_app__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/extend */ "flarum/extend"); -/* harmony import */ var flarum_extend__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_extend__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/forum/components/DiscussionList */ "flarum/forum/components/DiscussionList"); -/* harmony import */ var flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/forum/states/DiscussionListState */ "flarum/forum/states/DiscussionListState"); -/* harmony import */ var flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/forum/components/IndexPage */ "flarum/forum/components/IndexPage"); -/* harmony import */ var flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/components/LoadingIndicator */ "flarum/common/components/LoadingIndicator"); -/* harmony import */ var flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Placeholder */ "flarum/common/components/Placeholder"); -/* harmony import */ var flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _components_CardItem__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/CardItem */ "./src/forum/components/CardItem.js"); -/* harmony import */ var _components_ListItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/ListItem */ "./src/forum/components/ListItem.js"); -/* harmony import */ var _compat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./compat */ "./src/forum/compat.js"); -/* harmony import */ var _flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @flarum/core/forum */ "@flarum/core/forum"); -/* harmony import */ var _flarum_core_forum__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__); - - - - - - - - - - -flarum_app__WEBPACK_IMPORTED_MODULE_0___default().initializers.add('walsgit/discussion/cards', function () { - (0,flarum_extend__WEBPACK_IMPORTED_MODULE_1__.extend)((flarum_forum_states_DiscussionListState__WEBPACK_IMPORTED_MODULE_3___default().prototype), 'requestParams', function (params) { - if (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().current.matches((flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default()))) { - params.include.push(['firstPost', 'posts', 'posts.user']); - } - }); - (0,flarum_extend__WEBPACK_IMPORTED_MODULE_1__.override)((flarum_forum_components_DiscussionList__WEBPACK_IMPORTED_MODULE_2___default().prototype), 'view', function (original) { - var settings = {}; - for (var key in (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes) { - if (key.startsWith('walsgitDiscussionCards')) { - var newKey = key.replace('walsgitDiscussionCards', ''); - newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase()); - settings[newKey] = (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().forum).data.attributes[key]; - } - } - var state = this.attrs.state; - var params = state.getParams(); - var loading; - if (state.isInitialLoading() || state.isLoadingNext()) { - loading = m((flarum_common_components_LoadingIndicator__WEBPACK_IMPORTED_MODULE_5___default()), null); - } else if (state.hasNext()) { - loading = flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default().component({ - className: 'Button', - onclick: state.loadNext.bind(state) - }, flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('core.forum.discussion_list.load_more_button')); - } - if (state.isEmpty()) { - var text = flarum_app__WEBPACK_IMPORTED_MODULE_0___default().translator.trans('core.forum.discussion_list.empty_text'); - return m("div", { - className: "DiscussionList" - }, m((flarum_common_components_Placeholder__WEBPACK_IMPORTED_MODULE_6___default()), { - text: text - })); - } - var isTagPage = m.route.get().split('?')[0].startsWith('/t/'); - var tag = null; - if (isTagPage) { - tag = flarum_app__WEBPACK_IMPORTED_MODULE_0___default().store.all('tags').find(function (t) { - return t.slug() === params.tags; - }).data.id; - var tagSettings = JSON.parse(flarum_app__WEBPACK_IMPORTED_MODULE_0___default().store.all('tags').find(function (t) { - return t.slug() === params.tags; - }).data.attributes.walsgitDiscussionCardsTagSettings); - for (var _key in tagSettings) { - if (settings.hasOwnProperty(_key) && tagSettings[_key] !== settings[_key]) { - settings[_key] = tagSettings[_key]; - } - } - } - if (flarum_app__WEBPACK_IMPORTED_MODULE_0___default().current.matches((flarum_forum_components_IndexPage__WEBPACK_IMPORTED_MODULE_4___default())) && (settings.allowedTags.length && settings.allowedTags.includes(tag) || !params.tags && Number(settings.onIndexPage) === 1)) { - return m("div", { - className: 'DiscussionList' + (state.isSearchResults() ? ' DiscussionList--searchResults' : '') - }, m("div", { - "class": "DiscussionList-discussions flexCard" - }, state.getPages().map(function (pg, o) { - return pg.items.map(function (discussion, i) { - return i < Number(settings.primaryCards) && o === 0 ? m(_components_CardItem__WEBPACK_IMPORTED_MODULE_8__["default"], { - discussion: discussion - }) : m(_components_ListItem__WEBPACK_IMPORTED_MODULE_9__["default"], { - discussion: discussion - }); - }); - })), m("div", { - className: "DiscussionList-loadMore" - }, loading)); - } else { - return original(); - } - }); -}, -1); - -// Expose compat API - - -Object.assign(_flarum_core_forum__WEBPACK_IMPORTED_MODULE_11__.compat, _compat__WEBPACK_IMPORTED_MODULE_10__["default"]); - -/***/ }), - -/***/ "./src/forum/utils/craftBadges.js": -/*!****************************************!*\ - !*** ./src/forum/utils/craftBadges.js ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ craftBadges) -/* harmony export */ }); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/common/components/Tooltip */ "flarum/common/components/Tooltip"); -/* harmony import */ var flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1__); - - -function craftBadges(badges) { - if (badges.length) { - return [m('.cardBadges', [badges.map(function (badge) { - return [m((flarum_common_components_Tooltip__WEBPACK_IMPORTED_MODULE_1___default()), { - text: badge.attrs.label[0], - position: 'right' - }, m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_0___default()(badge.attrs.icon)]))]; - })])]; - } -} -; - -/***/ }), - -/***/ "./src/forum/utils/craftTags.js": -/*!**************************************!*\ - !*** ./src/forum/utils/craftTags.js ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ craftTags) -/* harmony export */ }); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/tags/utils/sortTags */ "flarum/tags/utils/sortTags"); -/* harmony import */ var flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1__); - - -function craftTags(tags) { - if (tags) { - return [flarum_tags_utils_sortTags__WEBPACK_IMPORTED_MODULE_1___default()(tags).map(function (tag) { - return [m((flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_0___default()), { - className: "cardTag", - style: { - backgroundColor: tag.color() - }, - href: app.route('tag', { - tags: tag.slug() - }) - }, tag.name())]; - })]; - } -} -; - -/***/ }), - -/***/ "@flarum/core/forum": -/*!******************************!*\ - !*** external "flarum.core" ***! - \******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core; - -/***/ }), - -/***/ "flarum/app": -/*!********************************************!*\ - !*** external "flarum.core.compat['app']" ***! - \********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['app']; - -/***/ }), - -/***/ "flarum/common/Component": -/*!*********************************************************!*\ - !*** external "flarum.core.compat['common/Component']" ***! - \*********************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/Component']; - -/***/ }), - -/***/ "flarum/common/components/Button": -/*!*****************************************************************!*\ - !*** external "flarum.core.compat['common/components/Button']" ***! - \*****************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Button']; - -/***/ }), - -/***/ "flarum/common/components/Dropdown": -/*!*******************************************************************!*\ - !*** external "flarum.core.compat['common/components/Dropdown']" ***! - \*******************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Dropdown']; - -/***/ }), - -/***/ "flarum/common/components/Link": -/*!***************************************************************!*\ - !*** external "flarum.core.compat['common/components/Link']" ***! - \***************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Link']; - -/***/ }), - -/***/ "flarum/common/components/LoadingIndicator": -/*!***************************************************************************!*\ - !*** external "flarum.core.compat['common/components/LoadingIndicator']" ***! - \***************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/LoadingIndicator']; - -/***/ }), - -/***/ "flarum/common/components/Placeholder": -/*!**********************************************************************!*\ - !*** external "flarum.core.compat['common/components/Placeholder']" ***! - \**********************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Placeholder']; - -/***/ }), - -/***/ "flarum/common/components/Tooltip": -/*!******************************************************************!*\ - !*** external "flarum.core.compat['common/components/Tooltip']" ***! - \******************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/components/Tooltip']; - -/***/ }), - -/***/ "flarum/common/helpers/avatar": -/*!**************************************************************!*\ - !*** external "flarum.core.compat['common/helpers/avatar']" ***! - \**************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/helpers/avatar']; - -/***/ }), - -/***/ "flarum/common/helpers/icon": -/*!************************************************************!*\ - !*** external "flarum.core.compat['common/helpers/icon']" ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/helpers/icon']; - -/***/ }), - -/***/ "flarum/common/helpers/username": -/*!****************************************************************!*\ - !*** external "flarum.core.compat['common/helpers/username']" ***! - \****************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/helpers/username']; - -/***/ }), - -/***/ "flarum/common/utils/humanTime": -/*!***************************************************************!*\ - !*** external "flarum.core.compat['common/utils/humanTime']" ***! - \***************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/utils/humanTime']; - -/***/ }), - -/***/ "flarum/common/utils/string": -/*!************************************************************!*\ - !*** external "flarum.core.compat['common/utils/string']" ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['common/utils/string']; - -/***/ }), - -/***/ "flarum/extend": -/*!***********************************************!*\ - !*** external "flarum.core.compat['extend']" ***! - \***********************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['extend']; - -/***/ }), - -/***/ "flarum/forum/components/DiscussionList": -/*!************************************************************************!*\ - !*** external "flarum.core.compat['forum/components/DiscussionList']" ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['forum/components/DiscussionList']; - -/***/ }), - -/***/ "flarum/forum/components/IndexPage": -/*!*******************************************************************!*\ - !*** external "flarum.core.compat['forum/components/IndexPage']" ***! - \*******************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['forum/components/IndexPage']; - -/***/ }), - -/***/ "flarum/forum/states/DiscussionListState": -/*!*************************************************************************!*\ - !*** external "flarum.core.compat['forum/states/DiscussionListState']" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['forum/states/DiscussionListState']; - -/***/ }), - -/***/ "flarum/forum/utils/DiscussionControls": -/*!***********************************************************************!*\ - !*** external "flarum.core.compat['forum/utils/DiscussionControls']" ***! - \***********************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['forum/utils/DiscussionControls']; - -/***/ }), - -/***/ "flarum/tags/utils/sortTags": -/*!************************************************************!*\ - !*** external "flarum.core.compat['tags/utils/sortTags']" ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = flarum.core.compat['tags/utils/sortTags']; - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _inheritsLoose) -/* harmony export */ }); -/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"); - -function _inheritsLoose(t, o) { - t.prototype = Object.create(o.prototype), t.prototype.constructor = t, (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t, o); -} - - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ _setPrototypeOf) -/* harmony export */ }); -function _setPrototypeOf(t, e) { - return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { - return t.__proto__ = e, t; - }, _setPrototypeOf(t, e); -} - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -/*!******************!*\ - !*** ./forum.js ***! - \******************/ -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _src_forum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/forum */ "./src/forum/index.js"); -/* - * This file is part of Flarum. - * - * (c) Toby Zerner - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - - -})(); - -module.exports = __webpack_exports__; -/******/ })() -; +(()=>{var t={n:a=>{var s=a&&a.__esModule?()=>a.default:()=>a;return t.d(s,{a:s}),s},d:(a,s)=>{for(var e in s)t.o(s,e)&&!t.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:s[e]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a)};(()=>{"use strict";const a=flarum.core.compat.app;var s=t.n(a);const e=flarum.core.compat.extend,r=flarum.core.compat["forum/components/DiscussionList"];var i=t.n(r);const o=flarum.core.compat["forum/states/DiscussionListState"];var n=t.n(o);const u=flarum.core.compat["forum/components/IndexPage"];var l=t.n(u);const c=flarum.core.compat["common/components/LoadingIndicator"];var d=t.n(c);const p=flarum.core.compat["common/components/Placeholder"];var g=t.n(p);const f=flarum.core.compat["common/components/Button"];var v=t.n(f);function h(t,a){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,a){return t.__proto__=a,t},h(t,a)}function b(t,a){t.prototype=Object.create(a.prototype),t.prototype.constructor=t,h(t,a)}const N=flarum.core.compat["common/Component"];var w=t.n(N);const y=flarum.core.compat["common/helpers/icon"];var I=t.n(y);const C=flarum.core.compat["common/components/Tooltip"];var P=t.n(C);function D(t){if(t.length)return[m(".cardBadges",[t.map((function(t){return[m(P(),{text:t.attrs.label[0],position:"right"},m("span.cardBadge.Badge.Badge--"+t.attrs.type,[I()(t.attrs.icon)]))]}))])]}function L(t){if("string"!=typeof t)return!1;var a;t.startsWith("http://")||t.startsWith("https://")||(t="http://"+t);try{a=new URL(t)}catch(t){return!1}var s=a.pathname.split(".").pop().toLowerCase();return["jpg","jpeg","png","gif","webp","bmp","svg"].includes(s)}function T(t,a,s,e){if(void 0===s&&(s=!1),void 0===e&&(e=1),s&&L(a))return a;var r=app.forum.attribute("baseUrl")+"/assets/"+a;if(t){var i=//.exec(t.contentHtml());return"number"==typeof e&&e>0?i?i[e]:a?r:null:"~"===e?i:null}}const A=flarum.core.compat["common/components/Link"];var O=t.n(A);const B=flarum.core.compat["tags/utils/sortTags"];var S=t.n(B);function x(t){if(t)return[S()(t).map((function(t){return[m(O(),{className:"cardTag",style:{backgroundColor:t.color()},href:app.route("tag",{tags:t.slug()})},t.name())]}))]}const R=flarum.core.compat["common/utils/humanTime"];var _=t.n(R);const M=flarum.core.compat["common/helpers/username"];var j=t.n(M);const k=flarum.core.compat["common/components/Dropdown"];var W=t.n(k);const H=flarum.core.compat["forum/utils/DiscussionControls"];var V=t.n(H);const z=flarum.core.compat["common/utils/string"],J=flarum.core.compat["common/helpers/avatar"];var F=t.n(J),U=function(t){function a(){return t.apply(this,arguments)||this}b(a,t);var s=a.prototype;return s.oninit=function(a){t.prototype.oninit.call(this,a),this.discussion=this.attrs.discussion},s.view=function(){return this.discussion.posts().splice(-10).filter((function(t){return!t.isHidden()&&1!==t.number()&&"comment"===t.contentType()})).sort((function(t,a){return a.createdAt()-t.createdAt()})).map((function(t){return t.user()})).filter((function(t,a,s){return s.indexOf(t)===a})).reverse().splice(-3).map((function(t){return F()(t,{className:"Avatar--mini"})}))},a}(w());function q(t,a){return t.isChild&&!a.isChild?-1:!t.isChild&&a.isChild?1:t.isChild&&a.isChild&&t.parent===a.parent?t.position-a.position:t.isChild&&a.isChild&&t.parent!==a.parent?t.parent-a.parent:!t.position&&a.position?1:t.position&&!a.position?-1:t.position&&a.position?t.position-a.position:t.id-a.id}var E=function(t){function a(){return t.apply(this,arguments)||this}b(a,t);var s=a.prototype;return s.oninit=function(a){t.prototype.oninit.call(this,a),this.discussion=this.attrs.discussion},s.view=function(){var t=this.discussion,a={};for(var s in app.forum.data.attributes)if(s.startsWith("walsgitDiscussionCards")){var e=s.replace("walsgitDiscussionCards","");a[e=e.replace(/^./,e.charAt(0).toLowerCase())]=app.forum.data.attributes[s]}var r=app.forum.data.attributes.hasOwnProperty("blogTags"),i={},o=t.data.relationships.hasOwnProperty("blogMeta"),n={};if(r&&(i.tags=app.forum.attribute("blogTags"),i.defaultImage=app.forum.attribute("blogDefaultImage"),o)){var u=t.store.data.blogMeta[t.data.relationships.blogMeta.data.id];L(u.attribute("featuredImage"))&&(n.featuredImage=u.attribute("featuredImage"))}var l,c=m.route.get().split("?")[0].startsWith("/t/");if(c){var d,p=null==(d=m.route.get().split("/t/")[1])?void 0:d.split("?")[0];l=app.store.all("tags").find((function(t){return t.slug()===p})).data.id;var g=app.store.all("tags").find((function(t){return t.id()===l})),f=g?JSON.parse(g.data.attributes.walsgitDiscussionCardsTagSettings||"{}"):{},v=g?g.data.attributes.walsgitDiscussionCardsTagDefaultImage:null;for(var h in f.defaultImage=v,r&&1===Number(a.useBlogImages)&&i.tags.includes(l)&&(f.defaultImage=o&&n.featuredImage&&L(n.featuredImage)?n.featuredImage:i.defaultImage),f)a.hasOwnProperty(h)&&f[h]!==a[h]&&null!==f[h]&&(a[h]=f[h])}if("/"===m.route.get().split("?")[0]){var b=t.tags();for(var N in b){var w=b[N].id(),y=b[N].isChild(),C=b[N].data.hasOwnProperty("relationships")&&b[N].parent()?b[N].parent().data.id:null,P=b[N].position(),A=b[N].attribute("walsgitDiscussionCardsTagDefaultImage");r&&1===Number(a.useBlogImages)&&i.tags.includes(w)&&(A=o&&n.featuredImage&&L(n.featuredImage)?n.featuredImage:i.defaultImage);var B={id:w,isChild:y,parent:C,position:P,tagCustomImg:A},S=null;a.allowedTags.includes(w)&&null!==A&&(null===S||q(B,S)<0)&&(S={id:w,isChild:y,parent:C,position:P,tagCustomImg:A},a.defaultImage=A)}}var R=1===Number(a.markReadCards)&&t.isRead()&&app.session.user?"read":"",M={};M.className="wrapImg"+(1===Number(a.showAuthor)?" After":"");var k=T(t.firstPost(),a.defaultImage,o),H=k?m("img",{src:k,className:"previewCardImg",alt:t.title(),loading:"lazy"}):m("div",{className:"imgStub"});return m("div",{key:t.id(),"data-id":t.id(),"data-tag-id":c?l:null,className:"CardsListItem Card "+R+(t.isHidden()?" Hidden":"")},V().controls(t,this).toArray().length?m(W(),{icon:"fas fa-ellipsis-v",className:"DiscussionListItem-controls",buttonClassName:"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right"},V().controls(t,this).toArray()):"",m(O(),{href:app.route.discussion(t,0),className:"cardLink"},1===Number(a.showBadges)?D(t.badges().toArray()):"",m("div",M,t.data.attributes.hasOwnProperty("views")&&m("[",null,1!==Number(a.showViews)||isNaN(t.views())?"":m("div",{className:"imageLabel discussionViews"},I()("fas fa-eye",{className:"labelIcon"}),t.views())),H,1===Number(a.showAuthor)?m("div",{className:"cardFoot"},m("div",{className:"Author"},j()(t.user())),m("div",{className:"Date"},_()(t.createdAt()))):""),m("div",{className:"cardTags"},x(t.tags())),m("div",{className:"cardTitle"},m("h2",null,t.title())),1===Number(a.previewText)&&t.firstPost()?m("div",{className:"previewPost"},r&&1===Number(a.useBlogSummary)&&t.data.relationships.hasOwnProperty("blogMeta")&&""!==t.blogMeta().summary()?(0,z.truncate)(t.blogMeta().summary(),150):(0,z.truncate)(t.firstPost().contentPlain(),150)):"",1===Number(a.showReplies)?m("div",{className:"cardSpacer"},m(O(),{className:"Replies",href:app.route.discussion(t,t.lastPostNumber())},m("div",{className:"Left"},m("div",{className:"Avatars"},m(U,{discussion:t})),m("div",{className:"Repcount"},app.translator.trans("walsgit_discussion_cards.forum.replies",{count:t.replyCount()||"0"}))),m("div",{className:"Arrow"},I()("fas fa-angle-right")))):""))},a}(w()),G=function(t){function a(){return t.apply(this,arguments)||this}b(a,t);var s=a.prototype;return s.oninit=function(a){t.prototype.oninit.call(this,a)},s.view=function(){var t=this.attrs.discussion,a={};for(var s in app.forum.data.attributes)if(s.startsWith("walsgitDiscussionCards")){var e=s.replace("walsgitDiscussionCards","");a[e=e.replace(/^./,e.charAt(0).toLowerCase())]=app.forum.data.attributes[s]}var r=app.forum.data.attributes.hasOwnProperty("blogTags"),i={},o=t.data.relationships.hasOwnProperty("blogMeta"),n={};if(r&&(i.tags=app.forum.attribute("blogTags"),i.defaultImage=app.forum.attribute("blogDefaultImage"),o)){var u=t.store.data.blogMeta[t.data.relationships.blogMeta.data.id];L(u.attribute("featuredImage"))&&(n.featuredImage=u.attribute("featuredImage"))}if(m.route.get().split("?")[0].startsWith("/t/")){var l,c=null==(l=m.route.get().split("/t/")[1])?void 0:l.split("?")[0],d=app.store.all("tags").find((function(t){return t.slug()===c})).data.id,p=app.store.all("tags").find((function(t){return t.id()===d})),g=p?JSON.parse(p.data.attributes.walsgitDiscussionCardsTagSettings||"{}"):{},f=p?p.data.attributes.walsgitDiscussionCardsTagDefaultImage:null;for(var v in g.defaultImage=f,r&&1===Number(a.useBlogImages)&&i.tags.includes(d)&&(g.defaultImage=o&&n.featuredImage&&L(n.featuredImage)?n.featuredImage:i.defaultImage),g)a.hasOwnProperty(v)&&g[v]!==a[v]&&null!==g[v]&&(a[v]=g[v])}if("/"===m.route.get().split("?")[0]){var h=t.tags();for(var b in h){var N=h[b].id(),w=h[b].isChild(),y=h[b].data.hasOwnProperty("relationships")&&h[b].parent()?h[b].parent().data.id:null,C=h[b].position(),P=h[b].attribute("walsgitDiscussionCardsTagDefaultImage");r&&1===Number(a.useBlogImages)&&i.tags.includes(N)&&(P=o&&n.featuredImage&&L(n.featuredImage)?n.featuredImage:i.defaultImage);var A={id:N,isChild:w,parent:y,position:C,tagCustomImg:P},B=null;a.allowedTags.includes(N)&&null!==P&&(null===B||q(A,B)<0)&&(B={id:N,isChild:w,parent:y,position:C,tagCustomImg:P},a.defaultImage=P)}}var S=1===Number(a.markReadCards)&&t.isRead()&&app.session.user?"read":"",R={};R.className="wrapImg"+(1===Number(a.showAuthor)?" After":"");var M=T(t.firstPost(),a.defaultImage,o),k=M?m("img",{src:M,className:"previewCardImg",alt:t.title(),loading:"lazy"}):m("div",{className:"imgStub"});return m("div",{key:t.id(),"data-id":t.id(),className:"CardsListItem List "+S+(t.isHidden()?" Hidden":"")},V().controls(t,this).toArray().length?m(W(),{icon:"fas fa-ellipsis-v",className:"DiscussionListItem-controls",buttonClassName:"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right"},V().controls(t,this).toArray()):"",m(O(),{href:app.route.discussion(t,0),className:"cardLink"},1===Number(a.showBadges)?D(t.badges().toArray()):"",m("div",{className:"cardGrid"},m("div",{className:"rowSpan-3 colSpan"},m("div",R,t.data.attributes.hasOwnProperty("views")&&m("[",null,1!==Number(a.showViews)||isNaN(t.views())?"":m("div",{className:"imageLabel discussionViews"},I()("fas fa-eye",{className:"labelIcon"}),t.views())),k,1===Number(a.showAuthor)?m("div",{className:"cardFoot"},m("div",{className:"Author"},j()(t.user())),m("div",{className:"Date"},_()(t.createdAt()))):"")),m("div",{className:"rowSpan-3 colSpan-2"},m("div",{className:"flexBox"},m("div",{className:"cardTitle"},m("h2",{title:t.title(),className:"title"},(0,z.truncate)(t.title(),80))),m("div",{className:"cardTags"},x(t.tags()))),1===Number(a.previewText)&&t.firstPost()?m("div",{className:"previewPost"},r&&1===Number(a.useBlogSummary)&&t.data.relationships.hasOwnProperty("blogMeta")&&""!==t.blogMeta().summary()?(0,z.truncate)(t.blogMeta().summary(),150):(0,z.truncate)(t.firstPost().contentPlain(),150)):"","phone"===app.screen()&&1===Number(a.showReplies)?m("div",{className:"cardSpacer"},m(O(),{className:"Replies",href:app.route.discussion(t,t.lastPostNumber())},m("div",{className:"Left"},m("div",{className:"Avatars"},m(U,{discussion:t})),m("div",{className:"Repcount"},app.translator.trans("walsgit_discussion_cards.forum.replies",{count:t.replyCount()||"0"}))),m("div",{className:"Arrow"},I()("fas fa-angle-right")))):1===Number(a.showReplies)?m("div",{className:"imageLabel discussionReplyCount"},I()("fas fa-comment",{className:"labelIcon"}),t.replyCount()):""))))},a}(w());const K={"walsgit/discussion/cards/components/CardItem":E,"walsgit/discussion/cards/components/ListItem":G,"walsgit/discussion/cards/components/LastReplies":U,"walsgit/discussion/cards/utils/craftTags":x,"walsgit/discussion/cards/utils/craftBadges":D},Q=flarum.core;s().initializers.add("walsgit/discussion/cards",(function(){(0,e.extend)(n().prototype,"requestParams",(function(t){s().current.matches(l())&&t.include.push(["firstPost","posts","posts.user"])})),(0,e.override)(i().prototype,"view",(function(t){var a={};for(var e in s().forum.data.attributes)if(e.startsWith("walsgitDiscussionCards")){var r=e.replace("walsgitDiscussionCards","");r=r.replace(/^./,r.charAt(0).toLowerCase()),a[r]=s().forum.data.attributes[e]}var i,o=this.attrs.state,n=o.getParams();if(o.isInitialLoading()||o.isLoadingNext()?i=m(d(),null):o.hasNext()&&(i=v().component({className:"Button",onclick:o.loadNext.bind(o)},s().translator.trans("core.forum.discussion_list.load_more_button"))),o.isEmpty()){var u=s().translator.trans("core.forum.discussion_list.empty_text");return m("div",{className:"DiscussionList"},m(g(),{text:u}))}var c=null;if(m.route.get().split("?")[0].startsWith("/t/")){c=s().store.all("tags").find((function(t){return t.slug()===n.tags})).data.id;var p=JSON.parse(s().store.all("tags").find((function(t){return t.slug()===n.tags})).data.attributes.walsgitDiscussionCardsTagSettings);for(var f in p)a.hasOwnProperty(f)&&p[f]!==a[f]&&(a[f]=p[f])}return s().current.matches(l())&&(a.allowedTags.length&&a.allowedTags.includes(c)||!n.tags&&1===Number(a.onIndexPage))?m("div",{className:"DiscussionList"+(o.isSearchResults()?" DiscussionList--searchResults":"")},m("div",{class:"DiscussionList-discussions flexCard"},o.getPages().map((function(t,s){return t.items.map((function(t,e){return e t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\t\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\t\t\t\t\t\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n\t\t\t\t\t\t\t\t? truncate(discussion.blogMeta().summary(), 150)\r\n\t\t\t\t\t\t\t\t: truncate(discussion.firstPost().contentPlain(), 150)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\nimport isValideImageUrl from \"../helpers/isValideImageUrl\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n /* Getting & setting relevant info for 3rd party Flarum Blog support */\r\n\t\tconst blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags');\r\n\t\tconst blogSettings = {};\r\n\t\tconst postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta');\r\n\t\tconst blogPost = {}\r\n\t\tif(blogActivated) {\r\n\t\t\tblogSettings.tags = app.forum.attribute('blogTags');\r\n\t\t\tblogSettings.defaultImage = app.forum.attribute('blogDefaultImage');\r\n\r\n\t\t\tif(postIsBlogType) {\r\n\t\t\t\tconst blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id];\r\n\t\t\t\tif(isValideImageUrl(blogPostsData.attribute('featuredImage'))) {\r\n\t\t\t\t\tblogPost.featuredImage = blogPostsData.attribute('featuredImage');\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n \r\n tagSettings.defaultImage = tagImage;\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null)\tcontinue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n
\r\n {blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n ? truncate(discussion.blogMeta().summary(), 150)\r\n : truncate(discussion.firstPost().contentPlain(), 150)\r\n }\r\n
\r\n ) : (\r\n ''\r\n )}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","import isValideImageUrl from \"./isValideImageUrl\";\r\n\r\nexport default function getPostImage(post, image, isblogPost = false, key = 1) {\r\n\r\n const regex = //;\r\n\r\n if(isblogPost && isValideImageUrl(image)) {\r\n return image;\r\n }\r\n\r\n const assetImage = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? assetImage : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","export default function isValideImageUrl (url) {\r\n if(typeof url !== 'string') return false;\r\n \r\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg'];\r\n\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'http://' + url;\r\n }\r\n\r\n let parsedUrl;\r\n try {\r\n parsedUrl = new URL(url);\r\n } catch {\r\n return false;\r\n }\r\n\r\n const extension = parsedUrl.pathname.split('.').pop().toLowerCase();\r\n return imageExtensions.includes(extension);\r\n}","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","module.exports = flarum.core;","module.exports = flarum.core.compat['app'];","module.exports = flarum.core.compat['common/Component'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/components/LoadingIndicator'];","module.exports = flarum.core.compat['common/components/Placeholder'];","module.exports = flarum.core.compat['common/components/Tooltip'];","module.exports = flarum.core.compat['common/helpers/avatar'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/helpers/username'];","module.exports = flarum.core.compat['common/utils/humanTime'];","module.exports = flarum.core.compat['common/utils/string'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['forum/components/DiscussionList'];","module.exports = flarum.core.compat['forum/components/IndexPage'];","module.exports = flarum.core.compat['forum/states/DiscussionListState'];","module.exports = flarum.core.compat['forum/utils/DiscussionControls'];","module.exports = flarum.core.compat['tags/utils/sortTags'];","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\r\n * This file is part of Flarum.\r\n *\r\n * (c) Toby Zerner \r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nexport * from './src/forum';\r\n"],"names":["CardItem","ListItem","LastReplies","craftTags","craftBadges","Component","getPostImage","humanTime","icon","username","Dropdown","DiscussionControls","Link","truncate","compareTags","isValideImageUrl","cardItem","_Component","apply","arguments","_inheritsLoose","_proto","prototype","oninit","vnode","call","discussion","attrs","view","settings","key","app","forum","data","attributes","startsWith","newKey","replace","charAt","toLowerCase","blogActivated","hasOwnProperty","blogSettings","postIsBlogType","relationships","blogPost","tags","attribute","defaultImage","blogPostsData","store","blogMeta","id","featuredImage","isTagPage","m","route","get","split","tagId","_m$route$get$split$","slug","all","find","t","tag","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","Number","useBlogImages","includes","isIndexPage","isChild","parent","position","tagCustomImg","currentTag","priorityTag","allowedTags","isRead","markReadCards","session","user","className","showAuthor","image","firstPost","media","src","alt","title","loading","isHidden","controls","toArray","length","buttonClassName","href","showBadges","badges","'['","showViews","isNaN","views","createdAt","previewText","useBlogSummary","summary","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","default","avatar","posts","splice","filteredPosts","filter","post","number","contentType","sort","a","b","groupedUsers","map","i","self","indexOf","reverse","listItem","screen","isblogPost","regex","assetImage","exec","contentHtml","url","imageExtensions","parsedUrl","URL","_unused","extension","pathname","pop","extend","override","DiscussionList","DiscussionListState","IndexPage","LoadingIndicator","Placeholder","Button","initializers","add","params","current","matches","include","push","original","state","getParams","isInitialLoading","isLoadingNext","hasNext","component","onclick","loadNext","bind","isEmpty","text","onIndexPage","isSearchResults","getPages","pg","o","items","primaryCards","extCompat","compat","Object","assign","Tooltip","badge","label","type","sortTags","style","backgroundColor","color","name","setPrototypeOf","create","constructor","_setPrototypeOf","e","__proto__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@walsgit/flarum-discussion-cards/webpack/bootstrap","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/compat get default export","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/define property getters","webpack://@walsgit/flarum-discussion-cards/webpack/runtime/hasOwnProperty shorthand","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['app']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['extend']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/DiscussionList']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Placeholder']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Button']\"","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@walsgit/flarum-discussion-cards/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/Component']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftBadges.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/isValideImageUrl.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/getPostImage.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Link']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/utils/craftTags.js","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/humanTime']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/utils/string']\"","webpack://@walsgit/flarum-discussion-cards/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/LastReplies.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/helpers/compareTags.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/CardItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/components/ListItem.js","webpack://@walsgit/flarum-discussion-cards/./src/forum/compat.js","webpack://@walsgit/flarum-discussion-cards/external assign \"flarum.core\"","webpack://@walsgit/flarum-discussion-cards/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/DiscussionListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Placeholder'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","import icon from 'flarum/common/helpers/icon';\r\nimport Tooltip from 'flarum/common/components/Tooltip';\r\n\r\nexport default function craftBadges(badges) {\r\n if (badges.length) {\r\n return [m('.cardBadges', [badges.map((badge) => {\r\n return [\r\n m(Tooltip, {\r\n text: badge.attrs.label[0],\r\n position: 'right'\r\n },\r\n m('span.cardBadge.Badge.Badge--' + badge.attrs.type, [icon(badge.attrs.icon)]))]\r\n })])];\r\n }\r\n};\r\n","export default function isValideImageUrl (url) {\r\n if(typeof url !== 'string') return false;\r\n \r\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg'];\r\n\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'http://' + url;\r\n }\r\n\r\n let parsedUrl;\r\n try {\r\n parsedUrl = new URL(url);\r\n } catch {\r\n return false;\r\n }\r\n\r\n const extension = parsedUrl.pathname.split('.').pop().toLowerCase();\r\n return imageExtensions.includes(extension);\r\n}","import isValideImageUrl from \"./isValideImageUrl\";\r\n\r\nexport default function getPostImage(post, image, isblogPost = false, key = 1) {\r\n\r\n const regex = //;\r\n\r\n if(isblogPost && isValideImageUrl(image)) {\r\n return image;\r\n }\r\n\r\n const assetImage = app.forum.attribute(\"baseUrl\") + \"/assets/\" + image;\r\n\r\n if (post) {\r\n const src = regex.exec(post.contentHtml());\r\n if (typeof key === \"number\" && key > 0) {\r\n return (src) ? src[key] : (image ? assetImage : null);\r\n } else if (key === '~') {\r\n return src;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/utils/sortTags'];","import Link from 'flarum/common/components/Link';\r\nimport sortTags from 'flarum/tags/utils/sortTags';\r\n\r\nexport default function craftTags(tags) {\r\n if (tags) {\r\n return [sortTags(tags).map(function (tag) {\r\n return [\r\n \r\n {tag.name()}\r\n \r\n ]\r\n })];\r\n }\r\n};\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/DiscussionControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","import Component from 'flarum/common/Component';\r\nimport avatar from 'flarum/common/helpers/avatar';\r\n\r\n\r\nexport default class LastReplies extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n this.discussion = this.attrs.discussion;\r\n }\r\n\r\n view() {\r\n const discussion = this.discussion;\r\n\r\n // let's assume that the last 10 posts will be enough for us to identify 3 unique users\r\n const posts = discussion.posts().splice(-10);\r\n\r\n const filteredPosts = posts\r\n .filter((post) => {\r\n return !post.isHidden() && post.number() !== 1 && post.contentType() === \"comment\";\r\n })\r\n .sort((a, b) => b.createdAt() - a.createdAt());\r\n\r\n const groupedUsers = filteredPosts\r\n .map(post => post.user())\r\n .filter((user, i, self) => {\r\n return self.indexOf(user) === i\r\n })\r\n .reverse()\r\n // last 3 users\r\n .splice(-3);\r\n\r\n\r\n return groupedUsers.map(user => {\r\n return avatar(user, {className: 'Avatar--mini'})\r\n })\r\n\r\n }\r\n\r\n}\r\n","export default function compareTags(currentTag, priorityTag) {\r\n if (currentTag.isChild && !priorityTag.isChild) return -1;\r\n if (!currentTag.isChild && priorityTag.isChild) return 1;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent === priorityTag.parent) return currentTag.position - priorityTag.position;\r\n if (currentTag.isChild && priorityTag.isChild && currentTag.parent !== priorityTag.parent) return currentTag.parent - priorityTag.parent;\r\n\r\n if (!currentTag.position && priorityTag.position) return 1;\r\n if (currentTag.position && !priorityTag.position) return -1;\r\n if (currentTag.position && priorityTag.position) return currentTag.position - priorityTag.position;\r\n return currentTag.id - priorityTag.id;\r\n}","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from \"flarum/common/utils/humanTime\";\r\nimport icon from \"flarum/common/helpers/icon\";\r\nimport username from \"flarum/common/helpers/username\";\r\nimport Dropdown from \"flarum/common/components/Dropdown\";\r\nimport DiscussionControls from \"flarum/forum/utils/DiscussionControls\";\r\nimport Link from \"flarum/common/components/Link\";\r\nimport { truncate } from \"flarum/common/utils/string\";\r\nimport LastReplies from \"./LastReplies\";\r\nimport compareTags from \"../helpers/compareTags\";\r\nimport isValideImageUrl from \"../helpers/isValideImageUrl\";\r\n\r\nexport default class cardItem extends Component {\r\n\toninit(vnode) {\r\n\t\tsuper.oninit(vnode);\r\n\t\tthis.discussion = this.attrs.discussion;\r\n\t}\r\n\r\n\tview() {\r\n\t\tconst discussion = this.discussion;\r\n\t\tconst settings = {};\r\n\t\tfor (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Getting & setting relevant info for 3rd party Flarum Blog extension support */\r\n\t\tconst blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags');\r\n\t\tconst blogSettings = {};\r\n\t\tconst postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta');\r\n\t\tconst blogPost = {}\r\n\t\tif(blogActivated) {\r\n\t\t\tblogSettings.tags = app.forum.attribute('blogTags');\r\n\t\t\tblogSettings.defaultImage = app.forum.attribute('blogDefaultImage');\r\n\r\n\t\t\tif(postIsBlogType) {\r\n\t\t\t\tconst blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id];\r\n\t\t\t\tif(isValideImageUrl(blogPostsData.attribute('featuredImage'))) {\r\n\t\t\t\t\tblogPost.featuredImage = blogPostsData.attribute('featuredImage');\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tlet tagId;\r\n\t\tif (isTagPage) {\r\n\t\t\tconst slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n\t\t\ttagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n\t\t\tconst tag = app.store.all('tags').find(t => t.id() === tagId);\r\n\t\t\tconst tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n\t\t\tconst tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n\t\t\t\r\n\t\t\ttagSettings.defaultImage = tagImage;\r\n\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n\t\t\tfor (const key in tagSettings) {\r\n\t\t\t\tif (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n\t\t\t\t\tsettings[key] = tagSettings[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n\t\t\t\t/* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null) continue;\t\t\t\t\t\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst isRead = Number(settings.markReadCards) === 1 && discussion.isRead() && app.session.user ? \"read\" : \"\";\r\n\t\tconst attrs = {};\r\n\t\tattrs.className =\r\n\t\t\t\"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : \"\");\r\n\t\tconst image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n\t\tconst media = image ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{DiscussionControls.controls(discussion, this).toArray().length\r\n\t\t\t\t\t? m(\r\n\t\t\t\t\t\t\tDropdown,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ticon: \"fas fa-ellipsis-v\",\r\n\t\t\t\t\t\t\t\tclassName: \"DiscussionListItem-controls\",\r\n\t\t\t\t\t\t\t\tbuttonClassName:\r\n\t\t\t\t\t\t\t\t\t\"Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right\",\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tDiscussionControls.controls(\r\n\t\t\t\t\t\t\t\tdiscussion,\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t).toArray()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t: \"\"}\r\n\t\t\t\t\r\n\t\t\t\t\t{Number(settings.showBadges) === 1\r\n\t\t\t\t\t\t? craftBadges(discussion.badges().toArray())\r\n\t\t\t\t\t\t: \"\"}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{discussion.data.attributes.hasOwnProperty('views') && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Number(settings.showViews) === 1 &&\r\n\t\t\t\t\t\t\t\t!isNaN(discussion.views()) ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{icon(\"fas fa-eye\", { className: \"labelIcon\" })}\r\n\t\t\t\t\t\t\t\t\t\t{discussion.views()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{media}\r\n\r\n\t\t\t\t\t\t{Number(settings.showAuthor) === 1 ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{username(discussion.user())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{humanTime(discussion.createdAt())}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{craftTags(discussion.tags())}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{discussion.title()}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n\t\t\t\t\t\t\t\t? truncate(discussion.blogMeta().summary(), 150)\r\n\t\t\t\t\t\t\t\t: truncate(discussion.firstPost().contentPlain(), 150)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{Number(settings.showReplies) === 1 ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{m(LastReplies, {\r\n\t\t\t\t\t\t\t\t\t\t\tdiscussion: discussion,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{app.translator.trans(\r\n\t\t\t\t\t\t\t\t\t\t\t\"walsgit_discussion_cards.forum.replies\",\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdiscussion.replyCount() ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"0\",\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{icon(\"fas fa-angle-right\")}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import Component from \"flarum/common/Component\";\r\nimport craftBadges from \"../utils/craftBadges\";\r\nimport getPostImage from \"../helpers/getPostImage\";\r\nimport craftTags from \"../utils/craftTags\";\r\nimport humanTime from 'flarum/common/utils/humanTime';\r\nimport icon from 'flarum/common/helpers/icon';\r\nimport username from 'flarum/common/helpers/username';\r\nimport Dropdown from 'flarum/common/components/Dropdown';\r\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\r\nimport Link from 'flarum/common/components/Link';\r\nimport {truncate} from 'flarum/common/utils/string';\r\nimport LastReplies from './LastReplies';\r\nimport compareTags from \"../helpers/compareTags\";\r\nimport isValideImageUrl from \"../helpers/isValideImageUrl\";\r\n\r\n\r\nexport default class listItem extends Component {\r\n\r\n oninit(vnode) {\r\n super.oninit(vnode);\r\n }\r\n\r\n view() {\r\n const discussion = this.attrs.discussion;\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n\t\t\tif (key.startsWith('walsgitDiscussionCards')) {\r\n\t\t\t\tlet newKey = key.replace('walsgitDiscussionCards', '');\r\n\t\t\t\tnewKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n\t\t\t\tsettings[newKey] = app.forum.data.attributes[key];\r\n\t\t\t}\r\n\t\t}\r\n\r\n /* Getting & setting relevant info for 3rd party Flarum Blog support */\r\n\t\tconst blogActivated = app.forum.data.attributes.hasOwnProperty('blogTags');\r\n\t\tconst blogSettings = {};\r\n\t\tconst postIsBlogType = discussion.data.relationships.hasOwnProperty('blogMeta');\r\n\t\tconst blogPost = {}\r\n\t\tif(blogActivated) {\r\n\t\t\tblogSettings.tags = app.forum.attribute('blogTags');\r\n\t\t\tblogSettings.defaultImage = app.forum.attribute('blogDefaultImage');\r\n\r\n\t\t\tif(postIsBlogType) {\r\n\t\t\t\tconst blogPostsData = discussion.store.data.blogMeta[discussion.data.relationships.blogMeta.data.id];\r\n\t\t\t\tif(isValideImageUrl(blogPostsData.attribute('featuredImage'))) {\r\n\t\t\t\t\tblogPost.featuredImage = blogPostsData.attribute('featuredImage');\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n\t\tif (isTagPage) {\r\n const slug = m.route.get().split('/t/')[1]?.split('?')[0];\r\n const tagId = app.store.all('tags').find(t => t.slug() === slug).data.id;\r\n const tag = app.store.all('tags').find(t => t.id() === tagId);\r\n const tagSettings = tag ? JSON.parse(tag.data.attributes.walsgitDiscussionCardsTagSettings || '{}') : {};\r\n const tagImage = tag ? tag.data.attributes.walsgitDiscussionCardsTagDefaultImage : null;\r\n \r\n tagSettings.defaultImage = tagImage;\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n if(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\ttagSettings.defaultImage = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t}\r\n\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key] && tagSettings[key] !== null) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n\r\n /* On the IndexPage (all discussions) checks which default image to show based on tag priority */\r\n\t\tconst isIndexPage = m.route.get().split('?')[0] === '/';\r\n\t\tif (isIndexPage) {\r\n\t\t\tconst tags = discussion.tags();\r\n\t\t\tfor (const key in tags) {\r\n\t\t\t\tconst tagId = tags[key].id();\r\n\t\t\t\tconst isChild = tags[key].isChild();\r\n\t\t\t\tconst parent = tags[key].data.hasOwnProperty('relationships') && tags[key].parent() ? tags[key].parent()['data'].id : null;\r\n\t\t\t\tconst position = tags[key].position();\r\n\r\n\t\t\t\tlet tagCustomImg = tags[key].attribute('walsgitDiscussionCardsTagDefaultImage');\r\n /* In case Flarum Blog Extension and useBlogImage are activated */\r\n\t\t\t\tif(blogActivated && Number(settings.useBlogImages) === 1 && blogSettings.tags.includes(tagId)) {\r\n\t\t\t\t\ttagCustomImg = postIsBlogType && blogPost.featuredImage && isValideImageUrl(blogPost.featuredImage) ? blogPost.featuredImage : blogSettings.defaultImage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentTag = { id: tagId, isChild, parent, position, tagCustomImg }\r\n\t\t\t\tlet priorityTag = null;\r\n\t\t\t\tif (!settings.allowedTags.includes(tagId) || tagCustomImg === null)\tcontinue;\r\n\r\n\t\t\t\tif (priorityTag === null || compareTags(currentTag, priorityTag) < 0) {\r\n\t\t\t\t\tpriorityTag = { id: tagId, isChild, parent, position, tagCustomImg };\r\n\t\t\t\t\tsettings.defaultImage = tagCustomImg;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n const isRead = Number(settings.markReadCards) === 1 && (discussion.isRead() && app.session.user) ? 'read' : '';\r\n const attrs = {};\r\n attrs.className = \"wrapImg\" + (Number(settings.showAuthor) === 1 ? \" After\" : '');\r\n const image = getPostImage(discussion.firstPost(), settings.defaultImage, postIsBlogType);\r\n const media = image\r\n ? {discussion.title()}\r\n\r\n :
\r\n\r\n return (\r\n
\r\n {DiscussionControls.controls(discussion, this).toArray().length\r\n ? m(Dropdown, {\r\n icon: 'fas fa-ellipsis-v',\r\n className: 'DiscussionListItem-controls',\r\n buttonClassName: 'Button Button--icon Button--flat Slidable-underneath Slidable-underneath--right',\r\n }, DiscussionControls.controls(discussion, this).toArray())\r\n : ''}\r\n \r\n\r\n {Number(settings.showBadges) === 1\r\n ? craftBadges(discussion.badges().toArray())\r\n : ''}\r\n\r\n
\r\n\r\n
\r\n
\r\n {discussion.data.attributes.hasOwnProperty('views') && (\r\n <>\r\n {Number(settings.showViews) === 1 && !isNaN(discussion.views())\r\n ?
\r\n {icon('fas fa-eye', {className: 'labelIcon'})}\r\n {discussion.views()}\r\n
\r\n : ''}\r\n \r\n )}\r\n \r\n {media}\r\n\r\n {Number(settings.showAuthor) === 1\r\n ?
\r\n
\r\n {username(discussion.user())}\r\n
\r\n
\r\n {humanTime(discussion.createdAt())}\r\n
\r\n
\r\n : ''}\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

{truncate(discussion.title(), 80)}

\r\n
\r\n
{craftTags(discussion.tags())}
\r\n
\r\n\r\n {Number(settings.previewText) === 1 && discussion.firstPost() ? (\r\n
\r\n {blogActivated && Number(settings.useBlogSummary) === 1 && discussion.data.relationships.hasOwnProperty('blogMeta') && discussion.blogMeta().summary() !== ''\r\n ? truncate(discussion.blogMeta().summary(), 150)\r\n : truncate(discussion.firstPost().contentPlain(), 150)\r\n }\r\n
\r\n ) : (\r\n ''\r\n )}\r\n\r\n {app.screen() === 'phone' && Number(settings.showReplies) === 1\r\n ?
\r\n \r\n
\r\n
\r\n {m(LastReplies, {discussion: discussion})}\r\n
\r\n
\r\n {app.translator.trans('walsgit_discussion_cards.forum.replies', {count: discussion.replyCount() || '0'})}\r\n
\r\n
\r\n
\r\n {icon('fas fa-angle-right')}\r\n
\r\n \r\n
\r\n : Number(settings.showReplies) === 1 ?\r\n
\r\n {icon('fas fa-comment', {className: 'labelIcon'})}\r\n {discussion.replyCount()}\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n }\r\n\r\n}\r\n","import CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\nimport LastReplies from './components/LastReplies';\r\nimport craftTags from \"./utils/craftTags\";\r\nimport craftBadges from \"./utils/craftBadges\";\r\n\r\nexport default {\r\n 'walsgit/discussion/cards/components/CardItem': CardItem,\r\n 'walsgit/discussion/cards/components/ListItem': ListItem,\r\n 'walsgit/discussion/cards/components/LastReplies': LastReplies,\r\n 'walsgit/discussion/cards/utils/craftTags': craftTags,\r\n 'walsgit/discussion/cards/utils/craftBadges': craftBadges,\r\n};\r\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core;","import app from 'flarum/app';\r\nimport {extend, override} from 'flarum/extend';\r\nimport DiscussionList from 'flarum/forum/components/DiscussionList';\r\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\r\nimport IndexPage from 'flarum/forum/components/IndexPage';\r\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\r\nimport Placeholder from 'flarum/common/components/Placeholder';\r\nimport Button from 'flarum/common/components/Button';\r\nimport CardItem from './components/CardItem';\r\nimport ListItem from './components/ListItem';\r\n\r\napp.initializers.add('walsgit/discussion/cards', () => {\r\n\r\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\r\n if (app.current.matches(IndexPage)) {\r\n params.include.push(['firstPost', 'posts', 'posts.user']);\r\n }\r\n });\r\n\r\n override(DiscussionList.prototype, 'view', function (original) {\r\n const settings = {};\r\n for (const key in app.forum.data.attributes) {\r\n if (key.startsWith('walsgitDiscussionCards')) {\r\n let newKey = key.replace('walsgitDiscussionCards', '');\r\n newKey = newKey.replace(/^./, newKey.charAt(0).toLowerCase());\r\n settings[newKey] = app.forum.data.attributes[key];\r\n }\r\n }\r\n const state = this.attrs.state;\r\n const params = state.getParams();\r\n let loading;\r\n if (state.isInitialLoading() || state.isLoadingNext()) {\r\n loading = ;\r\n } else if (state.hasNext()) {\r\n loading = Button.component(\r\n {\r\n className: 'Button',\r\n onclick: state.loadNext.bind(state),\r\n },\r\n app.translator.trans('core.forum.discussion_list.load_more_button')\r\n );\r\n }\r\n if (state.isEmpty()) {\r\n const text = app.translator.trans('core.forum.discussion_list.empty_text');\r\n return
{m(Placeholder, {text})}
;\r\n }\r\n const isTagPage = m.route.get().split('?')[0].startsWith('/t/');\r\n let tag = null;\r\n if (isTagPage) {\r\n tag = app.store.all('tags').find(t => t.slug() === params.tags).data.id;\r\n const tagSettings = JSON.parse(app.store.all('tags').find(t => t.slug() === params.tags).data.attributes.walsgitDiscussionCardsTagSettings);\r\n for (const key in tagSettings) {\r\n if (settings.hasOwnProperty(key) && tagSettings[key] !== settings[key]) {\r\n settings[key] = tagSettings[key];\r\n }\r\n }\r\n }\r\n if (app.current.matches(IndexPage) && ((settings.allowedTags.length && settings.allowedTags.includes(tag)) || (!params.tags && Number(settings.onIndexPage) === 1))) {\r\n return (\r\n
\r\n
\r\n {state.getPages().map((pg, o) => {\r\n return pg.items.map((discussion, i) => {\r\n return (i < Number(settings.primaryCards) && o === 0)\r\n ? m(CardItem, {discussion: discussion})\r\n : m(ListItem, {discussion: discussion})\r\n });\r\n })}\r\n
\r\n
{loading}
\r\n
\r\n );\r\n\r\n } else {\r\n return original();\r\n }\r\n })\r\n}, -1);\r\n\r\n\r\n// Expose compat API\r\nimport extCompat from './compat';\r\nimport {compat} from '@flarum/core/forum';\r\n\r\nObject.assign(compat, extCompat);\r\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","flarum","core","compat","_setPrototypeOf","t","e","setPrototypeOf","bind","__proto__","_inheritsLoose","create","constructor","craftBadges","badges","length","m","map","badge","Tooltip","text","attrs","label","position","type","icon","isValideImageUrl","url","parsedUrl","startsWith","URL","_unused","extension","pathname","split","pop","toLowerCase","includes","getPostImage","post","image","isblogPost","assetImage","app","forum","attribute","src","exec","contentHtml","craftTags","tags","sortTags","tag","Link","className","style","backgroundColor","color","href","route","slug","name","LastReplies","_Component","apply","arguments","_proto","oninit","vnode","this","discussion","view","posts","splice","filter","isHidden","number","contentType","sort","b","createdAt","user","i","self","indexOf","reverse","avatar","Component","compareTags","currentTag","priorityTag","isChild","parent","id","cardItem","settings","data","attributes","newKey","replace","charAt","blogActivated","blogSettings","postIsBlogType","relationships","blogPost","defaultImage","blogPostsData","store","blogMeta","featuredImage","tagId","isTagPage","_m$route$get$split$","all","find","tagSettings","JSON","parse","walsgitDiscussionCardsTagSettings","tagImage","walsgitDiscussionCardsTagDefaultImage","Number","useBlogImages","tagCustomImg","allowedTags","isRead","markReadCards","session","showAuthor","firstPost","media","alt","title","loading","DiscussionControls","toArray","Dropdown","buttonClassName","showBadges","'['","showViews","isNaN","views","username","humanTime","previewText","useBlogSummary","summary","truncate","contentPlain","showReplies","lastPostNumber","translator","trans","count","replyCount","listItem","screen","CardItem","ListItem","add","extend","DiscussionListState","params","matches","IndexPage","include","push","override","DiscussionList","original","state","getParams","isInitialLoading","isLoadingNext","LoadingIndicator","hasNext","Button","onclick","loadNext","isEmpty","Placeholder","onIndexPage","isSearchResults","class","getPages","pg","items","primaryCards","assign","extCompat"],"sourceRoot":""} \ No newline at end of file