diff --git a/js/dist/admin.js b/js/dist/admin.js index 31dd425..b2ab7cb 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,2 +1,2 @@ -(()=>{var t={493:t=>{"use strict";t.exports=flarum.extensions["fof-user-directory"]}},e={};function s(n){var a=e[n];if(void 0!==a)return a.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,s),r.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";s.r(n),s.d(n,{extend:()=>_});const t=flarum.core.compat["admin/app"];var e=s.n(t);function a(){return a=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var t={493:t=>{"use strict";t.exports=flarum.extensions["fof-user-directory"]}},e={};function s(n){var a=e[n];if(void 0!==a)return a.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,s),r.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";s.r(n),s.d(n,{extend:()=>c});const t=flarum.core.compat["admin/app"];var e=s.n(t);function a(){return a=Object.assign?Object.assign.bind():function(t){for(var e=1;e {\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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","import app from 'flarum/admin/app';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\n\nexport default class BestAnswerSettingsPage extends ExtensionPage {\n content() {\n return (\n
\n
\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.tags')}

\n

{app.translator.trans('fof-best-answer.admin.settings.tags_info')}

\n
\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.enabled-tags',\n label: app.translator.trans('fof-best-answer.admin.settings.enabled_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.enabled_tags_help'),\n options: {\n requireParentTag: false,\n },\n })}\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.remind-tags',\n label: app.translator.trans('fof-best-answer.admin.settings.remind_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.remind_tags_help'),\n options: {\n requireParentTag: false,\n },\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.general')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.allow_select_own_post',\n label: app.translator.trans('fof-best-answer.admin.settings.allow_select_own_post'),\n help: app.translator.trans('fof-best-answer.admin.settings.allow_select_own_post_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.use_alternative_ui',\n label: app.translator.trans('fof-best-answer.admin.settings.use_alt_ui'),\n help: app.translator.trans('fof-best-answer.admin.settings.use_alt_ui_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.show_filter_dropdown',\n label: app.translator.trans('fof-best-answer.admin.settings.show_filter_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.show_filter_help'),\n })}\n {this.buildSettingComponent({\n type: 'number',\n setting: 'fof-best-answer.show_max_lines',\n label: app.translator.trans('fof-best-answer.admin.settings.show_max_lines_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.show_max_lines_help'),\n })}\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.select_best_answer_tags',\n label: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_tags_help'),\n options: {\n requireParentTag: true,\n limits: {\n max: {\n primary: 0,\n },\n },\n },\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.search')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.search.solution_search',\n label: app.translator.trans('fof-best-answer.admin.settings.solution_search'),\n help: app.translator.trans('fof-best-answer.admin.settings.solution_search_help'),\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.reminders')}

\n

\n {app.translator.trans('fof-best-answer.admin.settings.label.reminders_notice')}{' '}\n \n {app.translator.trans('fof-best-answer.admin.settings.documentation')}\n \n

\n
\n {this.buildSettingComponent({\n type: 'number',\n setting: 'fof-best-answer.select_best_answer_reminder_days',\n label: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_reminder_days'),\n placeholder: '0',\n min: 0,\n help: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_reminder_days_help'),\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.advanced')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.schedule_on_one_server',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_on_one_server'),\n help: app.translator.trans('fof-best-answer.admin.settings.schedule_on_one_server_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.stop_overnight',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_stop_overnight'),\n help: app.translator.trans('fof-best-answer.admin.settings.schedule_stop_overnight_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.store_log_output',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_log_output'),\n })}\n
\n {this.submitButton()}\n
\n
\n
\n );\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extenders'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","import Extend from 'flarum/common/extenders';\nimport Tag from 'flarum/tags/models/Tag';\n\nexport default [\n new Extend.Model(Tag) //\n .attribute('isQnA')\n .attribute('reminders'),\n];\n","import commonExtend from '../common/extend';\n\nexport default [...commonExtend];\n","import app from 'flarum/admin/app';\nimport addBestAnswerCountSort from '../common/addBestAnswerCountSort';\nimport BestAnswerSettingsPage from './components/BestAnswerSettingsPage';\n\nexport { default as extend } from './extend';\n\napp.initializers.add(\n 'fof-best-answer',\n () => {\n app.extensionData\n .for('fof-best-answer')\n .registerPage(BestAnswerSettingsPage)\n .registerPermission(\n {\n icon: 'far fa-comment',\n label: app.translator.trans('fof-best-answer.admin.permissions.best_answer'),\n permission: 'discussion.selectBestAnswerOwnDiscussion',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'far fa-comment',\n label: app.translator.trans('fof-best-answer.admin.permissions.best_answer_not_own_discussion'),\n permission: 'discussion.selectBestAnswerNotOwnDiscussion',\n },\n 'reply'\n );\n\n addBestAnswerCountSort();\n },\n 5\n);\n","import { override } from 'flarum/common/extend';\n\nexport default () => {\n const FoFUserDirectory = require('@fof-user-directory');\n\n if (!FoFUserDirectory) return;\n\n override(FoFUserDirectory.SortMap.prototype, 'sortMap', (map) => ({\n ...map(),\n most_best_answers: '-bestAnswerCount',\n least_best_answers: 'bestAnswerCount',\n }));\n};\n"],"names":["module","exports","flarum","extensions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","core","compat","_extends","assign","bind","target","i","arguments","length","source","apply","this","_setPrototypeOf","p","setPrototypeOf","__proto__","BestAnswerSettingsPage","_ExtensionPage","subClass","superClass","create","constructor","content","m","className","app","trans","buildSettingComponent","type","setting","label","help","options","requireParentTag","limits","max","primary","href","placeholder","min","submitButton","ExtensionPage","Extend","Tag","attribute","concat","commonExtend","add","FoFUserDirectory","registerPage","registerPermission","icon","permission","require","override","SortMap","map","most_best_answers","least_best_answers"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/best-answer/external assign \"flarum.extensions['fof-user-directory']\"","webpack://@fof/best-answer/webpack/bootstrap","webpack://@fof/best-answer/webpack/runtime/compat get default export","webpack://@fof/best-answer/webpack/runtime/define property getters","webpack://@fof/best-answer/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/best-answer/webpack/runtime/make namespace object","webpack://@fof/best-answer/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/best-answer/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/best-answer/./src/admin/components/BestAnswerSettingsPage.tsx","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extenders']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@fof/best-answer/./src/common/extend.ts","webpack://@fof/best-answer/./src/admin/extend.ts","webpack://@fof/best-answer/./src/admin/index.ts","webpack://@fof/best-answer/./src/common/addBestAnswerCountSort.ts"],"sourcesContent":["module.exports = flarum.extensions['fof-user-directory'];","// 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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","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/extend'];","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 };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","import app from 'flarum/admin/app';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\n\nexport default class BestAnswerSettingsPage extends ExtensionPage {\n content() {\n return (\n
\n
\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.tags')}

\n

{app.translator.trans('fof-best-answer.admin.settings.tags_info')}

\n
\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.enabled-tags',\n label: app.translator.trans('fof-best-answer.admin.settings.enabled_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.enabled_tags_help'),\n options: {\n requireParentTag: false,\n },\n })}\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.remind-tags',\n label: app.translator.trans('fof-best-answer.admin.settings.remind_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.remind_tags_help'),\n options: {\n requireParentTag: false,\n },\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.general')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.allow_select_own_post',\n label: app.translator.trans('fof-best-answer.admin.settings.allow_select_own_post'),\n help: app.translator.trans('fof-best-answer.admin.settings.allow_select_own_post_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.use_alternative_ui',\n label: app.translator.trans('fof-best-answer.admin.settings.use_alt_ui'),\n help: app.translator.trans('fof-best-answer.admin.settings.use_alt_ui_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.show_filter_dropdown',\n label: app.translator.trans('fof-best-answer.admin.settings.show_filter_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.show_filter_help'),\n })}\n {this.buildSettingComponent({\n type: 'number',\n setting: 'fof-best-answer.show_max_lines',\n label: app.translator.trans('fof-best-answer.admin.settings.show_max_lines_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.show_max_lines_help'),\n })}\n {this.buildSettingComponent({\n type: 'flarum-tags.select-tags',\n setting: 'fof-best-answer.select_best_answer_tags',\n label: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_tags_label'),\n help: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_tags_help'),\n options: {\n requireParentTag: true,\n limits: {\n max: {\n primary: 0,\n },\n },\n },\n })}\n {this.buildSettingComponent({\n setting: 'fof-best-answer.discussion_sidebar_jump_button',\n type: 'boolean',\n label: app.translator.trans('fof-best-answer.admin.settings.discussion_sidebar_jump_button'),\n help: app.translator.trans('fof-best-answer.admin.settings.discussion_sidebar_jump_button_help'),\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.search')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.search.solution_search',\n label: app.translator.trans('fof-best-answer.admin.settings.solution_search'),\n help: app.translator.trans('fof-best-answer.admin.settings.solution_search_help'),\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.reminders')}

\n

\n {app.translator.trans('fof-best-answer.admin.settings.label.reminders_notice')}{' '}\n \n {app.translator.trans('fof-best-answer.admin.settings.documentation')}\n \n

\n
\n {this.buildSettingComponent({\n type: 'number',\n setting: 'fof-best-answer.select_best_answer_reminder_days',\n label: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_reminder_days'),\n placeholder: '0',\n min: 0,\n help: app.translator.trans('fof-best-answer.admin.settings.select_best_answer_reminder_days_help'),\n })}\n
\n

{app.translator.trans('fof-best-answer.admin.settings.label.advanced')}

\n
\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.schedule_on_one_server',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_on_one_server'),\n help: app.translator.trans('fof-best-answer.admin.settings.schedule_on_one_server_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.stop_overnight',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_stop_overnight'),\n help: app.translator.trans('fof-best-answer.admin.settings.schedule_stop_overnight_help'),\n })}\n {this.buildSettingComponent({\n type: 'boolean',\n setting: 'fof-best-answer.store_log_output',\n label: app.translator.trans('fof-best-answer.admin.settings.schedule_log_output'),\n })}\n
\n {this.submitButton()}\n
\n
\n
\n );\n }\n}\n","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/extenders'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","import Extend from 'flarum/common/extenders';\n// @ts-ignore\nimport Tag from 'flarum/tags/models/Tag';\n\nexport default [\n new Extend.Model(Tag) //\n .attribute('isQnA')\n .attribute('reminders'),\n];\n","import commonExtend from '../common/extend';\n\nexport default [...commonExtend];\n","import app from 'flarum/admin/app';\nimport addBestAnswerCountSort from '../common/addBestAnswerCountSort';\nimport BestAnswerSettingsPage from './components/BestAnswerSettingsPage';\n\nexport { default as extend } from './extend';\n\napp.initializers.add(\n 'fof-best-answer',\n () => {\n app.extensionData\n .for('fof-best-answer')\n .registerPage(BestAnswerSettingsPage)\n .registerPermission(\n {\n icon: 'far fa-comment',\n label: app.translator.trans('fof-best-answer.admin.permissions.best_answer'),\n permission: 'discussion.selectBestAnswerOwnDiscussion',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'far fa-comment',\n label: app.translator.trans('fof-best-answer.admin.permissions.best_answer_not_own_discussion'),\n permission: 'discussion.selectBestAnswerNotOwnDiscussion',\n },\n 'reply'\n );\n\n addBestAnswerCountSort();\n },\n 5\n);\n","import { override } from 'flarum/common/extend';\n\nexport default () => {\n const FoFUserDirectory = require('@fof-user-directory');\n\n if (!FoFUserDirectory) return;\n\n override(FoFUserDirectory.SortMap.prototype, 'sortMap', (map) => ({\n ...map(),\n most_best_answers: '-bestAnswerCount',\n least_best_answers: 'bestAnswerCount',\n }));\n};\n"],"names":["module","exports","flarum","extensions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","core","compat","_extends","assign","bind","e","arguments","length","t","apply","_setPrototypeOf","setPrototypeOf","__proto__","BestAnswerSettingsPage","_ExtensionPage","create","constructor","content","m","className","app","trans","this","buildSettingComponent","type","setting","label","help","options","requireParentTag","limits","max","primary","href","target","placeholder","min","submitButton","ExtensionPage","Extend","Tag","attribute","concat","commonExtend","add","FoFUserDirectory","registerPage","registerPermission","icon","permission","require","override","SortMap","map","most_best_answers","least_best_answers"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index c114429..5a5aea8 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,3 +1,3 @@ /*! For license information please see forum.js.LICENSE.txt */ -(()=>{var t={493:t=>{"use strict";t.exports=flarum.extensions["fof-user-directory"]},24:(t,e,r)=>{var n=r(735).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},s=Object.prototype,a=s.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",f=c.toStringTag||"@@toStringTag";function m(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{m({},"")}catch(e){m=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var o=e&&e.prototype instanceof g?e:g,s=Object.create(o.prototype),a=new C(n||[]);return i(s,"_invoke",{value:N(t,r,a)}),s}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=p;var h="suspendedStart",b="suspendedYield",v="executing",w="completed",y={};function g(){}function A(){}function x(){}var _={};m(_,u,(function(){return this}));var P=Object.getPrototypeOf,S=P&&P(P(T([])));S&&S!==s&&a.call(S,u)&&(_=S);var L=x.prototype=g.prototype=Object.create(_);function O(t){["next","throw","return"].forEach((function(e){m(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(o,s,i,c){var u=d(t[o],t,s);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==n(f)&&a.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(f).then((function(t){l.value=t,i(l)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var o;i(this,"_invoke",{value:function(t,n){function s(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(s,s):s()}})}function N(t,r,n){var o=h;return function(s,a){if(o===v)throw new Error("Generator is already running");if(o===w){if("throw"===s)throw a;return{value:e,done:!0}}for(n.method=s,n.arg=a;;){var i=n.delegate;if(i){var c=B(i,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=w,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var u=d(t,r,n);if("normal"===u.type){if(o=n.done?w:b,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=w,n.method="throw",n.arg=u.arg)}}}function B(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,B(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var s=d(o,t.iterator,r.arg);if("throw"===s.type)return r.method="throw",r.arg=s.arg,r.delegate=null,y;var a=s.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function T(t){if(t||""===t){var r=t[u];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,s=function r(){for(;++o=0;--o){var s=this.tryEntries[o],i=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var c=a.call(s,"catchLoc"),u=a.call(s,"finallyLoc");if(c&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:T(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},735:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},183:(t,e,r)=>{var n=r(24)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{components:()=>vt,extend:()=>Ot});const t=flarum.core.compat["forum/app"];var e=r.n(t);const o=flarum.core.compat["common/extend"],s=flarum.core.compat["forum/components/IndexPage"];var a=r.n(s);const i=flarum.core.compat["common/components/Dropdown"];var c=r.n(i);const u=flarum.core.compat["common/components/Button"];var l=r.n(u);const f=flarum.core.compat["forum/states/DiscussionListState"];var p=r.n(f);const d=flarum.core.compat["forum/components/DiscussionComposer"];var h=r.n(d);function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}function v(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,b(t,e)}const w=flarum.core.compat["forum/components/Notification"];var y=r.n(w),g=function(t){function r(){return t.apply(this,arguments)||this}v(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-comment-dots"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){return e().translator.trans("fof-best-answer.forum.notification.content")},n.excerpt=function(){return null},r}(y());const A=flarum.core.compat["forum/utils/PostControls"];var x=r.n(A);const _=flarum.core.compat["forum/components/DiscussionPage"];var P=r.n(_);const S=flarum.core.compat["forum/components/CommentPost"];var L=r.n(S);const O=flarum.core.compat["forum/components/Post"];var k=r.n(O);const N=flarum.core.compat["forum/components/PostMeta"];var B=r.n(N);const j=flarum.core.compat["common/helpers/username"];var E=r.n(j);const C=flarum.core.compat["common/helpers/userOnline"];var T=r.n(C);const I=flarum.core.compat["common/components/Link"];var D=r.n(I);const U=flarum.core.compat["common/utils/classList"];var M=r.n(U);const R=flarum.core.compat["common/Component"];var G=r.n(R);const q=flarum.core.compat["common/helpers/icon"];var F=r.n(q);const H=flarum.core.compat["common/helpers/humanTime"];var Q=r.n(H);const Y=flarum.core.compat["common/utils/ItemList"];var z=r.n(Y),J=function(t){function r(){return t.apply(this,arguments)||this}v(r,t);var n=r.prototype;return n.oninit=function(e){t.prototype.oninit.call(this,e);var r=this.attrs,n=r.post,o=r.discussion;this.post=n,this.discussion=o},n.view=function(){return m("li",{className:"Post--BestAnswer"},this.items().toArray())},n.getSetTime=function(t){if(null!==t.bestAnswerSetAt())return Q()(t.bestAnswerSetAt())},n.items=function(){var t=this,r=new(z());return r.add("post",this.post?m("span",null,F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.best_answer_button")):m(D(),{href:e().route.post(this.post),"data-number":this.post.number()},F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.best_answer_button"))),r.add("user",m("span",{className:"BestAnswer--User"},e().translator.trans("fof-best-answer.forum.best_answer_label",{user:this.discussion.bestAnswerUser(),time_set:this.getSetTime(this.discussion),a:m("a",{onclick:function(){return m.route.set(e().route.user(t.discussion.bestAnswerUser()))}})}))),r},r}(G());const K=flarum.core.compat["common/models/Discussion"];var V=r.n(K);const W=flarum.core.compat["common/components/Badge"];var X=function(t){function r(){return t.apply(this,arguments)||this}return v(r,t),r.initAttrs=function(t){t.type="bestAnswer",t.icon="fas fa-check",t.label=e().translator.trans("fof-best-answer.forum.answered_badge")},r}(r.n(W)()),Z=function(t){function r(){return t.apply(this,arguments)||this}v(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-check"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){var t=this.attrs.notification.fromUser();return e().translator.trans("fof-best-answer.forum.notification.awarded",{user:t})},n.excerpt=function(){return null},r}(y()),$=function(t){function r(){return t.apply(this,arguments)||this}v(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-check"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){var t=this.attrs.notification.fromUser();return e().translator.trans("fof-best-answer.forum.notification.best_answer_in_discussion",{user:t})},n.excerpt=function(){return null},r}(y());const tt=flarum.core.compat["forum/components/NotificationGrid"];var et=r.n(tt);const rt=flarum.core.compat["forum/components/UserCard"];var nt=r.n(rt);function ot(){return ot=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&"Post-body--truncate"),style:{"--max-lines":s}},m.trust(o.contentHtml()))),-10)}})),(0,o.extend)(k().prototype,"elementAttrs",(function(t){var e=this.attrs.post,r=e.discussion();null!=r&&r.hasBestAnswer()&&r.bestAnswerPost()&&r.bestAnswerPost().id()===e.id()&&!e.isHidden()&&(t.className?t.className+=" Post--bestAnswer":t.className="Post--bestAnswer")})),(0,o.extend)(nt().prototype,"infoItems",(function(t){var r=this.attrs.user;t.add("best-answer-count",m("span",{className:"UserCard-bestAnswerCount"},F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.user.best-answer-count",{count:r.bestAnswerCount()})),55)})),(f=r(493))&&(0,o.override)(f.SortMap.prototype,"sortMap",(function(t){return ot({},t(),{most_best_answers:"-bestAnswerCount",least_best_answers:"bestAnswerCount"})})),(0,o.extend)(et().prototype,"notificationTypes",(function(t){t.add("awardedBestAnswer",{name:"awardedBestAnswer",icon:"fas fa-check",label:e().translator.trans("fof-best-answer.forum.notification.preferences.awarded_best_answer")}),t.add("bestAnswerInDiscussion",{name:"bestAnswerInDiscussion",icon:"fas fa-check",label:e().translator.trans("fof-best-answer.forum.notification.preferences.best_answer_in_discussion")}),t.add("selectBestAnswer",{name:"selectBestAnswer",icon:"fas fa-stopwatch",label:e().translator.trans("fof-best-answer.forum.notification.preferences.select_best_answer")})})),(0,o.extend)(at().prototype,"sourceItems",(function(t){e().forum.attribute("solutionSearchEnabled")&&t.add("solution",new bt,110)})),(0,o.extend)(a().prototype,"sidebarItems",(function(t){var r=this.currentTag();if(null!=r&&null!=r.isQnA&&r.isQnA()){var n=e().forum.attribute("canStartDiscussion")||!e().session.user,o=t.get("newDiscussion");o.children=e().translator.trans(n?"fof-best-answer.forum.index.ask_question":"fof-best-answer.forum.index.cannot_ask_question"),t.has("startDiscussion")&&t.setContent("startDiscussion",o)}})),(0,o.extend)(a().prototype,"viewItems",(function(t){if(e().forum.attribute("showBestAnswerFilterUi")){var r=this.currentTag();if(null!=r&&null!=r.isQnA&&r.isQnA()){var n=["all","solved","unsolved"],o=e().discussions.bestAnswer;t.add("solved-filter",c().component({buttonClassName:"Button",label:e().translator.trans("fof-best-answer.forum.filter."+(n[o]||Object.keys(n).map((function(t){return n[t]}))[0])+"_label"),accessibleToggleLabel:e().translator.trans("fof-best-answer.forum.filter.accessible_label")},Object.keys(n).map((function(t){var r=n[t],s=(o||Object.keys(n)[0])===t;return l().component({icon:!s||"fas fa-check",active:s,onclick:function(){e().discussions.bestAnswer=t,"0"===t&&delete e().discussions.bestAnswer,e().discussions.refresh()}},e().translator.trans("fof-best-answer.forum.filter."+r+"_label"))}))))}else e().discussions.bestAnswer&&(delete e().discussions.bestAnswer,e().discussions.refresh())}})),(0,o.extend)(p().prototype,"requestParams",(function(t){if(e().discussions.bestAnswer){var r="2"===e().discussions.bestAnswer?"-":"";t.filter[r+"solved-discussions"]=!0,t.filter.q&&(t.filter.q+=" "+r+"is:solved")}})),(0,o.extend)(h().prototype,"headerItems",(function(t){var r=this.composer.fields.tags;void 0!==r&&r.some((function(t){return t.isQnA()}))&&(this.attrs.titlePlaceholder=e().translator.trans("fof-best-answer.forum.composer.titlePlaceholder"),t.has("discussionTitle")&&t.setContent("discussionTitle",m("h3",null,m("input",{className:"FormControl",bidi:this.title,placeholder:this.attrs.titlePlaceholder,disabled:!!this.attrs.disabled,onkeydown:this.onkeydown.bind(this)}))))}))}))})(),module.exports=n})(); +(()=>{var t={493:t=>{"use strict";t.exports=flarum.extensions["fof-user-directory"]},24:(t,e,r)=>{var n=r(735).default;function s(){"use strict";t.exports=s=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},o=Object.prototype,a=o.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},c="function"==typeof Symbol?Symbol:{},u=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",f=c.toStringTag||"@@toStringTag";function m(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{m({},"")}catch(e){m=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var s=e&&e.prototype instanceof g?e:g,o=Object.create(s.prototype),a=new T(n||[]);return i(o,"_invoke",{value:N(t,r,a)}),o}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=p;var h="suspendedStart",b="suspendedYield",w="executing",v="completed",y={};function g(){}function A(){}function x(){}var _={};m(_,u,(function(){return this}));var P=Object.getPrototypeOf,S=P&&P(P(C([])));S&&S!==o&&a.call(S,u)&&(_=S);var B=x.prototype=g.prototype=Object.create(_);function L(t){["next","throw","return"].forEach((function(e){m(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(s,o,i,c){var u=d(t[s],t,o);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==n(f)&&a.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(f).then((function(t){l.value=t,i(l)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var s;i(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,s){r(t,n,e,s)}))}return s=s?s.then(o,o):o()}})}function N(t,r,n){var s=h;return function(o,a){if(s===w)throw Error("Generator is already running");if(s===v){if("throw"===o)throw a;return{value:e,done:!0}}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var c=O(i,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(s===h)throw s=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);s=w;var u=d(t,r,n);if("normal"===u.type){if(s=n.done?v:b,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(s=v,n.method="throw",n.arg=u.arg)}}}function O(t,r){var n=r.method,s=t.iterator[n];if(s===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,O(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=d(s,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function C(t){if(t||""===t){var r=t[u];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var s=-1,o=function r(){for(;++s=0;--s){var o=this.tryEntries[s],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var c=a.call(o,"catchLoc"),u=a.call(o,"finallyLoc");if(c&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var s=n.arg;E(r)}return s}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:C(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},r}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},735:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},183:(t,e,r)=>{var n=r(24)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},e={};function r(n){var s=e[n];if(void 0!==s)return s.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{components:()=>wt,extend:()=>Lt});const t=flarum.core.compat["forum/app"];var e=r.n(t);const s=flarum.core.compat["common/extend"],o=flarum.core.compat["forum/components/IndexPage"];var a=r.n(o);const i=flarum.core.compat["common/components/Dropdown"];var c=r.n(i);const u=flarum.core.compat["common/components/Button"];var l=r.n(u);const f=flarum.core.compat["forum/states/DiscussionListState"];var p=r.n(f);const d=flarum.core.compat["forum/components/DiscussionComposer"];var h=r.n(d);function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}function w(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,b(t,e)}const v=flarum.core.compat["forum/components/Notification"];var y=r.n(v),g=function(t){function r(){return t.apply(this,arguments)||this}w(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-comment-dots"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){return e().translator.trans("fof-best-answer.forum.notification.content")},n.excerpt=function(){return null},r}(y());const A=flarum.core.compat["forum/utils/PostControls"];var x=r.n(A);const _=flarum.core.compat["forum/components/DiscussionPage"];var P=r.n(_);const S=flarum.core.compat["forum/components/CommentPost"];var B=r.n(S);const L=flarum.core.compat["forum/components/Post"];var k=r.n(L);const N=flarum.core.compat["forum/components/PostMeta"];var O=r.n(N);const j=flarum.core.compat["common/helpers/username"];var E=r.n(j);const T=flarum.core.compat["common/helpers/userOnline"];var C=r.n(T);const I=flarum.core.compat["common/components/Link"];var D=r.n(I);const U=flarum.core.compat["common/utils/classList"];var M=r.n(U);const R=flarum.core.compat["common/Component"];var G=r.n(R);const q=flarum.core.compat["common/helpers/icon"];var F=r.n(q);const H=flarum.core.compat["common/helpers/humanTime"];var Q=r.n(H);const Y=flarum.core.compat["common/utils/ItemList"];var z=r.n(Y),J=function(t){function r(){return t.apply(this,arguments)||this}w(r,t);var n=r.prototype;return n.oninit=function(e){t.prototype.oninit.call(this,e);var r=this.attrs,n=r.post,s=r.discussion;this.post=n,this.discussion=s},n.view=function(){return m("li",{className:"Post--BestAnswer"},this.items().toArray())},n.getSetTime=function(t){if(null!==t.bestAnswerSetAt())return Q()(t.bestAnswerSetAt())},n.items=function(){var t=this,r=new(z());return r.add("post",this.post?m("span",null,F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.best_answer_button")):m(D(),{href:e().route.post(this.post),"data-number":this.post.number()},F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.best_answer_button"))),r.add("user",m("span",{className:"BestAnswer--User"},e().translator.trans("fof-best-answer.forum.best_answer_label",{user:this.discussion.bestAnswerUser(),time_set:this.getSetTime(this.discussion),a:m("a",{onclick:function(){return m.route.set(e().route.user(t.discussion.bestAnswerUser()))}})}))),r},r}(G());const K=flarum.core.compat["common/models/Discussion"];var V=r.n(K);const W=flarum.core.compat["common/components/Badge"];var X=function(t){function r(){return t.apply(this,arguments)||this}return w(r,t),r.initAttrs=function(t){t.type="bestAnswer",t.icon="fas fa-check",t.label=e().translator.trans("fof-best-answer.forum.answered_badge")},r}(r.n(W)()),Z=function(t){function r(){return t.apply(this,arguments)||this}w(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-check"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){var t=this.attrs.notification.fromUser();return e().translator.trans("fof-best-answer.forum.notification.awarded",{user:t})},n.excerpt=function(){return null},r}(y()),$=function(t){function r(){return t.apply(this,arguments)||this}w(r,t);var n=r.prototype;return n.icon=function(){return"fas fa-check"},n.href=function(){var t=this.attrs.notification.subject();return e().route.discussion(t)},n.content=function(){var t=this.attrs.notification.fromUser();return e().translator.trans("fof-best-answer.forum.notification.best_answer_in_discussion",{user:t})},n.excerpt=function(){return null},r}(y());const tt=flarum.core.compat["forum/components/NotificationGrid"];var et=r.n(tt);const rt=flarum.core.compat["forum/components/UserCard"];var nt=r.n(rt);function st(){return st=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&"Post-body--truncate"),style:{"--max-lines":o}},m.trust(s.contentHtml()))),-10)}})),(0,s.extend)(k().prototype,"elementAttrs",(function(t){var e=this.attrs.post,r=e.discussion();null!=r&&r.hasBestAnswer()&&r.bestAnswerPost()&&r.bestAnswerPost().id()===e.id()&&!e.isHidden()&&(t.className?t.className+=" Post--bestAnswer":t.className="Post--bestAnswer")})),(0,s.extend)(P().prototype,"sidebarItems",(function(t){if(e().forum.attribute("bestAnswerDiscussionSidebarJumpButton")){var r=this.discussion,n=r.hasBestAnswer()&&r.bestAnswerPost();!n||n.isHidden()||1===n.number()||r.bestAnswerPost().isHidden()||t.add("jumpToBestAnswer",m(l(),{className:"Button Button-jumpBestAnswer",icon:"fas fa-check",onclick:function(){return e().current.get("stream").goToNumber(n.number())}},e().translator.trans("fof-best-answer.forum.discussion.jump_to_best_answer_button")),90)}})),(0,s.extend)(nt().prototype,"infoItems",(function(t){var r=this.attrs.user;t.add("best-answer-count",m("span",{className:"UserCard-bestAnswerCount"},F()("fas fa-check"),e().translator.trans("fof-best-answer.forum.user.best-answer-count",{count:r.bestAnswerCount()})),55)})),(f=r(493))&&(0,s.override)(f.SortMap.prototype,"sortMap",(function(t){return st({},t(),{most_best_answers:"-bestAnswerCount",least_best_answers:"bestAnswerCount"})})),(0,s.extend)(et().prototype,"notificationTypes",(function(t){t.add("awardedBestAnswer",{name:"awardedBestAnswer",icon:"fas fa-check",label:e().translator.trans("fof-best-answer.forum.notification.preferences.awarded_best_answer")}),t.add("bestAnswerInDiscussion",{name:"bestAnswerInDiscussion",icon:"fas fa-check",label:e().translator.trans("fof-best-answer.forum.notification.preferences.best_answer_in_discussion")}),t.add("selectBestAnswer",{name:"selectBestAnswer",icon:"fas fa-stopwatch",label:e().translator.trans("fof-best-answer.forum.notification.preferences.select_best_answer")})})),(0,s.extend)(at().prototype,"sourceItems",(function(t){e().forum.attribute("solutionSearchEnabled")&&t.add("solution",new bt,110)})),(0,s.extend)(a().prototype,"sidebarItems",(function(t){var r=this.currentTag();if(null!=r&&null!=r.isQnA&&r.isQnA()){var n=e().forum.attribute("canStartDiscussion")||!e().session.user,s=t.get("newDiscussion");s.children=e().translator.trans(n?"fof-best-answer.forum.index.ask_question":"fof-best-answer.forum.index.cannot_ask_question"),t.has("startDiscussion")&&t.setContent("startDiscussion",s)}})),(0,s.extend)(a().prototype,"viewItems",(function(t){if(e().forum.attribute("showBestAnswerFilterUi")){var r=this.currentTag();if(null!=r&&null!=r.isQnA&&r.isQnA()){var n=["all","solved","unsolved"],s=e().discussions.bestAnswer;t.add("solved-filter",c().component({buttonClassName:"Button",label:e().translator.trans("fof-best-answer.forum.filter."+(n[s]||Object.keys(n).map((function(t){return n[t]}))[0])+"_label"),accessibleToggleLabel:e().translator.trans("fof-best-answer.forum.filter.accessible_label")},Object.keys(n).map((function(t){var r=n[t],o=(s||Object.keys(n)[0])===t;return l().component({icon:!o||"fas fa-check",active:o,onclick:function(){e().discussions.bestAnswer=t,"0"===t&&delete e().discussions.bestAnswer,e().discussions.refresh()}},e().translator.trans("fof-best-answer.forum.filter."+r+"_label"))}))))}else e().discussions.bestAnswer&&(delete e().discussions.bestAnswer,e().discussions.refresh())}})),(0,s.extend)(p().prototype,"requestParams",(function(t){if(e().discussions.bestAnswer){var r="2"===e().discussions.bestAnswer?"-":"";t.filter[r+"solved-discussions"]=!0,t.filter.q&&(t.filter.q+=" "+r+"is:solved")}})),(0,s.extend)(h().prototype,"headerItems",(function(t){var r=this.composer.fields.tags;void 0!==r&&r.some((function(t){return t.isQnA()}))&&(this.attrs.titlePlaceholder=e().translator.trans("fof-best-answer.forum.composer.titlePlaceholder"),t.has("discussionTitle")&&t.setContent("discussionTitle",m("h3",null,m("input",{className:"FormControl",bidi:this.title,placeholder:this.attrs.titlePlaceholder,disabled:!!this.attrs.disabled,onkeydown:this.onkeydown.bind(this)}))))}))}))})(),module.exports=n})(); //# 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 d96cf75..4e362f8 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://@fof/best-answer/external assign \"flarum.extensions['fof-user-directory']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/typeof.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/regenerator/index.js","webpack://@fof/best-answer/webpack/bootstrap","webpack://@fof/best-answer/webpack/runtime/compat get default export","webpack://@fof/best-answer/webpack/runtime/define property getters","webpack://@fof/best-answer/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/best-answer/webpack/runtime/make namespace object","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Notification']\"","webpack://@fof/best-answer/./src/forum/components/SelectBestAnswerNotification.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/best-answer/./src/forum/addBestAnswerAction.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Post']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/PostMeta']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/userOnline']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/best-answer/./src/forum/components/SelectBestAnswerItem.js","webpack://@fof/best-answer/./src/forum/addBestAnswerView.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/best-answer/./src/forum/components/BestAnswerBadge.tsx","webpack://@fof/best-answer/./src/forum/components/AwardedBestAnswerNotification.js","webpack://@fof/best-answer/./src/forum/components/BestAnswerInDiscussionNotification.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/NotificationGrid']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/UserCard']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/best-answer/./src/common/addBestAnswerCountSort.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Search']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/highlight']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['tags/helpers/tagsLabel']\"","webpack://@fof/best-answer/./src/forum/components/SolutionSearchSource.tsx","webpack://@fof/best-answer/./src/forum/components/index.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extenders']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@fof/best-answer/./src/common/extend.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/best-answer/./src/forum/extend.ts","webpack://@fof/best-answer/./src/forum/index.js","webpack://@fof/best-answer/./src/forum/addAnsweredBadge.tsx","webpack://@fof/best-answer/./src/forum/addBestAnswerCountToUsers.tsx","webpack://@fof/best-answer/./src/forum/extenders/extendNotifications.ts","webpack://@fof/best-answer/./src/forum/extenders/extendSearch.ts"],"sourcesContent":["module.exports = flarum.extensions['fof-user-directory'];","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// 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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/DiscussionListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionComposer'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Notification'];","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class SelectBestAnswerNotification extends Notification {\n icon() {\n return 'fas fa-comment-dots';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n return app.translator.trans('fof-best-answer.forum.notification.content');\n }\n\n excerpt() {\n return null;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/PostControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/CommentPost'];","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport PostControls from 'flarum/forum/utils/PostControls';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport CommentPost from 'flarum/forum/components/CommentPost';\n\nexport default () => {\n const ineligible = (discussion, post) => {\n return post.isHidden() || post.number() === 1 || !discussion.canSelectBestAnswer() || !app.session.user;\n };\n\n const blockSelectOwnPost = (post) => {\n return !app.forum.attribute('canSelectBestAnswerOwnPost') && post.user() && post.user().id() === app.session.user.id();\n };\n\n const isThisBestAnswer = (discussion, post) => {\n return discussion.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id();\n };\n\n const actionLabel = (isBestAnswer) => {\n return app.translator.trans(isBestAnswer ? 'fof-best-answer.forum.remove_best_answer' : 'fof-best-answer.forum.this_best_answer');\n };\n\n const saveDiscussion = (discussion, isBestAnswer, post) =>\n discussion\n .save(\n {\n bestAnswerPostId: isBestAnswer ? post.id() : 0,\n bestAnswerUserId: app.session.user.id(),\n relationships: isBestAnswer ? { bestAnswerPost: post, bestAnswerUser: app.session.user } : { bestAnswerPost: null },\n },\n {\n params: {\n include: 'tags',\n },\n }\n )\n .then(() => {\n if (!isBestAnswer) {\n delete discussion.data.relationships.bestAnswerPost;\n delete discussion.data.relationships.bestAnswerUser;\n }\n\n if (app.current.matches(DiscussionPage)) {\n app.current.get('stream').update();\n }\n\n m.redraw();\n\n if (isBestAnswer) {\n m.route.set(app.route.discussion(discussion));\n }\n });\n\n extend(PostControls, 'moderationControls', function (items, post) {\n if (app.forum.attribute('useAlternativeBestAnswerUi')) return;\n\n const discussion = post.discussion();\n let isBestAnswer = isThisBestAnswer(discussion, post);\n\n post.pushAttributes({ isBestAnswer });\n\n if (post.contentType() !== 'comment') return;\n\n if (ineligible(discussion, post) || blockSelectOwnPost(post) || !app.current.matches(DiscussionPage)) return;\n\n items.add(\n 'bestAnswer',\n Button.component(\n {\n icon: `fa${isBestAnswer ? 's' : 'r'} fa-comment-dots`,\n onclick: () => {\n isBestAnswer = !isBestAnswer;\n\n saveDiscussion(discussion, isBestAnswer, post).finally(() => {\n isBestAnswer = isThisBestAnswer(discussion, post);\n });\n },\n },\n actionLabel(isBestAnswer)\n )\n );\n });\n\n extend(CommentPost.prototype, 'actionItems', function (items) {\n if (!app.forum.attribute('useAlternativeBestAnswerUi')) return;\n\n const post = this.attrs.post;\n const discussion = this.attrs.post.discussion();\n let isBestAnswer = isThisBestAnswer(discussion, post);\n let hasBestAnswer = discussion.bestAnswerPost() !== false;\n\n post.pushAttributes({ isBestAnswer });\n\n if (ineligible(discussion, post) || blockSelectOwnPost(post) || !app.current.matches(DiscussionPage)) return;\n\n items.add(\n 'bestAnswer',\n Button.component(\n {\n className: `Button Button--${!hasBestAnswer || isBestAnswer ? 'primary' : 'link'}`,\n onclick: function onclick() {\n hasBestAnswer = !hasBestAnswer;\n isBestAnswer = !isBestAnswer;\n\n saveDiscussion(discussion, isBestAnswer, post).finally(() => {\n hasBestAnswer = discussion.hasBestAnswer() && discussion.bestAnswerPost() !== false;\n isBestAnswer = isThisBestAnswer(discussion, post);\n });\n },\n },\n actionLabel(isBestAnswer)\n )\n );\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Post'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/PostMeta'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/userOnline'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","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/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nexport default class SelectBestAnswerItem extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n const { post, discussion } = this.attrs;\n\n this.post = post;\n this.discussion = discussion;\n }\n\n view() {\n return
  • {this.items().toArray()}
  • ;\n }\n\n getSetTime(discussion) {\n if (discussion.bestAnswerSetAt() === null) {\n return;\n }\n return humanTime(discussion.bestAnswerSetAt());\n }\n\n items() {\n const items = new ItemList();\n\n items.add(\n 'post',\n this.post ? (\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.best_answer_button')}\n \n ) : (\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.best_answer_button')}\n \n )\n );\n\n items.add(\n 'user',\n \n {app.translator.trans('fof-best-answer.forum.best_answer_label', {\n user: this.discussion.bestAnswerUser(),\n time_set: this.getSetTime(this.discussion),\n a: m.route.set(app.route.user(this.discussion.bestAnswerUser()))} />,\n })}\n \n );\n\n return items;\n }\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport CommentPost from 'flarum/forum/components/CommentPost';\nimport PostComponent from 'flarum/forum/components/Post';\nimport PostMeta from 'flarum/forum/components/PostMeta';\nimport username from 'flarum/common/helpers/username';\nimport userOnline from 'flarum/common/helpers/userOnline';\nimport Link from 'flarum/common/components/Link';\nimport classList from 'flarum/common/utils/classList';\n\nimport SelectBestAnswerItem from './components/SelectBestAnswerItem';\n\nexport default () => {\n extend(CommentPost.prototype, 'headerItems', function (items) {\n const post = this.attrs.post;\n const discussion = post.discussion();\n\n if (discussion?.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id() && !post.isHidden()) {\n items.add(\n 'isBestAnswer',\n SelectBestAnswerItem.component({\n post,\n discussion: post.discussion(),\n })\n );\n }\n });\n\n extend(CommentPost.prototype, 'footerItems', function (items) {\n const thisPost = this.attrs.post;\n const discussion = thisPost.discussion();\n const post = discussion.hasBestAnswer() && discussion.bestAnswerPost();\n\n const maxLines = app.forum.attribute('fof-best-answer.show_max_lines');\n\n if (post && !post.isHidden() && thisPost.number() === 1 && !thisPost.isHidden()) {\n const user = post.user();\n\n items.add(\n 'bestAnswerPost',\n
    app.current.get('stream').goToNumber(post.number())}>\n
    \n
      \n
    • \n
      \n {user && userOnline(user)}\n

      {user ? {username(user)} : username(user)}

      \n
      \n
    • \n {post.discussion() &&
    • {PostMeta.component({ post })}
    • }\n {SelectBestAnswerItem.component({\n post,\n discussion,\n })}\n
    \n
    \n
    0 && 'Post-body--truncate')} style={{ '--max-lines': maxLines }}>\n {m.trust(post.contentHtml())}\n
    \n
    ,\n -10\n );\n }\n });\n\n extend(PostComponent.prototype, 'elementAttrs', function (elementAttrs) {\n const post = this.attrs.post;\n const discussion = post.discussion();\n\n if (discussion?.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id() && !post.isHidden()) {\n elementAttrs.className ? (elementAttrs.className += ' Post--bestAnswer') : (elementAttrs.className = 'Post--bestAnswer');\n }\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import Badge, { IBadgeAttrs } from 'flarum/common/components/Badge';\nimport app from 'flarum/forum/app';\n\nexport default class BestAnswerBadge extends Badge {\n static initAttrs(attrs: IBadgeAttrs) {\n attrs.type = 'bestAnswer';\n attrs.icon = 'fas fa-check';\n attrs.label = app.translator.trans('fof-best-answer.forum.answered_badge') as string;\n }\n}\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class AwardedBestAnswerNotification extends Notification {\n icon() {\n return 'fas fa-check';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n const user = this.attrs.notification.fromUser();\n return app.translator.trans('fof-best-answer.forum.notification.awarded', {\n user: user,\n });\n }\n\n excerpt() {\n return null;\n }\n}\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class BestAnswerInDiscussionNotification extends Notification {\n icon() {\n return 'fas fa-check';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n const user = this.attrs.notification.fromUser();\n return app.translator.trans('fof-best-answer.forum.notification.best_answer_in_discussion', {\n user: user,\n });\n }\n\n excerpt() {\n return null;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationGrid'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/UserCard'];","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { override } from 'flarum/common/extend';\n\nexport default () => {\n const FoFUserDirectory = require('@fof-user-directory');\n\n if (!FoFUserDirectory) return;\n\n override(FoFUserDirectory.SortMap.prototype, 'sortMap', (map) => ({\n ...map(),\n most_best_answers: '-bestAnswerCount',\n least_best_answers: 'bestAnswerCount',\n }));\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Search'];","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/highlight'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/helpers/tagsLabel'];","import app from 'flarum/forum/app';\nimport highlight from 'flarum/common/helpers/highlight';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Link from 'flarum/common/components/Link';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport { SearchSource } from 'flarum/forum/components/Search';\nimport type Mithril from 'mithril';\nimport BestAnswerBadge from './BestAnswerBadge';\nimport tagsLabel from 'flarum/tags/helpers/tagsLabel';\n\nexport default class SolutionSearchSource implements SearchSource {\n protected results = new Map();\n\n async search(query: string): Promise {\n query = query.toLowerCase();\n\n this.results.set(query, []);\n\n const params = {\n filter: { q: query + ' is:solved' },\n page: { limit: 3 },\n include: 'mostRelevantPost,bestAnswerPost,tags',\n };\n\n return app.store.find('discussions', params).then((results) => {\n this.results.set(query, results);\n m.redraw();\n });\n }\n\n view(query: string): Array {\n query = query.toLowerCase();\n\n const results = (this.results.get(query) || []).map((discussion) => {\n const bestAnswerPost = discussion.bestAnswerPost();\n const mostRelevantPost = discussion.mostRelevantPost();\n const tags = discussion.tags();\n\n return (\n
  • \n \n
    {tagsLabel(tags)}
    \n
    {highlight(discussion.title(), query)}
    \n {!!mostRelevantPost && (\n
    {highlight(mostRelevantPost.contentPlain() ?? '', query, 100)}
    \n )}\n {!!bestAnswerPost && (\n
    \n {highlight(bestAnswerPost.contentPlain() ?? '', query, 100)}\n
    \n )}\n \n
  • \n );\n }) as Array;\n\n return [\n
  • \n {app.translator.trans('fof-best-answer.forum.search.discussions_solutions_heading')}\n
  • ,\n
  • \n \n {app.translator.trans('fof-best-answer.forum.search.all_discussions_solutions_button', { query })}\n \n
  • ,\n ...results,\n ];\n }\n}\n","import SelectBestAnswerItem from './SelectBestAnswerItem';\nimport SolutionSearchSource from './SolutionSearchSource';\n\nexport const components = {\n SelectBestAnswerItem,\n SolutionSearchSource,\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extenders'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","import Extend from 'flarum/common/extenders';\nimport Tag from 'flarum/tags/models/Tag';\n\nexport default [\n new Extend.Model(Tag) //\n .attribute('isQnA')\n .attribute('reminders'),\n];\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","import Discussion from 'flarum/common/models/Discussion';\nimport commonExtend from '../common/extend';\nimport Extend from 'flarum/common/extenders';\nimport Post from 'flarum/common/models/Post';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\n\nexport default [\n ...commonExtend,\n\n new Extend.Model(Discussion) //\n .hasOne('bestAnswerPost')\n .hasOne('bestAnswerUser')\n .attribute('hasBestAnswer')\n .attribute('canSelectBestAnswer')\n .attribute('bestAnswerSetAt', Model.transformDate),\n\n new Extend.Model(User) //\n .attribute('bestAnswerCount'),\n];\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Button from 'flarum/common/components/Button';\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\n\nimport SelectBestAnswerNotification from './components/SelectBestAnswerNotification';\nimport addBestAnswerAction from './addBestAnswerAction';\nimport addBestAnswerView from './addBestAnswerView';\nimport addAnsweredBadge from './addAnsweredBadge';\nimport AwardedBestAnswerNotification from './components/AwardedBestAnswerNotification';\nimport BestAnswerInDiscussionNotification from './components/BestAnswerInDiscussionNotification';\nimport extendNotifications from './extenders/extendNotifications';\nimport addBestAnswerCountToUsers from './addBestAnswerCountToUsers';\nimport addBestAnswerCountSort from '../common/addBestAnswerCountSort';\nimport extendSearch from './extenders/extendSearch';\n\nexport * from './components';\n\nexport { default as extend } from './extend';\n\napp.initializers.add('fof/best-answer', () => {\n app.notificationComponents.selectBestAnswer = SelectBestAnswerNotification;\n app.notificationComponents.awardedBestAnswer = AwardedBestAnswerNotification;\n app.notificationComponents.bestAnswerInDiscussion = BestAnswerInDiscussionNotification;\n\n addAnsweredBadge();\n addBestAnswerAction();\n addBestAnswerView();\n addBestAnswerCountToUsers();\n addBestAnswerCountSort();\n\n extendNotifications();\n extendSearch();\n\n extend(IndexPage.prototype, 'sidebarItems', function (items) {\n const tag = this.currentTag();\n\n if (!tag?.isQnA?.()) return;\n\n const canStartDiscussion = app.forum.attribute('canStartDiscussion') || !app.session.user;\n const cta = items.get('newDiscussion');\n cta.children = app.translator.trans(\n canStartDiscussion ? 'fof-best-answer.forum.index.ask_question' : 'fof-best-answer.forum.index.cannot_ask_question'\n );\n\n if (items.has('startDiscussion')) {\n items.setContent('startDiscussion', cta);\n }\n });\n\n extend(IndexPage.prototype, 'viewItems', function (items) {\n if (!app.forum.attribute('showBestAnswerFilterUi')) {\n return;\n }\n\n const tag = this.currentTag();\n\n if (!tag?.isQnA?.()) {\n if (app.discussions.bestAnswer) {\n delete app.discussions.bestAnswer;\n app.discussions.refresh();\n }\n\n return;\n }\n\n const options = ['all', 'solved', 'unsolved'];\n\n const selected = app.discussions.bestAnswer;\n\n items.add(\n 'solved-filter',\n Dropdown.component(\n {\n buttonClassName: 'Button',\n label: app.translator.trans(\n `fof-best-answer.forum.filter.${options[selected] || Object.keys(options).map((key) => options[key])[0]}_label`\n ),\n accessibleToggleLabel: app.translator.trans('fof-best-answer.forum.filter.accessible_label'),\n },\n Object.keys(options).map((value) => {\n const label = options[value];\n const active = (selected || Object.keys(options)[0]) === value;\n\n return Button.component(\n {\n icon: active ? 'fas fa-check' : true,\n active: active,\n onclick: () => {\n app.discussions.bestAnswer = value;\n if (value === '0') {\n delete app.discussions.bestAnswer;\n }\n app.discussions.refresh();\n },\n },\n app.translator.trans(`fof-best-answer.forum.filter.${label}_label`)\n );\n })\n )\n );\n });\n\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\n if (app.discussions.bestAnswer) {\n const negate = app.discussions.bestAnswer === '2';\n const prepend = negate ? '-' : '';\n\n params.filter[`${prepend}solved-discussions`] = true;\n\n if (params.filter.q) {\n params.filter.q += ` ${prepend}is:solved`;\n }\n }\n });\n\n extend(DiscussionComposer.prototype, 'headerItems', function (items) {\n const tags = this.composer.fields.tags;\n if (tags === undefined) return;\n\n const qna = tags.some((t) => t.isQnA());\n\n if (!qna) return;\n\n this.attrs.titlePlaceholder = app.translator.trans('fof-best-answer.forum.composer.titlePlaceholder');\n\n if (items.has('discussionTitle')) {\n items.setContent(\n 'discussionTitle',\n

    \n \n

    \n );\n }\n });\n});\n","import { extend } from 'flarum/common/extend';\nimport Discussion from 'flarum/common/models/Discussion';\nimport BestAnswerBadge from './components/BestAnswerBadge';\n\nexport default function () {\n extend(Discussion.prototype, 'badges', function (this: Discussion, items) {\n if (this.hasBestAnswer() && !items.has('hidden')) {\n items.add('bestAnswer', );\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport UserCard from 'flarum/forum/components/UserCard';\nimport icon from 'flarum/common/helpers/icon';\n\nimport type Mithril from 'mithril';\n\nexport default function addBestAnswerCountToUsers() {\n extend(UserCard.prototype, 'infoItems', function (items: ItemList) {\n const user = this.attrs.user;\n\n items.add(\n 'best-answer-count',\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.user.best-answer-count', {\n count: user.bestAnswerCount(),\n })}\n ,\n 55\n );\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport NotificationGrid from 'flarum/forum/components/NotificationGrid';\nimport type Mithril from 'mithril';\n\nexport default function () {\n extend(NotificationGrid.prototype, 'notificationTypes', function (items: ItemList<{ name: string; icon: string; label: Mithril.Children }>) {\n items.add('awardedBestAnswer', {\n name: 'awardedBestAnswer',\n icon: 'fas fa-check',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.awarded_best_answer'),\n });\n items.add('bestAnswerInDiscussion', {\n name: 'bestAnswerInDiscussion',\n icon: 'fas fa-check',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.best_answer_in_discussion'),\n });\n items.add('selectBestAnswer', {\n name: 'selectBestAnswer',\n icon: 'fas fa-stopwatch',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.select_best_answer'),\n });\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Search, { SearchSource } from 'flarum/forum/components/Search';\nimport SolutionSearchSource from '../components/SolutionSearchSource';\n\nexport default function extendSearch() {\n extend(Search.prototype, 'sourceItems', function (items: ItemList) {\n if (app.forum.attribute('solutionSearchEnabled')) {\n items.add('solution', new SolutionSearchSource(), 110);\n }\n });\n}\n"],"names":["module","exports","flarum","extensions","_typeof","require","_regeneratorRuntime","e","__esModule","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","key","get","obj","prop","core","compat","_setPrototypeOf","bind","_inheritsLoose","subClass","superClass","SelectBestAnswerNotification","_Notification","apply","arguments","_proto","icon","href","discussion","attrs","notification","subject","app","content","trans","excerpt","Notification","SelectBestAnswerItem","_Component","oninit","vnode","_this$attrs","post","view","m","className","items","toArray","getSetTime","bestAnswerSetAt","humanTime","_this","ItemList","add","Link","number","user","bestAnswerUser","time_set","onclick","route","set","Component","BestAnswerBadge","_Badge","initAttrs","label","Badge","AwardedBestAnswerNotification","fromUser","BestAnswerInDiscussionNotification","_extends","assign","target","source","asyncGeneratorStep","gen","reject","_next","_throw","info","error","SolutionSearchSource","results","Map","search","fn","_search","_callee","query","params","_context","toLowerCase","filter","q","page","limit","include","find","redraw","self","args","err","_x","map","_mostRelevantPost$con","_bestAnswerPost$conte","bestAnswerPost","mostRelevantPost","tags","id","tagsLabel","highlight","title","contentPlain","LinkButton","concat","components","Extend","Tag","attribute","commonExtend","Discussion","hasOne","Model","User","ineligible","blockSelectOwnPost","isThisBestAnswer","actionLabel","saveDiscussion","FoFUserDirectory","selectBestAnswer","awardedBestAnswer","bestAnswerInDiscussion","extend","hasBestAnswer","has","isHidden","canSelectBestAnswer","isBestAnswer","save","bestAnswerPostId","bestAnswerUserId","relationships","data","matches","DiscussionPage","update","PostControls","pushAttributes","contentType","Button","CommentPost","component","thisPost","maxLines","goToNumber","userOnline","username","PostMeta","classList","style","trust","contentHtml","PostComponent","elementAttrs","UserCard","count","bestAnswerCount","override","SortMap","most_best_answers","least_best_answers","NotificationGrid","Search","IndexPage","tag","currentTag","isQnA","canStartDiscussion","cta","children","setContent","options","selected","bestAnswer","Dropdown","buttonClassName","accessibleToggleLabel","active","refresh","DiscussionListState","prepend","DiscussionComposer","composer","fields","some","titlePlaceholder","bidi","placeholder","disabled","onkeydown"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":";kCAAAA,EAAOC,QAAUC,OAAOC,WAAW,oCCAnC,IAAIC,EAAUC,EAAAA,KAAAA,QACd,SAASC,IACP,aACAN,EAAOC,QAAUK,EAAsB,WACrC,OAAOC,CACT,EAAGP,EAAOC,QAAQO,YAAa,EAAMR,EAAOC,QAAiB,QAAID,EAAOC,QACxE,IAAIQ,EACFF,EAAI,CAAC,EACLG,EAAIC,OAAOC,UACXC,EAAIH,EAAEI,eACNC,EAAIJ,OAAOK,gBAAkB,SAAUP,EAAGF,EAAGG,GAC3CD,EAAEF,GAAKG,EAAEO,KACX,EACAC,EAAI,mBAAqBC,OAASA,OAAS,CAAC,EAC5CC,EAAIF,EAAEG,UAAY,aAClBC,EAAIJ,EAAEK,eAAiB,kBACvBC,EAAIN,EAAEO,aAAe,gBACvB,SAASC,EAAOjB,EAAGF,EAAGG,GACpB,OAAOC,OAAOK,eAAeP,EAAGF,EAAG,CACjCU,MAAOP,EACPiB,YAAY,EACZC,cAAc,EACdC,UAAU,IACRpB,EAAEF,EACR,CACA,IACEmB,EAAO,CAAC,EAAG,GACb,CAAE,MAAOjB,GACPiB,EAAS,SAAgBjB,EAAGF,EAAGG,GAC7B,OAAOD,EAAEF,GAAKG,CAChB,CACF,CACA,SAASoB,EAAKrB,EAAGF,EAAGG,EAAGG,GACrB,IAAIK,EAAIX,GAAKA,EAAEK,qBAAqBmB,EAAYxB,EAAIwB,EAClDX,EAAIT,OAAOqB,OAAOd,EAAEN,WACpBU,EAAI,IAAIW,EAAQpB,GAAK,IACvB,OAAOE,EAAEK,EAAG,UAAW,CACrBH,MAAOiB,EAAiBzB,EAAGC,EAAGY,KAC5BF,CACN,CACA,SAASe,EAAS1B,EAAGF,EAAGG,GACtB,IACE,MAAO,CACL0B,KAAM,SACNC,IAAK5B,EAAE6B,KAAK/B,EAAGG,GAEnB,CAAE,MAAOD,GACP,MAAO,CACL2B,KAAM,QACNC,IAAK5B,EAET,CACF,CACAF,EAAEuB,KAAOA,EACT,IAAIS,EAAI,iBACNC,EAAI,iBACJC,EAAI,YACJC,EAAI,YACJC,EAAI,CAAC,EACP,SAASZ,IAAa,CACtB,SAASa,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIC,EAAI,CAAC,EACTpB,EAAOoB,EAAG1B,GAAG,WACX,OAAO2B,IACT,IACA,IAAIC,EAAIrC,OAAOsC,eACbC,EAAIF,GAAKA,EAAEA,EAAEG,EAAO,MACtBD,GAAKA,IAAMxC,GAAKG,EAAEyB,KAAKY,EAAG9B,KAAO0B,EAAII,GACrC,IAAIE,EAAIP,EAA2BjC,UAAYmB,EAAUnB,UAAYD,OAAOqB,OAAOc,GACnF,SAASO,EAAsB5C,GAC7B,CAAC,OAAQ,QAAS,UAAU6C,SAAQ,SAAU/C,GAC5CmB,EAAOjB,EAAGF,GAAG,SAAUE,GACrB,OAAOsC,KAAKQ,QAAQhD,EAAGE,EACzB,GACF,GACF,CACA,SAAS+C,EAAc/C,EAAGF,GACxB,SAASkD,EAAO/C,EAAGK,EAAGG,EAAGE,GACvB,IAAIE,EAAIa,EAAS1B,EAAEC,GAAID,EAAGM,GAC1B,GAAI,UAAYO,EAAEc,KAAM,CACtB,IAAIZ,EAAIF,EAAEe,IACRE,EAAIf,EAAEP,MACR,OAAOsB,GAAK,UAAYnC,EAAQmC,IAAM1B,EAAEyB,KAAKC,EAAG,WAAahC,EAAEmD,QAAQnB,EAAEoB,SAASC,MAAK,SAAUnD,GAC/FgD,EAAO,OAAQhD,EAAGS,EAAGE,EACvB,IAAG,SAAUX,GACXgD,EAAO,QAAShD,EAAGS,EAAGE,EACxB,IAAKb,EAAEmD,QAAQnB,GAAGqB,MAAK,SAAUnD,GAC/Be,EAAEP,MAAQR,EAAGS,EAAEM,EACjB,IAAG,SAAUf,GACX,OAAOgD,EAAO,QAAShD,EAAGS,EAAGE,EAC/B,GACF,CACAA,EAAEE,EAAEe,IACN,CACA,IAAI3B,EACJK,EAAEgC,KAAM,UAAW,CACjB9B,MAAO,SAAeR,EAAGI,GACvB,SAASgD,IACP,OAAO,IAAItD,GAAE,SAAUA,EAAGG,GACxB+C,EAAOhD,EAAGI,EAAGN,EAAGG,EAClB,GACF,CACA,OAAOA,EAAIA,EAAIA,EAAEkD,KAAKC,EAA4BA,GAA8BA,GAClF,GAEJ,CACA,SAAS3B,EAAiB3B,EAAGG,EAAGG,GAC9B,IAAIE,EAAIwB,EACR,OAAO,SAAUrB,EAAGE,GAClB,GAAIL,IAAM0B,EAAG,MAAMqB,MAAM,gCACzB,GAAI/C,IAAM2B,EAAG,CACX,GAAI,UAAYxB,EAAG,MAAME,EACzB,MAAO,CACLH,MAAOR,EACPsD,MAAM,EAEV,CACA,IAAKlD,EAAEmD,OAAS9C,EAAGL,EAAEwB,IAAMjB,IAAK,CAC9B,IAAIE,EAAIT,EAAEoD,SACV,GAAI3C,EAAG,CACL,IAAIE,EAAI0C,EAAoB5C,EAAGT,GAC/B,GAAIW,EAAG,CACL,GAAIA,IAAMmB,EAAG,SACb,OAAOnB,CACT,CACF,CACA,GAAI,SAAWX,EAAEmD,OAAQnD,EAAEsD,KAAOtD,EAAEuD,MAAQvD,EAAEwB,SAAS,GAAI,UAAYxB,EAAEmD,OAAQ,CAC/E,GAAIjD,IAAMwB,EAAG,MAAMxB,EAAI2B,EAAG7B,EAAEwB,IAC5BxB,EAAEwD,kBAAkBxD,EAAEwB,IACxB,KAAO,WAAaxB,EAAEmD,QAAUnD,EAAEyD,OAAO,SAAUzD,EAAEwB,KACrDtB,EAAI0B,EACJ,IAAIK,EAAIX,EAAS5B,EAAGG,EAAGG,GACvB,GAAI,WAAaiC,EAAEV,KAAM,CACvB,GAAIrB,EAAIF,EAAEkD,KAAOrB,EAAIF,EAAGM,EAAET,MAAQM,EAAG,SACrC,MAAO,CACL1B,MAAO6B,EAAET,IACT0B,KAAMlD,EAAEkD,KAEZ,CACA,UAAYjB,EAAEV,OAASrB,EAAI2B,EAAG7B,EAAEmD,OAAS,QAASnD,EAAEwB,IAAMS,EAAET,IAC9D,CACF,CACF,CACA,SAAS6B,EAAoB3D,EAAGG,GAC9B,IAAIG,EAAIH,EAAEsD,OACRjD,EAAIR,EAAEc,SAASR,GACjB,GAAIE,IAAMN,EAAG,OAAOC,EAAEuD,SAAW,KAAM,UAAYpD,GAAKN,EAAEc,SAAiB,SAAMX,EAAEsD,OAAS,SAAUtD,EAAE2B,IAAM5B,EAAGyD,EAAoB3D,EAAGG,GAAI,UAAYA,EAAEsD,SAAW,WAAanD,IAAMH,EAAEsD,OAAS,QAAStD,EAAE2B,IAAM,IAAIkC,UAAU,oCAAsC1D,EAAI,aAAc8B,EAC1R,IAAIzB,EAAIiB,EAASpB,EAAGR,EAAEc,SAAUX,EAAE2B,KAClC,GAAI,UAAYnB,EAAEkB,KAAM,OAAO1B,EAAEsD,OAAS,QAAStD,EAAE2B,IAAMnB,EAAEmB,IAAK3B,EAAEuD,SAAW,KAAMtB,EACrF,IAAIvB,EAAIF,EAAEmB,IACV,OAAOjB,EAAIA,EAAE2C,MAAQrD,EAAEH,EAAEiE,YAAcpD,EAAEH,MAAOP,EAAE+D,KAAOlE,EAAEmE,QAAS,WAAahE,EAAEsD,SAAWtD,EAAEsD,OAAS,OAAQtD,EAAE2B,IAAM5B,GAAIC,EAAEuD,SAAW,KAAMtB,GAAKvB,GAAKV,EAAEsD,OAAS,QAAStD,EAAE2B,IAAM,IAAIkC,UAAU,oCAAqC7D,EAAEuD,SAAW,KAAMtB,EAC9P,CACA,SAASgC,EAAalE,GACpB,IAAIF,EAAI,CACNqE,OAAQnE,EAAE,IAEZ,KAAKA,IAAMF,EAAEsE,SAAWpE,EAAE,IAAK,KAAKA,IAAMF,EAAEuE,WAAarE,EAAE,GAAIF,EAAEwE,SAAWtE,EAAE,IAAKsC,KAAKiC,WAAWC,KAAK1E,EAC1G,CACA,SAAS2E,EAAczE,GACrB,IAAIF,EAAIE,EAAE0E,YAAc,CAAC,EACzB5E,EAAE6B,KAAO,gBAAiB7B,EAAE8B,IAAK5B,EAAE0E,WAAa5E,CAClD,CACA,SAAS0B,EAAQxB,GACfsC,KAAKiC,WAAa,CAAC,CACjBJ,OAAQ,SACNnE,EAAE6C,QAAQqB,EAAc5B,MAAOA,KAAKqC,OAAM,EAChD,CACA,SAASjC,EAAO5C,GACd,GAAIA,GAAK,KAAOA,EAAG,CACjB,IAAIG,EAAIH,EAAEa,GACV,GAAIV,EAAG,OAAOA,EAAE4B,KAAK/B,GACrB,GAAI,mBAAqBA,EAAEkE,KAAM,OAAOlE,EACxC,IAAK8E,MAAM9E,EAAE+E,QAAS,CACpB,IAAIvE,GAAK,EACPG,EAAI,SAASuD,IACX,OAAS1D,EAAIR,EAAE+E,QAAS,GAAIzE,EAAEyB,KAAK/B,EAAGQ,GAAI,OAAO0D,EAAKxD,MAAQV,EAAEQ,GAAI0D,EAAKV,MAAO,EAAIU,EACpF,OAAOA,EAAKxD,MAAQR,EAAGgE,EAAKV,MAAO,EAAIU,CACzC,EACF,OAAOvD,EAAEuD,KAAOvD,CAClB,CACF,CACA,MAAM,IAAIqD,UAAUnE,EAAQG,GAAK,mBACnC,CACA,OAAOqC,EAAkBhC,UAAYiC,EAA4B9B,EAAEqC,EAAG,cAAe,CACnFnC,MAAO4B,EACPjB,cAAc,IACZb,EAAE8B,EAA4B,cAAe,CAC/C5B,MAAO2B,EACPhB,cAAc,IACZgB,EAAkB2C,YAAc7D,EAAOmB,EAA4BrB,EAAG,qBAAsBjB,EAAEiF,oBAAsB,SAAU/E,GAChI,IAAIF,EAAI,mBAAqBE,GAAKA,EAAEgF,YACpC,QAASlF,IAAMA,IAAMqC,GAAqB,uBAAyBrC,EAAEgF,aAAehF,EAAEmF,MACxF,EAAGnF,EAAEoF,KAAO,SAAUlF,GACpB,OAAOE,OAAOiF,eAAiBjF,OAAOiF,eAAenF,EAAGoC,IAA+BpC,EAAEoF,UAAYhD,EAA4BnB,EAAOjB,EAAGe,EAAG,sBAAuBf,EAAEG,UAAYD,OAAOqB,OAAOoB,GAAI3C,CACvM,EAAGF,EAAEuF,MAAQ,SAAUrF,GACrB,MAAO,CACLkD,QAASlD,EAEb,EAAG4C,EAAsBG,EAAc5C,WAAYc,EAAO8B,EAAc5C,UAAWU,GAAG,WACpF,OAAOyB,IACT,IAAIxC,EAAEiD,cAAgBA,EAAejD,EAAEwF,MAAQ,SAAUtF,EAAGC,EAAGG,EAAGE,EAAGG,QACnE,IAAWA,IAAMA,EAAI8E,SACrB,IAAI5E,EAAI,IAAIoC,EAAc1B,EAAKrB,EAAGC,EAAGG,EAAGE,GAAIG,GAC5C,OAAOX,EAAEiF,oBAAoB9E,GAAKU,EAAIA,EAAEqD,OAAOb,MAAK,SAAUnD,GAC5D,OAAOA,EAAEsD,KAAOtD,EAAEQ,MAAQG,EAAEqD,MAC9B,GACF,EAAGpB,EAAsBD,GAAI1B,EAAO0B,EAAG5B,EAAG,aAAcE,EAAO0B,EAAGhC,GAAG,WACnE,OAAO2B,IACT,IAAIrB,EAAO0B,EAAG,YAAY,WACxB,MAAO,oBACT,IAAI7C,EAAE0F,KAAO,SAAUxF,GACrB,IAAIF,EAAII,OAAOF,GACbC,EAAI,GACN,IAAK,IAAIG,KAAKN,EAAGG,EAAEuE,KAAKpE,GACxB,OAAOH,EAAEwF,UAAW,SAASzB,IAC3B,KAAO/D,EAAE4E,QAAS,CAChB,IAAI7E,EAAIC,EAAEyF,MACV,GAAI1F,KAAKF,EAAG,OAAOkE,EAAKxD,MAAQR,EAAGgE,EAAKV,MAAO,EAAIU,CACrD,CACA,OAAOA,EAAKV,MAAO,EAAIU,CACzB,CACF,EAAGlE,EAAE4C,OAASA,EAAQlB,EAAQrB,UAAY,CACxC6E,YAAaxD,EACbmD,MAAO,SAAe7E,GACpB,GAAIwC,KAAKqD,KAAO,EAAGrD,KAAK0B,KAAO,EAAG1B,KAAKoB,KAAOpB,KAAKqB,MAAQ3D,EAAGsC,KAAKgB,MAAO,EAAIhB,KAAKkB,SAAW,KAAMlB,KAAKiB,OAAS,OAAQjB,KAAKV,IAAM5B,EAAGsC,KAAKiC,WAAW1B,QAAQ4B,IAAiB3E,EAAG,IAAK,IAAIG,KAAKqC,KAAM,MAAQrC,EAAE2F,OAAO,IAAMxF,EAAEyB,KAAKS,KAAMrC,KAAO2E,OAAO3E,EAAE4F,MAAM,MAAQvD,KAAKrC,GAAKD,EACtR,EACA8F,KAAM,WACJxD,KAAKgB,MAAO,EACZ,IAAItD,EAAIsC,KAAKiC,WAAW,GAAGG,WAC3B,GAAI,UAAY1E,EAAE2B,KAAM,MAAM3B,EAAE4B,IAChC,OAAOU,KAAKyD,IACd,EACAnC,kBAAmB,SAA2B9D,GAC5C,GAAIwC,KAAKgB,KAAM,MAAMxD,EACrB,IAAIG,EAAIqC,KACR,SAAS0D,EAAO5F,EAAGE,GACjB,OAAOK,EAAEgB,KAAO,QAAShB,EAAEiB,IAAM9B,EAAGG,EAAE+D,KAAO5D,EAAGE,IAAML,EAAEsD,OAAS,OAAQtD,EAAE2B,IAAM5B,KAAMM,CACzF,CACA,IAAK,IAAIA,EAAIgC,KAAKiC,WAAWM,OAAS,EAAGvE,GAAK,IAAKA,EAAG,CACpD,IAAIG,EAAI6B,KAAKiC,WAAWjE,GACtBK,EAAIF,EAAEiE,WACR,GAAI,SAAWjE,EAAE0D,OAAQ,OAAO6B,EAAO,OACvC,GAAIvF,EAAE0D,QAAU7B,KAAKqD,KAAM,CACzB,IAAI9E,EAAIT,EAAEyB,KAAKpB,EAAG,YAChBM,EAAIX,EAAEyB,KAAKpB,EAAG,cAChB,GAAII,GAAKE,EAAG,CACV,GAAIuB,KAAKqD,KAAOlF,EAAE2D,SAAU,OAAO4B,EAAOvF,EAAE2D,UAAU,GACtD,GAAI9B,KAAKqD,KAAOlF,EAAE4D,WAAY,OAAO2B,EAAOvF,EAAE4D,WAChD,MAAO,GAAIxD,GACT,GAAIyB,KAAKqD,KAAOlF,EAAE2D,SAAU,OAAO4B,EAAOvF,EAAE2D,UAAU,OACjD,CACL,IAAKrD,EAAG,MAAMsC,MAAM,0CACpB,GAAIf,KAAKqD,KAAOlF,EAAE4D,WAAY,OAAO2B,EAAOvF,EAAE4D,WAChD,CACF,CACF,CACF,EACAR,OAAQ,SAAgB7D,EAAGF,GACzB,IAAK,IAAIG,EAAIqC,KAAKiC,WAAWM,OAAS,EAAG5E,GAAK,IAAKA,EAAG,CACpD,IAAIK,EAAIgC,KAAKiC,WAAWtE,GACxB,GAAIK,EAAE6D,QAAU7B,KAAKqD,MAAQvF,EAAEyB,KAAKvB,EAAG,eAAiBgC,KAAKqD,KAAOrF,EAAE+D,WAAY,CAChF,IAAI5D,EAAIH,EACR,KACF,CACF,CACAG,IAAM,UAAYT,GAAK,aAAeA,IAAMS,EAAE0D,QAAUrE,GAAKA,GAAKW,EAAE4D,aAAe5D,EAAI,MACvF,IAAIE,EAAIF,EAAIA,EAAEiE,WAAa,CAAC,EAC5B,OAAO/D,EAAEgB,KAAO3B,EAAGW,EAAEiB,IAAM9B,EAAGW,GAAK6B,KAAKiB,OAAS,OAAQjB,KAAK0B,KAAOvD,EAAE4D,WAAYnC,GAAKI,KAAK2D,SAAStF,EACxG,EACAsF,SAAU,SAAkBjG,EAAGF,GAC7B,GAAI,UAAYE,EAAE2B,KAAM,MAAM3B,EAAE4B,IAChC,MAAO,UAAY5B,EAAE2B,MAAQ,aAAe3B,EAAE2B,KAAOW,KAAK0B,KAAOhE,EAAE4B,IAAM,WAAa5B,EAAE2B,MAAQW,KAAKyD,KAAOzD,KAAKV,IAAM5B,EAAE4B,IAAKU,KAAKiB,OAAS,SAAUjB,KAAK0B,KAAO,OAAS,WAAahE,EAAE2B,MAAQ7B,IAAMwC,KAAK0B,KAAOlE,GAAIoC,CAC1N,EACAgE,OAAQ,SAAgBlG,GACtB,IAAK,IAAIF,EAAIwC,KAAKiC,WAAWM,OAAS,EAAG/E,GAAK,IAAKA,EAAG,CACpD,IAAIG,EAAIqC,KAAKiC,WAAWzE,GACxB,GAAIG,EAAEoE,aAAerE,EAAG,OAAOsC,KAAK2D,SAAShG,EAAEyE,WAAYzE,EAAEqE,UAAWG,EAAcxE,GAAIiC,CAC5F,CACF,EACA,MAAS,SAAgBlC,GACvB,IAAK,IAAIF,EAAIwC,KAAKiC,WAAWM,OAAS,EAAG/E,GAAK,IAAKA,EAAG,CACpD,IAAIG,EAAIqC,KAAKiC,WAAWzE,GACxB,GAAIG,EAAEkE,SAAWnE,EAAG,CAClB,IAAII,EAAIH,EAAEyE,WACV,GAAI,UAAYtE,EAAEuB,KAAM,CACtB,IAAIrB,EAAIF,EAAEwB,IACV6C,EAAcxE,EAChB,CACA,OAAOK,CACT,CACF,CACA,MAAM+C,MAAM,wBACd,EACA8C,cAAe,SAAuBrG,EAAGG,EAAGG,GAC1C,OAAOkC,KAAKkB,SAAW,CACrB5C,SAAU8B,EAAO5C,GACjBiE,WAAY9D,EACZgE,QAAS7D,GACR,SAAWkC,KAAKiB,SAAWjB,KAAKV,IAAM5B,GAAIkC,CAC/C,GACCpC,CACL,CACAP,EAAOC,QAAUK,EAAqBN,EAAOC,QAAQO,YAAa,EAAMR,EAAOC,QAAiB,QAAID,EAAOC,iBC/S3G,SAASG,EAAQW,GAGf,OAAQf,EAAOC,QAAUG,EAAU,mBAAqBe,QAAU,iBAAmBA,OAAOE,SAAW,SAAUN,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBI,QAAUJ,EAAE0E,cAAgBtE,QAAUJ,IAAMI,OAAOP,UAAY,gBAAkBG,CACpH,EAAGf,EAAOC,QAAQO,YAAa,EAAMR,EAAOC,QAAiB,QAAID,EAAOC,QAAUG,EAAQW,EAC5F,CACAf,EAAOC,QAAUG,EAASJ,EAAOC,QAAQO,YAAa,EAAMR,EAAOC,QAAiB,QAAID,EAAOC,uBCP/F,IAAI4G,EAAUxG,EAAQ,GAARA,GACdL,EAAOC,QAAU4G,EAGjB,IACEC,mBAAqBD,CACvB,CAAE,MAAOE,GACmB,iBAAfC,WACTA,WAAWF,mBAAqBD,EAEhCI,SAAS,IAAK,yBAAdA,CAAwCJ,EAE5C,ICbIK,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAapH,QAGrB,IAAID,EAASkH,EAAyBE,GAAY,CAGjDnH,QAAS,CAAC,GAOX,OAHAsH,EAAoBH,GAAUpH,EAAQA,EAAOC,QAASkH,GAG/CnH,EAAOC,OACf,CCrBAkH,EAAoBtG,EAAKb,IACxB,IAAIwH,EAASxH,GAAUA,EAAOQ,WAC7B,IAAOR,EAAiB,QACxB,IAAM,EAEP,OADAmH,EAAoBnE,EAAEwE,EAAQ,CAAEpG,EAAGoG,IAC5BA,CAAM,ECLdL,EAAoBnE,EAAI,CAAC/C,EAASwH,KACjC,IAAI,IAAIC,KAAOD,EACXN,EAAoBpG,EAAE0G,EAAYC,KAASP,EAAoBpG,EAAEd,EAASyH,IAC5E/G,OAAOK,eAAef,EAASyH,EAAK,CAAE/F,YAAY,EAAMgG,IAAKF,EAAWC,IAE1E,ECNDP,EAAoBpG,EAAI,CAAC6G,EAAKC,IAAUlH,OAAOC,UAAUE,eAAewB,KAAKsF,EAAKC,GCClFV,EAAoBzG,EAAKT,IACH,oBAAXkB,QAA0BA,OAAOM,aAC1Cd,OAAOK,eAAef,EAASkB,OAAOM,YAAa,CAAER,MAAO,WAE7DN,OAAOK,eAAef,EAAS,aAAc,CAAEgB,OAAO,GAAO,8ECL9D,MAAM,EAA+Bf,OAAO4H,KAAKC,OAAO,0BCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,iBCAlD,EAA+B7H,OAAO4H,KAAKC,OAAO,2CCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,2CCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,yCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,iDCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,oDCAxD,SAASC,EAAgBvH,EAAGF,GAC1B,OAAOyH,EAAkBrH,OAAOiF,eAAiBjF,OAAOiF,eAAeqC,OAAS,SAAUxH,EAAGF,GAC3F,OAAOE,EAAEoF,UAAYtF,EAAGE,CAC1B,EAAGuH,EAAgBvH,EAAGF,EACxB,CCHA,SAAS2H,EAAezH,EAAGM,GACzBN,EAAEG,UAAYD,OAAOqB,OAAOjB,EAAEH,WAAYH,EAAEG,UAAU6E,YAAchF,EAAGmF,EAAenF,EAAGM,EAC3F,CCHA,MAAM,EAA+Bb,OAAO4H,KAAKC,OAAO,8CCGnCI,EAA4B,SAAAC,GAAA,SAAAD,IAAA,OAAAC,EAAAC,MAAA,KAAAC,YAAA,KAAAJ,EAAAC,EAAAC,GAAA,IAAAG,EAAAJ,EAAAvH,UAkB9C,OAlB8C2H,EAC/CC,KAAA,WACE,MAAO,qBACT,EAACD,EAEDE,KAAA,WACE,IACMC,EADe3F,KAAK4F,MAAMC,aACAC,UAEhC,OAAOC,IAAAA,MAAUJ,WAAWA,EAC9B,EAACH,EAEDQ,QAAA,WACE,OAAOD,IAAAA,WAAeE,MAAM,6CAC9B,EAACT,EAEDU,QAAA,WACE,OAAO,IACT,EAACd,CAAA,CAlB8C,CAASe,KCH1D,MAAM,EAA+BhJ,OAAO4H,KAAKC,OAAO,yCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,gDCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,6CCOxD,MCPM,EAA+B7H,OAAO4H,KAAKC,OAAO,sCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,0CCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,wCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,0CCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,uCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,uCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,iCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,oCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,yCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,sCCOnCoB,EAAoB,SAAAC,GAAA,SAAAD,IAAA,OAAAC,EAAAf,MAAA,KAAAC,YAAA,KAAAJ,EAAAiB,EAAAC,GAAA,IAAAb,EAAAY,EAAAvI,UAmDtC,OAnDsC2H,EACvCc,OAAA,SAAOC,GACLF,EAAAxI,UAAMyI,OAAM/G,KAAC,KAAAgH,GAEb,IAAAC,EAA6BxG,KAAK4F,MAA1Ba,EAAID,EAAJC,KAAMd,EAAUa,EAAVb,WAEd3F,KAAKyG,KAAOA,EACZzG,KAAK2F,WAAaA,CACpB,EAACH,EAEDkB,KAAA,WACE,OAAOC,EAAA,MAAIC,UAAU,oBAAoB5G,KAAK6G,QAAQC,UACxD,EAACtB,EAEDuB,WAAA,SAAWpB,GACT,GAAqC,OAAjCA,EAAWqB,kBAGf,OAAOC,IAAUtB,EAAWqB,kBAC9B,EAACxB,EAEDqB,MAAA,WAAQ,IAAAK,EAAA,KACAL,EAAQ,IAAIM,KA4BlB,OA1BAN,EAAMO,IACJ,OACApH,KAAKyG,KACHE,EAAA,YACGlB,IAAK,gBACLM,IAAAA,WAAeE,MAAM,6CAGxBU,EAACU,IAAI,CAAC3B,KAAMK,IAAAA,MAAUU,KAAKzG,KAAKyG,MAAO,cAAazG,KAAKyG,KAAKa,UAC3D7B,IAAK,gBACLM,IAAAA,WAAeE,MAAM,8CAK5BY,EAAMO,IACJ,OACAT,EAAA,QAAMC,UAAU,oBACbb,IAAAA,WAAeE,MAAM,0CAA2C,CAC/DsB,KAAMvH,KAAK2F,WAAW6B,iBACtBC,SAAUzH,KAAK+G,WAAW/G,KAAK2F,YAC/BtH,EAAGsI,EAAA,KAAGe,QAAS,kBAAMf,EAAEgB,MAAMC,IAAI7B,IAAAA,MAAUwB,KAAKL,EAAKvB,WAAW6B,kBAAkB,QAKjFX,CACT,EAACT,CAAA,CAnDsC,CAASyB,KCOlD,MCdM,EAA+B1K,OAAO4H,KAAKC,OAAO,yCCAxD,MAAM,EAA+B7H,OAAO4H,KAAKC,OAAO,+BCGnC8C,EAAe,SAAAC,GAAA,SAAAD,IAAA,OAAAC,EAAAzC,MAAA,KAAAC,YAAA,KAKjC,OALiCJ,EAAA2C,EAAAC,GAAAD,EAC3BE,UAAP,SAAiBpC,GACfA,EAAMvG,KAAO,aACbuG,EAAMH,KAAO,eACbG,EAAMqC,MAAQlC,IAAAA,WAAeE,MAAM,uCACrC,EAAC6B,CAAA,CALiC,OAASI,ICAxBC,EAA6B,SAAA9C,GAAA,SAAA8C,IAAA,OAAA9C,EAAAC,MAAA,KAAAC,YAAA,KAAAJ,EAAAgD,EAAA9C,GAAA,IAAAG,EAAA2C,EAAAtK,UAqB/C,OArB+C2H,EAChDC,KAAA,WACE,MAAO,cACT,EAACD,EAEDE,KAAA,WACE,IACMC,EADe3F,KAAK4F,MAAMC,aACAC,UAEhC,OAAOC,IAAAA,MAAUJ,WAAWA,EAC9B,EAACH,EAEDQ,QAAA,WACE,IAAMuB,EAAOvH,KAAK4F,MAAMC,aAAauC,WACrC,OAAOrC,IAAAA,WAAeE,MAAM,6CAA8C,CACxEsB,KAAMA,GAEV,EAAC/B,EAEDU,QAAA,WACE,OAAO,IACT,EAACiC,CAAA,CArB+C,CAAShC,KCAtCkC,EAAkC,SAAAhD,GAAA,SAAAgD,IAAA,OAAAhD,EAAAC,MAAA,KAAAC,YAAA,KAAAJ,EAAAkD,EAAAhD,GAAA,IAAAG,EAAA6C,EAAAxK,UAqBpD,OArBoD2H,EACrDC,KAAA,WACE,MAAO,cACT,EAACD,EAEDE,KAAA,WACE,IACMC,EADe3F,KAAK4F,MAAMC,aACAC,UAEhC,OAAOC,IAAAA,MAAUJ,WAAWA,EAC9B,EAACH,EAEDQ,QAAA,WACE,IAAMuB,EAAOvH,KAAK4F,MAAMC,aAAauC,WACrC,OAAOrC,IAAAA,WAAeE,MAAM,+DAAgE,CAC1FsB,KAAMA,GAEV,EAAC/B,EAEDU,QAAA,WACE,OAAO,IACT,EAACmC,CAAA,CArBoD,CAASlC,KCHhE,MAAM,GAA+BhJ,OAAO4H,KAAKC,OAAO,oDCAxD,MAAM,GAA+B7H,OAAO4H,KAAKC,OAAO,4CCAxD,SAASsD,KACP,OAAOA,GAAW1K,OAAO2K,OAAS3K,OAAO2K,OAAOrD,OAAS,SAAUpH,GACjE,IAAK,IAAIN,EAAI,EAAGA,EAAI+H,UAAUhD,OAAQ/E,IAAK,CACzC,IAAIE,EAAI6H,UAAU/H,GAClB,IAAK,IAAIG,KAAKD,GAAG,CAAG,GAAEK,eAAewB,KAAK7B,EAAGC,KAAOG,EAAEH,GAAKD,EAAEC,GAC/D,CACA,OAAOG,CACT,EAAGwK,GAAShD,MAAM,KAAMC,UAC1B,CCNA,MCFM,GAA+BpI,OAAO4H,KAAKC,OAAO,0CCAxD,SAASwD,GAAmB1K,EAAGJ,EAAGF,EAAGG,EAAGK,EAAGK,EAAGE,GAC5C,IACE,IAAIJ,EAAIL,EAAEO,GAAGE,GACXE,EAAIN,EAAED,KACV,CAAE,MAAOJ,GACP,YAAYN,EAAEM,EAChB,CACAK,EAAE6C,KAAOtD,EAAEe,GAAKwE,QAAQtC,QAAQlC,GAAGoC,KAAKlD,EAAGK,EAC7C,0BCRA,MAAM,GAA+Bb,OAAO4H,KAAKC,OAAO,2CCAxD,MAAM,GAA+B7H,OAAO4H,KAAKC,OAAO,+CCAxD,MAAM,GAA+B7H,OAAO4H,KAAKC,OAAO,yCCUnCyD,GAAoB,oBAAAA,IAAA,KAC7BC,QAAU,IAAIC,GAA2B,KAAAnD,EAAAiD,EAAA5K,UAwDlD,OAxDkD2H,EAE7CoD,OAAM,eJJa9K,EIIb+K,GJJa/K,EIIbP,KAAAA,MAAZ,SAAAuL,EAAaC,GAAa,IAAAC,EAAA9B,EAAA,YAAA3J,KAAAA,MAAA,SAAA0L,GAAA,cAAAA,EAAA5F,KAAA4F,EAAAvH,MAAA,OASvB,OARDqH,EAAQA,EAAMG,cAEdlJ,KAAK0I,QAAQd,IAAImB,EAAO,IAElBC,EAAS,CACbG,OAAQ,CAAEC,EAAGL,EAAQ,cACrBM,KAAM,CAAEC,MAAO,GACfC,QAAS,wCACVN,EAAA1H,OAAA,SAEMwE,IAAAA,MAAUyD,KAAmB,cAAeR,GAAQnI,MAAK,SAAC6H,GAC/DxB,EAAKwB,QAAQd,IAAImB,EAAOL,GACxB/B,EAAE8C,QACJ,KAAE,wBAAAR,EAAAzF,OAAA,GAAAsF,EAAA,SJjBG,WACL,IAAIpL,EAAIsC,KACNxC,EAAI+H,UACN,OAAO,IAAItC,SAAQ,SAAUtF,EAAGK,GAC9B,IAAIK,EAAIP,EAAEwH,MAAM5H,EAAGF,GACnB,SAASkM,EAAM5L,GACb0K,GAAmBnK,EAAGV,EAAGK,EAAG0L,EAAOC,EAAQ,OAAQ7L,EACrD,CACA,SAAS6L,EAAO7L,GACd0K,GAAmBnK,EAAGV,EAAGK,EAAG0L,EAAOC,EAAQ,QAAS7L,EACtD,CACA4L,OAAM,EACR,GACF,GIKC,gBAAAE,GAAA,OAAAf,EAAAvD,MAAA,KAAAC,UAAA,EAfW,GAeXC,EAEDkB,KAAA,SAAKqC,GACHA,EAAQA,EAAMG,cAEd,IAAMR,GAAW1I,KAAK0I,QAAQ9D,IAAImE,IAAU,IAAIc,KAAI,SAAClE,GAAe,IAAAmE,EAAAC,EAC5DC,EAAiBrE,EAAWqE,iBAC5BC,EAAmBtE,EAAWsE,mBAC9BC,EAAOvE,EAAWuE,OAExB,OACEvD,EAAA,MAAIC,UAAU,8CAA8C,aAAY,cAAgBjB,EAAWwE,MACjGxD,EAACU,IAAI,CAAC3B,KAAMK,IAAAA,MAAUJ,WAAWA,EAAaqE,GAAkBA,EAAe1C,UAAa,IAC1FX,EAAA,OAAKC,UAAU,6BAA6BwD,KAAUF,IACtDvD,EAAA,OAAKC,UAAU,gCAAgCyD,KAAU1E,EAAW2E,QAASvB,MAC1EkB,GACDtD,EAAA,OAAKC,UAAU,kCAAkCyD,KAAyC,OAAhCP,EAACG,EAAiBM,gBAAcT,EAAI,GAAIf,EAAO,QAExGiB,GACDrD,EAAA,OAAKC,UAAU,kEACZyD,KAAuC,OAA9BN,EAACC,EAAeO,gBAAcR,EAAI,GAAIhB,EAAO,OAMnE,IAEA,MAAO,CACLpC,EAAA,MAAIC,UAAU,mBACZD,EAACmB,EAAe,MAAG,IAAE/B,IAAAA,WAAeE,MAAM,+DAE5CU,EAAA,UACEA,EAAC6D,KAAU,CAAC/E,KAAK,gBAAgBC,KAAMK,IAAAA,MAAU,QAAS,CAAEqD,EAAGL,EAAQ,gBACpEhD,IAAAA,WAAeE,MAAM,gEAAiE,CAAE8C,MAAAA,OAExF0B,OACF/B,EAEP,EAACD,CAAA,CAzDsC,GCP5BiC,GAAa,CACxBtE,qBAAAA,EACAqC,qBAAAA,ICLF,MAAM,GAA+BtL,OAAO4H,KAAKC,OAAO,mCCAxD,MAAM,GAA+B7H,OAAO4H,KAAKC,OAAO,kCCIxD,UACE,IAAI2F,KAAAA,OAAaC,MACdC,UAAmB,SACnBA,UAAmB,cCPlB,GAA+B1N,OAAO4H,KAAKC,OAAO,qCCAxD,MAAM,GAA+B7H,OAAO4H,KAAKC,OAAO,+BCOxD,SAAe,GAAfyF,OACKK,GAAY,CAEf,IAAIH,KAAAA,OAAaI,KACdC,OAAa,kBACbA,OAAa,kBACbH,UAAmB,iBACnBA,UAAmB,uBACnBA,UAAU,kBAAmBI,KAAAA,eAEhC,IAAIN,KAAAA,OAAaO,MACdL,UAAkB,qBCKvB9E,IAAAA,aAAiBqB,IAAI,mBAAmB,WnChBxC,IACQ+D,EAIAC,EAIAC,EAIAC,EAIAC,EqBrBAC,EcqBNzF,IAAAA,uBAA2B0F,iBAAmBrG,EAC9CW,IAAAA,uBAA2B2F,kBAAoBvD,EAC/CpC,IAAAA,uBAA2B4F,uBAAyBtD,GCrBpDuD,EAAAA,EAAAA,QAAOb,IAAAA,UAAsB,UAAU,SAA4BlE,GAC7D7G,KAAK6L,kBAAoBhF,EAAMiF,IAAI,WACrCjF,EAAMO,IAAI,aAAcT,EAACmB,EAAe,MAE5C,IpCDMqD,EAAa,SAACxF,EAAYc,GAC9B,OAAOA,EAAKsF,YAAgC,IAAlBtF,EAAKa,WAAmB3B,EAAWqG,wBAA0BjG,IAAAA,QAAYwB,IACrG,EAEM6D,EAAqB,SAAC3E,GAC1B,OAAQV,IAAAA,MAAU8E,UAAU,+BAAiCpE,EAAKc,QAAUd,EAAKc,OAAO4C,OAASpE,IAAAA,QAAYwB,KAAK4C,IACpH,EAEMkB,EAAmB,SAAC1F,EAAYc,GACpC,OAAOd,EAAWkG,iBAAmBlG,EAAWqE,kBAAoBrE,EAAWqE,iBAAiBG,OAAS1D,EAAK0D,IAChH,EAEMmB,EAAc,SAACW,GACnB,OAAOlG,IAAAA,WAAeE,MAAMgG,EAAe,2CAA6C,yCAC1F,EAEMV,EAAiB,SAAC5F,EAAYsG,EAAcxF,GAAI,OACpDd,EACGuG,KACC,CACEC,iBAAkBF,EAAexF,EAAK0D,KAAO,EAC7CiC,iBAAkBrG,IAAAA,QAAYwB,KAAK4C,KACnCkC,cAAeJ,EAAe,CAAEjC,eAAgBvD,EAAMe,eAAgBzB,IAAAA,QAAYwB,MAAS,CAAEyC,eAAgB,OAE/G,CACEhB,OAAQ,CACNO,QAAS,UAId1I,MAAK,WACCoL,WACItG,EAAW2G,KAAKD,cAAcrC,sBAC9BrE,EAAW2G,KAAKD,cAAc7E,gBAGnCzB,IAAAA,QAAYwG,QAAQC,MACtBzG,IAAAA,QAAYnB,IAAI,UAAU6H,SAG5B9F,EAAE8C,SAEEwC,GACFtF,EAAEgB,MAAMC,IAAI7B,IAAAA,MAAUJ,WAAWA,GAErC,GAAE,GAENiG,EAAAA,EAAAA,QAAOc,IAAc,sBAAsB,SAAU7F,EAAOJ,GAC1D,IAAIV,IAAAA,MAAU8E,UAAU,8BAAxB,CAEA,IAAMlF,EAAac,EAAKd,aACpBsG,EAAeZ,EAAiB1F,EAAYc,GAEhDA,EAAKkG,eAAe,CAAEV,aAAAA,IAEK,YAAvBxF,EAAKmG,gBAELzB,EAAWxF,EAAYc,IAAS2E,EAAmB3E,KAAUV,IAAAA,QAAYwG,QAAQC,MAErF3F,EAAMO,IACJ,aACAyF,IAAAA,UACE,CACEpH,KAAM,MAAKwG,EAAe,IAAM,KAAG,mBACnCvE,QAAS,WAGP6D,EAAe5F,EAFfsG,GAAgBA,EAEyBxF,GAAK,SAAS,WACrDwF,EAAeZ,EAAiB1F,EAAYc,EAC9C,GACF,GAEF6E,EAAYW,KAxB6C,CA2B/D,KAEAL,EAAAA,EAAAA,QAAOkB,IAAAA,UAAuB,eAAe,SAAUjG,GACrD,GAAKd,IAAAA,MAAU8E,UAAU,8BAAzB,CAEA,IAAMpE,EAAOzG,KAAK4F,MAAMa,KAClBd,EAAa3F,KAAK4F,MAAMa,KAAKd,aAC/BsG,EAAeZ,EAAiB1F,EAAYc,GAC5CoF,GAAgD,IAAhClG,EAAWqE,iBAE/BvD,EAAKkG,eAAe,CAAEV,aAAAA,IAElBd,EAAWxF,EAAYc,IAAS2E,EAAmB3E,KAAUV,IAAAA,QAAYwG,QAAQC,MAErF3F,EAAMO,IACJ,aACAyF,IAAAA,UACE,CACEjG,UAAW,oBAAmBiF,GAAiBI,EAAe,UAAY,QAC1EvE,QAAS,WACPmE,GAAiBA,EAGjBN,EAAe5F,EAFfsG,GAAgBA,EAEyBxF,GAAK,SAAS,WACrDoF,EAAgBlG,EAAWkG,kBAAmD,IAAhClG,EAAWqE,iBACzDiC,EAAeZ,EAAiB1F,EAAYc,EAC9C,GACF,GAEF6E,EAAYW,IA1B8C,CA6BhE,KYpGAL,EAAAA,EAAAA,QAAOkB,IAAAA,UAAuB,eAAe,SAAUjG,GACrD,IAAMJ,EAAOzG,KAAK4F,MAAMa,KAClBd,EAAac,EAAKd,aAEV,MAAVA,GAAAA,EAAYkG,iBAAmBlG,EAAWqE,kBAAoBrE,EAAWqE,iBAAiBG,OAAS1D,EAAK0D,OAAS1D,EAAKsF,YACxHlF,EAAMO,IACJ,eACAhB,EAAqB2G,UAAU,CAC7BtG,KAAAA,EACAd,WAAYc,EAAKd,eAIzB,KAEAiG,EAAAA,EAAAA,QAAOkB,IAAAA,UAAuB,eAAe,SAAUjG,GACrD,IAAMmG,EAAWhN,KAAK4F,MAAMa,KACtBd,EAAaqH,EAASrH,aACtBc,EAAOd,EAAWkG,iBAAmBlG,EAAWqE,iBAEhDiD,EAAWlH,IAAAA,MAAU8E,UAAU,kCAErC,GAAIpE,IAASA,EAAKsF,YAAoC,IAAtBiB,EAAS1F,WAAmB0F,EAASjB,WAAY,CAC/E,IAAMxE,EAAOd,EAAKc,OAElBV,EAAMO,IACJ,iBACAT,EAAA,OAAKC,UAAU,cAAcc,QAAS,kBAAM3B,IAAAA,QAAYnB,IAAI,UAAUsI,WAAWzG,EAAKa,SAAS,GAC7FX,EAAA,OAAKC,UAAU,eACbD,EAAA,UACEA,EAAA,MAAIC,UAAU,aACZD,EAAA,OAAKC,UAAU,YACZW,GAAQ4F,IAAW5F,GACpBZ,EAAA,UAAKY,EAAOZ,EAACU,IAAI,CAAC3B,KAAMK,IAAAA,MAAUwB,KAAKA,IAAQ6F,IAAS7F,IAAgB6F,IAAS7F,MAGpFd,EAAKd,cAAgBgB,EAAA,MAAIC,UAAU,aAAayG,IAAAA,UAAmB,CAAE5G,KAAAA,KACrEL,EAAqB2G,UAAU,CAC9BtG,KAAAA,EACAd,WAAAA,MAINgB,EAAA,OAAKC,UAAW0G,IAAU,YAAaL,EAAW,GAAK,uBAAwBM,MAAO,CAAE,cAAeN,IACpGtG,EAAE6G,MAAM/G,EAAKgH,kBAGjB,GAEL,CACF,KAEA7B,EAAAA,EAAAA,QAAO8B,IAAAA,UAAyB,gBAAgB,SAAUC,GACxD,IAAMlH,EAAOzG,KAAK4F,MAAMa,KAClBd,EAAac,EAAKd,aAEV,MAAVA,GAAAA,EAAYkG,iBAAmBlG,EAAWqE,kBAAoBrE,EAAWqE,iBAAiBG,OAAS1D,EAAK0D,OAAS1D,EAAKsF,aACxH4B,EAAa/G,UAAa+G,EAAa/G,WAAa,oBAAwB+G,EAAa/G,UAAY,mBAEzG,KAEAgF,EAAAA,EAAAA,QAAOY,IAAAA,UAA0B,gBAAgB,SAAU3F,GACzD,GAAKd,IAAAA,MAAU8E,UAAU,yCAAzB,CAEA,IAAMlF,EAAa3F,KAAK2F,WAClBc,EAAOd,EAAWkG,iBAAmBlG,EAAWqE,kBAElDvD,GAASA,EAAKsF,YAAgC,IAAlBtF,EAAKa,UAAmB3B,EAAWqE,iBAAiB+B,YAClFlF,EAAMO,IACJ,mBACAT,EAACkG,IAAM,CAACjG,UAAU,+BAA+BnB,KAAK,eAAeiC,QAAS,kBAAM3B,IAAAA,QAAYnB,IAAI,UAAUsI,WAAWzG,EAAKa,SAAS,GACpIvB,IAAAA,WAAeE,MAAM,gEAExB,GAXqE,CAc3E,KyBlFA2F,EAAAA,EAAAA,QAAOgC,KAAAA,UAAoB,aAAa,SAAU/G,GAChD,IAAMU,EAAOvH,KAAK4F,MAAM2B,KAExBV,EAAMO,IACJ,oBACAT,EAAA,QAAMC,UAAU,4BACbnB,IAAK,gBACLM,IAAAA,WAAeE,MAAM,+CAAgD,CACpE4H,MAAOtG,EAAKuG,qBAGhB,GAEJ,KhBnBMtC,EAAmBlO,EAAQ,QAIjCyQ,EAAAA,EAAAA,UAASvC,EAAiBwC,QAAQnQ,UAAW,WAAW,SAACgM,GAAG,OAAAvB,GAAA,GACvDuB,IAAK,CACRoE,kBAAmB,mBACnBC,mBAAoB,mBAAiB,KiBHvCtC,EAAAA,EAAAA,QAAOuC,KAAAA,UAA4B,qBAAqB,SAAUtH,GAChEA,EAAMO,IAAI,oBAAqB,CAC7BzE,KAAM,oBACN8C,KAAM,eACNwC,MAAOlC,IAAAA,WAAeE,MAAM,wEAE9BY,EAAMO,IAAI,yBAA0B,CAClCzE,KAAM,yBACN8C,KAAM,eACNwC,MAAOlC,IAAAA,WAAeE,MAAM,8EAE9BY,EAAMO,IAAI,mBAAoB,CAC5BzE,KAAM,mBACN8C,KAAM,mBACNwC,MAAOlC,IAAAA,WAAeE,MAAM,sEAEhC,KChBA2F,EAAAA,EAAAA,QAAOwC,KAAAA,UAAkB,eAAe,SAAUvH,GAC5Cd,IAAAA,MAAU8E,UAAmB,0BAC/BhE,EAAMO,IAAI,WAAY,IAAIqB,GAAwB,IAEtD,KJ0BAmD,EAAAA,EAAAA,QAAOyC,IAAAA,UAAqB,gBAAgB,SAAUxH,GACpD,IAAMyH,EAAMtO,KAAKuO,aAEjB,GAAQ,MAAHD,GAAU,MAAVA,EAAKE,OAALF,EAAKE,QAAV,CAEA,IAAMC,EAAqB1I,IAAAA,MAAU8E,UAAU,wBAA0B9E,IAAAA,QAAYwB,KAC/EmH,EAAM7H,EAAMjC,IAAI,iBACtB8J,EAAIC,SAAW5I,IAAAA,WAAeE,MAC5BwI,EAAqB,2CAA6C,mDAGhE5H,EAAMiF,IAAI,oBACZjF,EAAM+H,WAAW,kBAAmBF,EATX,CAW7B,KAEA9C,EAAAA,EAAAA,QAAOyC,IAAAA,UAAqB,aAAa,SAAUxH,GACjD,GAAKd,IAAAA,MAAU8E,UAAU,0BAAzB,CAIA,IAAMyD,EAAMtO,KAAKuO,aAEjB,GAAQ,MAAHD,GAAU,MAAVA,EAAKE,OAALF,EAAKE,QAAV,CASA,IAAMK,EAAU,CAAC,MAAO,SAAU,YAE5BC,EAAW/I,IAAAA,YAAgBgJ,WAEjClI,EAAMO,IACJ,gBACA4H,IAAAA,UACE,CACEC,gBAAiB,SACjBhH,MAAOlC,IAAAA,WAAeE,MAAM,iCACM4I,EAAQC,IAAalR,OAAOsF,KAAK2L,GAAShF,KAAI,SAAClF,GAAG,OAAKkK,EAAQlK,EAAI,IAAE,IAAE,UAEzGuK,sBAAuBnJ,IAAAA,WAAeE,MAAM,kDAE9CrI,OAAOsF,KAAK2L,GAAShF,KAAI,SAAC3L,GACxB,IAAM+J,EAAQ4G,EAAQ3Q,GAChBiR,GAAUL,GAAYlR,OAAOsF,KAAK2L,GAAS,MAAQ3Q,EAEzD,OAAO2O,IAAAA,UACL,CACEpH,MAAM0J,GAAS,eACfA,OAAQA,EACRzH,QAAS,WACP3B,IAAAA,YAAgBgJ,WAAa7Q,EACf,MAAVA,UACK6H,IAAAA,YAAgBgJ,WAEzBhJ,IAAAA,YAAgBqJ,SAClB,GAEFrJ,IAAAA,WAAeE,MAAM,gCAAgCgC,EAAK,UAE9D,KAlCJ,MANMlC,IAAAA,YAAgBgJ,oBACXhJ,IAAAA,YAAgBgJ,WACvBhJ,IAAAA,YAAgBqJ,UAPpB,CAgDF,KAEAxD,EAAAA,EAAAA,QAAOyD,IAAAA,UAA+B,iBAAiB,SAAUrG,GAC/D,GAAIjD,IAAAA,YAAgBgJ,WAAY,CAC9B,IACMO,EADwC,MAA/BvJ,IAAAA,YAAgBgJ,WACN,IAAM,GAE/B/F,EAAOG,OAAUmG,EAAO,uBAAwB,EAE5CtG,EAAOG,OAAOC,IAChBJ,EAAOG,OAAOC,GAAK,IAAIkG,EAAO,YAElC,CACF,KAEA1D,EAAAA,EAAAA,QAAO2D,IAAAA,UAA8B,eAAe,SAAU1I,GAC5D,IAAMqD,EAAOlK,KAAKwP,SAASC,OAAOvF,UACrB3F,IAAT2F,GAEQA,EAAKwF,MAAK,SAAChS,GAAC,OAAKA,EAAE8Q,OAAO,MAItCxO,KAAK4F,MAAM+J,iBAAmB5J,IAAAA,WAAeE,MAAM,mDAE/CY,EAAMiF,IAAI,oBACZjF,EAAM+H,WACJ,kBACAjI,EAAA,UACEA,EAAA,SACEC,UAAU,cACVgJ,KAAM5P,KAAKsK,MACXuF,YAAa7P,KAAK4F,MAAM+J,iBACxBG,WAAY9P,KAAK4F,MAAMkK,SACvBC,UAAW/P,KAAK+P,UAAU7K,KAAKlF,UAKzC,GACF","sources":["webpack://@fof/best-answer/external assign \"flarum.extensions['fof-user-directory']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/typeof.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/regenerator/index.js","webpack://@fof/best-answer/webpack/bootstrap","webpack://@fof/best-answer/webpack/runtime/compat get default export","webpack://@fof/best-answer/webpack/runtime/define property getters","webpack://@fof/best-answer/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/best-answer/webpack/runtime/make namespace object","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/DiscussionComposer']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Notification']\"","webpack://@fof/best-answer/./src/forum/components/SelectBestAnswerNotification.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/best-answer/./src/forum/addBestAnswerAction.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Post']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/PostMeta']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/userOnline']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/best-answer/./src/forum/components/SelectBestAnswerItem.js","webpack://@fof/best-answer/./src/forum/addBestAnswerView.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/best-answer/./src/forum/components/BestAnswerBadge.tsx","webpack://@fof/best-answer/./src/forum/components/AwardedBestAnswerNotification.js","webpack://@fof/best-answer/./src/forum/components/BestAnswerInDiscussionNotification.js","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/NotificationGrid']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/UserCard']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/best-answer/./src/common/addBestAnswerCountSort.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['forum/components/Search']\"","webpack://@fof/best-answer/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://@fof/best-answer/external root \"flarum.core.compat['common/helpers/highlight']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['tags/helpers/tagsLabel']\"","webpack://@fof/best-answer/./src/forum/components/SolutionSearchSource.tsx","webpack://@fof/best-answer/./src/forum/components/index.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['common/extenders']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['tags/models/Tag']\"","webpack://@fof/best-answer/./src/common/extend.ts","webpack://@fof/best-answer/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/best-answer/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/best-answer/./src/forum/extend.ts","webpack://@fof/best-answer/./src/forum/index.js","webpack://@fof/best-answer/./src/forum/addAnsweredBadge.tsx","webpack://@fof/best-answer/./src/forum/addBestAnswerCountToUsers.tsx","webpack://@fof/best-answer/./src/forum/extenders/extendNotifications.ts","webpack://@fof/best-answer/./src/forum/extenders/extendSearch.ts"],"sourcesContent":["module.exports = flarum.extensions['fof-user-directory'];","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// 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};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/DiscussionListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionComposer'];","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['forum/components/Notification'];","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class SelectBestAnswerNotification extends Notification {\n icon() {\n return 'fas fa-comment-dots';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n return app.translator.trans('fof-best-answer.forum.notification.content');\n }\n\n excerpt() {\n return null;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/PostControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/CommentPost'];","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport PostControls from 'flarum/forum/utils/PostControls';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport CommentPost from 'flarum/forum/components/CommentPost';\n\nexport default () => {\n const ineligible = (discussion, post) => {\n return post.isHidden() || post.number() === 1 || !discussion.canSelectBestAnswer() || !app.session.user;\n };\n\n const blockSelectOwnPost = (post) => {\n return !app.forum.attribute('canSelectBestAnswerOwnPost') && post.user() && post.user().id() === app.session.user.id();\n };\n\n const isThisBestAnswer = (discussion, post) => {\n return discussion.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id();\n };\n\n const actionLabel = (isBestAnswer) => {\n return app.translator.trans(isBestAnswer ? 'fof-best-answer.forum.remove_best_answer' : 'fof-best-answer.forum.this_best_answer');\n };\n\n const saveDiscussion = (discussion, isBestAnswer, post) =>\n discussion\n .save(\n {\n bestAnswerPostId: isBestAnswer ? post.id() : 0,\n bestAnswerUserId: app.session.user.id(),\n relationships: isBestAnswer ? { bestAnswerPost: post, bestAnswerUser: app.session.user } : { bestAnswerPost: null },\n },\n {\n params: {\n include: 'tags',\n },\n }\n )\n .then(() => {\n if (!isBestAnswer) {\n delete discussion.data.relationships.bestAnswerPost;\n delete discussion.data.relationships.bestAnswerUser;\n }\n\n if (app.current.matches(DiscussionPage)) {\n app.current.get('stream').update();\n }\n\n m.redraw();\n\n if (isBestAnswer) {\n m.route.set(app.route.discussion(discussion));\n }\n });\n\n extend(PostControls, 'moderationControls', function (items, post) {\n if (app.forum.attribute('useAlternativeBestAnswerUi')) return;\n\n const discussion = post.discussion();\n let isBestAnswer = isThisBestAnswer(discussion, post);\n\n post.pushAttributes({ isBestAnswer });\n\n if (post.contentType() !== 'comment') return;\n\n if (ineligible(discussion, post) || blockSelectOwnPost(post) || !app.current.matches(DiscussionPage)) return;\n\n items.add(\n 'bestAnswer',\n Button.component(\n {\n icon: `fa${isBestAnswer ? 's' : 'r'} fa-comment-dots`,\n onclick: () => {\n isBestAnswer = !isBestAnswer;\n\n saveDiscussion(discussion, isBestAnswer, post).finally(() => {\n isBestAnswer = isThisBestAnswer(discussion, post);\n });\n },\n },\n actionLabel(isBestAnswer)\n )\n );\n });\n\n extend(CommentPost.prototype, 'actionItems', function (items) {\n if (!app.forum.attribute('useAlternativeBestAnswerUi')) return;\n\n const post = this.attrs.post;\n const discussion = this.attrs.post.discussion();\n let isBestAnswer = isThisBestAnswer(discussion, post);\n let hasBestAnswer = discussion.bestAnswerPost() !== false;\n\n post.pushAttributes({ isBestAnswer });\n\n if (ineligible(discussion, post) || blockSelectOwnPost(post) || !app.current.matches(DiscussionPage)) return;\n\n items.add(\n 'bestAnswer',\n Button.component(\n {\n className: `Button Button--${!hasBestAnswer || isBestAnswer ? 'primary' : 'link'}`,\n onclick: function onclick() {\n hasBestAnswer = !hasBestAnswer;\n isBestAnswer = !isBestAnswer;\n\n saveDiscussion(discussion, isBestAnswer, post).finally(() => {\n hasBestAnswer = discussion.hasBestAnswer() && discussion.bestAnswerPost() !== false;\n isBestAnswer = isThisBestAnswer(discussion, post);\n });\n },\n },\n actionLabel(isBestAnswer)\n )\n );\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Post'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/PostMeta'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/userOnline'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","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/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nexport default class SelectBestAnswerItem extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n const { post, discussion } = this.attrs;\n\n this.post = post;\n this.discussion = discussion;\n }\n\n view() {\n return
  • {this.items().toArray()}
  • ;\n }\n\n getSetTime(discussion) {\n if (discussion.bestAnswerSetAt() === null) {\n return;\n }\n return humanTime(discussion.bestAnswerSetAt());\n }\n\n items() {\n const items = new ItemList();\n\n items.add(\n 'post',\n this.post ? (\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.best_answer_button')}\n \n ) : (\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.best_answer_button')}\n \n )\n );\n\n items.add(\n 'user',\n \n {app.translator.trans('fof-best-answer.forum.best_answer_label', {\n user: this.discussion.bestAnswerUser(),\n time_set: this.getSetTime(this.discussion),\n a:
    m.route.set(app.route.user(this.discussion.bestAnswerUser()))} />,\n })}\n \n );\n\n return items;\n }\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport CommentPost from 'flarum/forum/components/CommentPost';\nimport PostComponent from 'flarum/forum/components/Post';\nimport PostMeta from 'flarum/forum/components/PostMeta';\nimport username from 'flarum/common/helpers/username';\nimport userOnline from 'flarum/common/helpers/userOnline';\nimport Link from 'flarum/common/components/Link';\nimport classList from 'flarum/common/utils/classList';\n\nimport SelectBestAnswerItem from './components/SelectBestAnswerItem';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport Button from 'flarum/common/components/Button';\n\nexport default () => {\n extend(CommentPost.prototype, 'headerItems', function (items) {\n const post = this.attrs.post;\n const discussion = post.discussion();\n\n if (discussion?.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id() && !post.isHidden()) {\n items.add(\n 'isBestAnswer',\n SelectBestAnswerItem.component({\n post,\n discussion: post.discussion(),\n })\n );\n }\n });\n\n extend(CommentPost.prototype, 'footerItems', function (items) {\n const thisPost = this.attrs.post;\n const discussion = thisPost.discussion();\n const post = discussion.hasBestAnswer() && discussion.bestAnswerPost();\n\n const maxLines = app.forum.attribute('fof-best-answer.show_max_lines');\n\n if (post && !post.isHidden() && thisPost.number() === 1 && !thisPost.isHidden()) {\n const user = post.user();\n\n items.add(\n 'bestAnswerPost',\n
    app.current.get('stream').goToNumber(post.number())}>\n
    \n
      \n
    • \n
      \n {user && userOnline(user)}\n

      {user ? {username(user)} : username(user)}

      \n
      \n
    • \n {post.discussion() &&
    • {PostMeta.component({ post })}
    • }\n {SelectBestAnswerItem.component({\n post,\n discussion,\n })}\n
    \n
    \n
    0 && 'Post-body--truncate')} style={{ '--max-lines': maxLines }}>\n {m.trust(post.contentHtml())}\n
    \n
    ,\n -10\n );\n }\n });\n\n extend(PostComponent.prototype, 'elementAttrs', function (elementAttrs) {\n const post = this.attrs.post;\n const discussion = post.discussion();\n\n if (discussion?.hasBestAnswer() && discussion.bestAnswerPost() && discussion.bestAnswerPost().id() === post.id() && !post.isHidden()) {\n elementAttrs.className ? (elementAttrs.className += ' Post--bestAnswer') : (elementAttrs.className = 'Post--bestAnswer');\n }\n });\n\n extend(DiscussionPage.prototype, 'sidebarItems', function (items) {\n if (!app.forum.attribute('bestAnswerDiscussionSidebarJumpButton')) return;\n\n const discussion = this.discussion;\n const post = discussion.hasBestAnswer() && discussion.bestAnswerPost();\n\n if (post && !post.isHidden() && post.number() !== 1 && !discussion.bestAnswerPost().isHidden()) {\n items.add(\n 'jumpToBestAnswer',\n ,\n 90\n );\n }\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import Badge, { IBadgeAttrs } from 'flarum/common/components/Badge';\nimport app from 'flarum/forum/app';\n\nexport default class BestAnswerBadge extends Badge {\n static initAttrs(attrs: IBadgeAttrs) {\n attrs.type = 'bestAnswer';\n attrs.icon = 'fas fa-check';\n attrs.label = app.translator.trans('fof-best-answer.forum.answered_badge') as string;\n }\n}\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class AwardedBestAnswerNotification extends Notification {\n icon() {\n return 'fas fa-check';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n const user = this.attrs.notification.fromUser();\n return app.translator.trans('fof-best-answer.forum.notification.awarded', {\n user: user,\n });\n }\n\n excerpt() {\n return null;\n }\n}\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class BestAnswerInDiscussionNotification extends Notification {\n icon() {\n return 'fas fa-check';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n\n return app.route.discussion(discussion);\n }\n\n content() {\n const user = this.attrs.notification.fromUser();\n return app.translator.trans('fof-best-answer.forum.notification.best_answer_in_discussion', {\n user: user,\n });\n }\n\n excerpt() {\n return null;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationGrid'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/UserCard'];","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 { override } from 'flarum/common/extend';\n\nexport default () => {\n const FoFUserDirectory = require('@fof-user-directory');\n\n if (!FoFUserDirectory) return;\n\n override(FoFUserDirectory.SortMap.prototype, 'sortMap', (map) => ({\n ...map(),\n most_best_answers: '-bestAnswerCount',\n least_best_answers: 'bestAnswerCount',\n }));\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Search'];","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/highlight'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/helpers/tagsLabel'];","import app from 'flarum/forum/app';\nimport highlight from 'flarum/common/helpers/highlight';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Link from 'flarum/common/components/Link';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport { SearchSource } from 'flarum/forum/components/Search';\nimport type Mithril from 'mithril';\nimport BestAnswerBadge from './BestAnswerBadge';\nimport tagsLabel from 'flarum/tags/helpers/tagsLabel';\n\nexport default class SolutionSearchSource implements SearchSource {\n protected results = new Map();\n\n async search(query: string): Promise {\n query = query.toLowerCase();\n\n this.results.set(query, []);\n\n const params = {\n filter: { q: query + ' is:solved' },\n page: { limit: 3 },\n include: 'mostRelevantPost,bestAnswerPost,tags',\n };\n\n return app.store.find('discussions', params).then((results) => {\n this.results.set(query, results);\n m.redraw();\n });\n }\n\n view(query: string): Array {\n query = query.toLowerCase();\n\n const results = (this.results.get(query) || []).map((discussion) => {\n const bestAnswerPost = discussion.bestAnswerPost();\n const mostRelevantPost = discussion.mostRelevantPost();\n const tags = discussion.tags();\n\n return (\n
  • \n \n
    {tagsLabel(tags)}
    \n
    {highlight(discussion.title(), query)}
    \n {!!mostRelevantPost && (\n
    {highlight(mostRelevantPost.contentPlain() ?? '', query, 100)}
    \n )}\n {!!bestAnswerPost && (\n
    \n {highlight(bestAnswerPost.contentPlain() ?? '', query, 100)}\n
    \n )}\n \n
  • \n );\n }) as Array;\n\n return [\n
  • \n {app.translator.trans('fof-best-answer.forum.search.discussions_solutions_heading')}\n
  • ,\n
  • \n \n {app.translator.trans('fof-best-answer.forum.search.all_discussions_solutions_button', { query })}\n \n
  • ,\n ...results,\n ];\n }\n}\n","import SelectBestAnswerItem from './SelectBestAnswerItem';\nimport SolutionSearchSource from './SolutionSearchSource';\n\nexport const components = {\n SelectBestAnswerItem,\n SolutionSearchSource,\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extenders'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/models/Tag'];","import Extend from 'flarum/common/extenders';\n// @ts-ignore\nimport Tag from 'flarum/tags/models/Tag';\n\nexport default [\n new Extend.Model(Tag) //\n .attribute('isQnA')\n .attribute('reminders'),\n];\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","import Discussion from 'flarum/common/models/Discussion';\nimport commonExtend from '../common/extend';\nimport Extend from 'flarum/common/extenders';\nimport Post from 'flarum/common/models/Post';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\n\nexport default [\n ...commonExtend,\n\n new Extend.Model(Discussion) //\n .hasOne('bestAnswerPost')\n .hasOne('bestAnswerUser')\n .attribute('hasBestAnswer')\n .attribute('canSelectBestAnswer')\n .attribute('bestAnswerSetAt', Model.transformDate),\n\n new Extend.Model(User) //\n .attribute('bestAnswerCount'),\n];\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Button from 'flarum/common/components/Button';\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\nimport DiscussionComposer from 'flarum/forum/components/DiscussionComposer';\n\nimport SelectBestAnswerNotification from './components/SelectBestAnswerNotification';\nimport addBestAnswerAction from './addBestAnswerAction';\nimport addBestAnswerView from './addBestAnswerView';\nimport addAnsweredBadge from './addAnsweredBadge';\nimport AwardedBestAnswerNotification from './components/AwardedBestAnswerNotification';\nimport BestAnswerInDiscussionNotification from './components/BestAnswerInDiscussionNotification';\nimport extendNotifications from './extenders/extendNotifications';\nimport addBestAnswerCountToUsers from './addBestAnswerCountToUsers';\nimport addBestAnswerCountSort from '../common/addBestAnswerCountSort';\nimport extendSearch from './extenders/extendSearch';\n\nexport * from './components';\n\nexport { default as extend } from './extend';\n\napp.initializers.add('fof/best-answer', () => {\n app.notificationComponents.selectBestAnswer = SelectBestAnswerNotification;\n app.notificationComponents.awardedBestAnswer = AwardedBestAnswerNotification;\n app.notificationComponents.bestAnswerInDiscussion = BestAnswerInDiscussionNotification;\n\n addAnsweredBadge();\n addBestAnswerAction();\n addBestAnswerView();\n addBestAnswerCountToUsers();\n addBestAnswerCountSort();\n\n extendNotifications();\n extendSearch();\n\n extend(IndexPage.prototype, 'sidebarItems', function (items) {\n const tag = this.currentTag();\n\n if (!tag?.isQnA?.()) return;\n\n const canStartDiscussion = app.forum.attribute('canStartDiscussion') || !app.session.user;\n const cta = items.get('newDiscussion');\n cta.children = app.translator.trans(\n canStartDiscussion ? 'fof-best-answer.forum.index.ask_question' : 'fof-best-answer.forum.index.cannot_ask_question'\n );\n\n if (items.has('startDiscussion')) {\n items.setContent('startDiscussion', cta);\n }\n });\n\n extend(IndexPage.prototype, 'viewItems', function (items) {\n if (!app.forum.attribute('showBestAnswerFilterUi')) {\n return;\n }\n\n const tag = this.currentTag();\n\n if (!tag?.isQnA?.()) {\n if (app.discussions.bestAnswer) {\n delete app.discussions.bestAnswer;\n app.discussions.refresh();\n }\n\n return;\n }\n\n const options = ['all', 'solved', 'unsolved'];\n\n const selected = app.discussions.bestAnswer;\n\n items.add(\n 'solved-filter',\n Dropdown.component(\n {\n buttonClassName: 'Button',\n label: app.translator.trans(\n `fof-best-answer.forum.filter.${options[selected] || Object.keys(options).map((key) => options[key])[0]}_label`\n ),\n accessibleToggleLabel: app.translator.trans('fof-best-answer.forum.filter.accessible_label'),\n },\n Object.keys(options).map((value) => {\n const label = options[value];\n const active = (selected || Object.keys(options)[0]) === value;\n\n return Button.component(\n {\n icon: active ? 'fas fa-check' : true,\n active: active,\n onclick: () => {\n app.discussions.bestAnswer = value;\n if (value === '0') {\n delete app.discussions.bestAnswer;\n }\n app.discussions.refresh();\n },\n },\n app.translator.trans(`fof-best-answer.forum.filter.${label}_label`)\n );\n })\n )\n );\n });\n\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\n if (app.discussions.bestAnswer) {\n const negate = app.discussions.bestAnswer === '2';\n const prepend = negate ? '-' : '';\n\n params.filter[`${prepend}solved-discussions`] = true;\n\n if (params.filter.q) {\n params.filter.q += ` ${prepend}is:solved`;\n }\n }\n });\n\n extend(DiscussionComposer.prototype, 'headerItems', function (items) {\n const tags = this.composer.fields.tags;\n if (tags === undefined) return;\n\n const qna = tags.some((t) => t.isQnA());\n\n if (!qna) return;\n\n this.attrs.titlePlaceholder = app.translator.trans('fof-best-answer.forum.composer.titlePlaceholder');\n\n if (items.has('discussionTitle')) {\n items.setContent(\n 'discussionTitle',\n

    \n \n

    \n );\n }\n });\n});\n","import { extend } from 'flarum/common/extend';\nimport Discussion from 'flarum/common/models/Discussion';\nimport BestAnswerBadge from './components/BestAnswerBadge';\n\nexport default function () {\n extend(Discussion.prototype, 'badges', function (this: Discussion, items) {\n if (this.hasBestAnswer() && !items.has('hidden')) {\n items.add('bestAnswer', );\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport UserCard from 'flarum/forum/components/UserCard';\nimport icon from 'flarum/common/helpers/icon';\n\nimport type Mithril from 'mithril';\n\nexport default function addBestAnswerCountToUsers() {\n extend(UserCard.prototype, 'infoItems', function (items: ItemList) {\n const user = this.attrs.user;\n\n items.add(\n 'best-answer-count',\n \n {icon('fas fa-check')}\n {app.translator.trans('fof-best-answer.forum.user.best-answer-count', {\n count: user.bestAnswerCount(),\n })}\n ,\n 55\n );\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport NotificationGrid from 'flarum/forum/components/NotificationGrid';\nimport type Mithril from 'mithril';\n\nexport default function () {\n extend(NotificationGrid.prototype, 'notificationTypes', function (items: ItemList<{ name: string; icon: string; label: Mithril.Children }>) {\n items.add('awardedBestAnswer', {\n name: 'awardedBestAnswer',\n icon: 'fas fa-check',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.awarded_best_answer'),\n });\n items.add('bestAnswerInDiscussion', {\n name: 'bestAnswerInDiscussion',\n icon: 'fas fa-check',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.best_answer_in_discussion'),\n });\n items.add('selectBestAnswer', {\n name: 'selectBestAnswer',\n icon: 'fas fa-stopwatch',\n label: app.translator.trans('fof-best-answer.forum.notification.preferences.select_best_answer'),\n });\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Search, { SearchSource } from 'flarum/forum/components/Search';\nimport SolutionSearchSource from '../components/SolutionSearchSource';\n\nexport default function extendSearch() {\n extend(Search.prototype, 'sourceItems', function (items: ItemList) {\n if (app.forum.attribute('solutionSearchEnabled')) {\n items.add('solution', new SolutionSearchSource(), 110);\n }\n });\n}\n"],"names":["module","exports","flarum","extensions","_typeof","require","_regeneratorRuntime","e","__esModule","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","key","get","obj","prop","core","compat","_setPrototypeOf","bind","_inheritsLoose","SelectBestAnswerNotification","_Notification","apply","arguments","_proto","icon","href","discussion","attrs","notification","subject","app","content","trans","excerpt","Notification","SelectBestAnswerItem","_Component","oninit","vnode","_this$attrs","post","view","m","className","items","toArray","getSetTime","bestAnswerSetAt","humanTime","_this","ItemList","add","Link","number","user","bestAnswerUser","time_set","onclick","route","set","Component","BestAnswerBadge","_Badge","initAttrs","label","Badge","AwardedBestAnswerNotification","fromUser","BestAnswerInDiscussionNotification","_extends","assign","asyncGeneratorStep","SolutionSearchSource","results","Map","search","_search","_callee","query","params","_context","toLowerCase","filter","q","page","limit","include","find","redraw","_next","_throw","_x","map","_mostRelevantPost$con","_bestAnswerPost$conte","bestAnswerPost","mostRelevantPost","tags","id","tagsLabel","highlight","title","contentPlain","LinkButton","concat","components","Extend","Tag","attribute","commonExtend","Discussion","hasOne","Model","User","ineligible","blockSelectOwnPost","isThisBestAnswer","actionLabel","saveDiscussion","FoFUserDirectory","selectBestAnswer","awardedBestAnswer","bestAnswerInDiscussion","extend","hasBestAnswer","has","isHidden","canSelectBestAnswer","isBestAnswer","save","bestAnswerPostId","bestAnswerUserId","relationships","data","matches","DiscussionPage","update","PostControls","pushAttributes","contentType","Button","CommentPost","component","thisPost","maxLines","goToNumber","userOnline","username","PostMeta","classList","style","trust","contentHtml","PostComponent","elementAttrs","UserCard","count","bestAnswerCount","override","SortMap","most_best_answers","least_best_answers","NotificationGrid","Search","IndexPage","tag","currentTag","isQnA","canStartDiscussion","cta","children","setContent","options","selected","bestAnswer","Dropdown","buttonClassName","accessibleToggleLabel","active","refresh","DiscussionListState","prepend","DiscussionComposer","composer","fields","some","titlePlaceholder","bidi","placeholder","disabled","onkeydown"],"sourceRoot":""} \ No newline at end of file