{"version":3,"file":"discourse-solved.js","names":["define","_exports","_component","_tracking","_modifier","_object","_dButton","_dModal","_discourseI18n","_component2","_templateFactory","Object","defineProperty","value","default","MoveSolutionConfirmationModal","dt7948","g","this","prototype","tracked","dontShowAgain","i","confirmLabel","args","model","count","toggleDontShowAgain","event","target","checked","n","action","confirm","closeModal","confirmed","cancel","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","i18n","on","isStrictMode","SolvedRemovalConfirmationModal","_service","_ajax","_ajaxError","_setAcceptedSolution","SolvedAcceptAnswerButton","hidden","post","topic_accepted_answer","service","appEvents","currentUser","saving","showLabel","topicCreatedById","acceptAnswer","async","can_accept_answer","accepted_answer","topic","acceptedAnswer","ajax","type","data","e","popupAjaxError","acceptPost","trigger","_template","_interpolatedTranslation","_cookedHtml","_userLink","_concatClass","_dIcon","SolvedAcceptedAnswer","siteSettings","expanded","quoteId","post_number","hasExcerpt","excerpt","content","htmlSafe","showMarkedBy","show_who_marked_solved","showSolvedBy","username","postNumber","solverUsername","accepterUsername","accepter_username","solverDisplayName","name","display_name_on_posts","accepterDisplayName","accepter_name","postPath","url","toggleExpanded","onClickTitle","closest","_dTooltip","_truthHelpers","SolvedUnacceptAnswerButton","unacceptAnswer","undefined","unacceptPost","showAcceptedBy","acceptedByUsername","acceptedByDisplayName","and","UpsertCategorySupport","constructor","super","arguments","applyDefaults","schema","category","category_type_schema","entry","transientData","key","form","set","eq","_templateOnly","SolvedStatus","or","_helper","_comboBox","QUERY_PARAM_VALUES","solved","unsolved","all","UX_VALUES","yes","no","SolvedStatusFilter","shouldRender","context","owner","router","lookup","show_filter_by_solved_status","currentRouteName","editingCategory","allow_solved_on_all_topics","currentCategory","custom_fields","enable_accepted_answers","statuses","map","status","queryParamValue","currentRoute","queryParams","changeStatus","newStatus","transitionTo","hash","SolvedSettingsUpsert","enable_simplified_category_creation","enableAcceptedAnswers","outletArgs","toString","onToggleAcceptedAnswers","_","_withEventValue","SolvedSettings","customFields","onChangeSetting","onChangeAutoCloseHours","solved_topics_auto_close_hours","_runloop","_topicNavigationPopup","_environment","_later","ONE_WEEK","MAX_DURATION_WITH_NO_ANSWER","DISPLAY_DELAY","isTesting","NoAnswer","site","mobileView","show","showConfetti","oneWeek","hidePopup","_delayTimer","user_id","moment","created_at","postStream","posts","some","willDestroy","off","window","matchMedia","matches","confettiParticles","Array","from","length","_routing","SolvedList","LinkTo","_userStat","SolvedCount","_pluginApi","initialize","withPluginApi","api","registerValueTransformer","has_accepted_answer","push","_solvedAcceptAnswerButton","_solvedAcceptedAnswer","_solvedUnacceptAnswerButton","initializeWithApi","addTrackedPostProperties","renderAfterWrapperOutlet","customizePost","dag","firstButtonKey","secondLastHiddenButtonKey","lastHiddenButtonKey","solvedButton","add","before","after","customizePostMenu","callback","controller","message","registerCustomPostMessageCallback","handleMessages","addDiscoveryQueryParam","replace","refreshModel","addTrackedTopicProperties","replaceIcon","addAdvancedSearchOptions","statusOptions","addSearchSuggestion","container","admin","setAdminPluginIcon","_helpers","_category","_solvedRemovalConfirmation","STORAGE_KEY","solvedEnabled","categoryId","tags","helperContext","findById","solvedTags","enable_solved_tags","split","filter","Boolean","t","includes","registerBehaviorTransformer","next","modal","props","buffered","solvedStateChanged","oldCategoryId","category_id","newCategoryId","oldTags","newTags","oldAllowed","newAllowed","localStorage","getItem","result","setItem","refresh","forceLoad","_upsertCategorySupport","registerEditCategoryTab","primary","component","condition","get","enable_category_type_setup","forEach","setProperties","_moveToTopic","_moveSolutionConfirmation","modifyClass","pluginId","_solvedOriginalShow","opts","_super","bind","originalShow","selectedPosts","hasSolvedPost","p","_rsvp","_discourse","SolvedPostsStream","loading","loaded","itemsLoaded","canLoadMore","siteCategories","noContent","findItems","Promise","resolve","then","userSolvedPosts","user_solved_posts","create","topic_title","find","c","finally","UserActivitySolved","user","modelFor","stream","categories","emptyState","setupController","renderTemplate","render","title","body","resource","route","_emptyState","_userStream"],"sources":["discourse/plugins/discourse-solved/discourse/components/modal/move-solution-confirmation.js","discourse/plugins/discourse-solved/discourse/components/modal/solved-removal-confirmation.js","discourse/plugins/discourse-solved/discourse/components/solved-accept-answer-button.js","discourse/plugins/discourse-solved/discourse/components/solved-accepted-answer.js","discourse/plugins/discourse-solved/discourse/components/solved-unaccept-answer-button.js","discourse/plugins/discourse-solved/discourse/components/upsert-category-support.js","discourse/plugins/discourse-solved/discourse/connectors/after-topic-status/solved-status.js","discourse/plugins/discourse-solved/discourse/connectors/bread-crumbs-right/solved-status-filter.js","discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings-upsert.js","discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings.js","discourse/plugins/discourse-solved/discourse/connectors/topic-navigation/no-answer.js","discourse/plugins/discourse-solved/discourse/connectors/user-activity-bottom/solved-list.js","discourse/plugins/discourse-solved/discourse/connectors/user-card-metadata/accepted-answers.js","discourse/plugins/discourse-solved/discourse/connectors/user-summary-stat/solved-count.js","discourse/plugins/discourse-solved/discourse/initializers/add-topic-list-class.js","discourse/plugins/discourse-solved/discourse/initializers/extend-for-solved-button.js","discourse/plugins/discourse-solved/discourse/initializers/solved-admin-plugin-configuration-nav.js","discourse/plugins/discourse-solved/discourse/initializers/solved-category-change-confirmation.js","discourse/plugins/discourse-solved/discourse/initializers/solved-category-type-tab.js","discourse/plugins/discourse-solved/discourse/lib/set-accepted-solution.js","discourse/plugins/discourse-solved/discourse/pre-initializers/solved-move-confirmation.js","discourse/plugins/discourse-solved/discourse/routes/user-activity/solved.js","discourse/plugins/discourse-solved/discourse/solved-route-map.js","discourse/plugins/discourse-solved/discourse/templates/user-activity/solved.js"],"sourcesContent":["define(\"discourse/plugins/discourse-solved/discourse/components/modal/move-solution-confirmation\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _dButton, _dModal, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class MoveSolutionConfirmationModal extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"dontShowAgain\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #dontShowAgain = (dt7948.i(this, \"dontShowAgain\"), void 0);\n    get confirmLabel() {\n      return this.args.model.count > 1 ? \"solved.move_post_confirm.other\" : \"solved.move_post_confirm.one\";\n    }\n    toggleDontShowAgain(event) {\n      this.dontShowAgain = event.target.checked;\n    }\n    static {\n      dt7948.n(this.prototype, \"toggleDontShowAgain\", [_object.action]);\n    }\n    confirm() {\n      this.args.closeModal({\n        confirmed: true,\n        dontShowAgain: this.dontShowAgain\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"confirm\", [_object.action]);\n    }\n    cancel() {\n      this.args.closeModal({\n        confirmed: false\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"cancel\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <DModal\n        @closeModal={{this.cancel}}\n        @title={{i18n \"solved.confirm_move_solution_title\"}}\n        class=\"move-solution-confirmation-modal\"\n      >\n        <:body>\n          <p>{{i18n \"solved.confirm_move_solution\" count=@model.count}}</p>\n          <div class=\"control-group\">\n            <label class=\"checkbox-label move-solution-dont-show-again\">\n              <input\n                type=\"checkbox\"\n                checked={{this.dontShowAgain}}\n                {{on \"change\" this.toggleDontShowAgain}}\n              />\n              {{i18n \"solved.dont_show_again\"}}\n            </label>\n          </div>\n        </:body>\n        <:footer>\n          <DButton\n            @action={{this.confirm}}\n            @label={{this.confirmLabel}}\n            class=\"btn-primary\"\n          />\n          <DButton\n            @action={{this.cancel}}\n            @label=\"solved.move_post_cancel\"\n            class=\"btn-transparent\"\n          />\n        </:footer>\n      </DModal>\n      */\n      {\n        \"id\": \"pBIL7VpO\",\n        \"block\": \"[[[8,[32,0],[[24,0,\\\"move-solution-confirmation-modal\\\"]],[[\\\"@closeModal\\\",\\\"@title\\\"],[[30,0,[\\\"cancel\\\"]],[28,[32,1],[\\\"solved.confirm_move_solution_title\\\"],null]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n    \\\"],[10,2],[12],[1,[28,[32,1],[\\\"solved.confirm_move_solution\\\"],[[\\\"count\\\"],[[30,1,[\\\"count\\\"]]]]]],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"control-group\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox-label move-solution-dont-show-again\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,0,[\\\"dontShowAgain\\\"]]],[24,4,\\\"checkbox\\\"],[4,[32,2],[\\\"change\\\",[30,0,[\\\"toggleDontShowAgain\\\"]]],null],[12],[13],[1,\\\"\\\\n        \\\"],[1,[28,[32,1],[\\\"solved.dont_show_again\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]],[[[1,\\\"\\\\n    \\\"],[8,[32,3],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"confirm\\\"]],[30,0,[\\\"confirmLabel\\\"]]]],null],[1,\\\"\\\\n    \\\"],[8,[32,3],[[24,0,\\\"btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"cancel\\\"]],\\\"solved.move_post_cancel\\\"]],null],[1,\\\"\\\\n  \\\"]],[]]]]]],[\\\"@model\\\"],[]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/modal/move-solution-confirmation.js\",\n        \"scope\": () => [_dModal.default, _discourseI18n.i18n, _modifier.on, _dButton.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = MoveSolutionConfirmationModal;\n});","define(\"discourse/plugins/discourse-solved/discourse/components/modal/solved-removal-confirmation\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _dButton, _dModal, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedRemovalConfirmationModal extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"dontShowAgain\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #dontShowAgain = (dt7948.i(this, \"dontShowAgain\"), void 0);\n    toggleDontShowAgain(event) {\n      this.dontShowAgain = event.target.checked;\n    }\n    static {\n      dt7948.n(this.prototype, \"toggleDontShowAgain\", [_object.action]);\n    }\n    confirm() {\n      this.args.closeModal({\n        confirmed: true,\n        dontShowAgain: this.dontShowAgain\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"confirm\", [_object.action]);\n    }\n    cancel() {\n      this.args.closeModal({\n        confirmed: false\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"cancel\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <DModal\n        @closeModal={{this.cancel}}\n        @title={{i18n \"solved.confirm_solved_removal_title\"}}\n        class=\"solved-removal-confirmation-modal\"\n      >\n        <:body>\n          <p>{{i18n \"solved.confirm_solved_removal\"}}</p>\n          <div class=\"control-group\">\n            <label class=\"checkbox-label solved-removal-dont-show-again\">\n              <input\n                type=\"checkbox\"\n                checked={{this.dontShowAgain}}\n                {{on \"change\" this.toggleDontShowAgain}}\n              />\n              {{i18n \"solved.dont_show_again\"}}\n            </label>\n          </div>\n        </:body>\n        <:footer>\n          <DButton\n            @action={{this.confirm}}\n            @label=\"solved.confirm_solved_removal_confirm\"\n            class=\"btn-primary\"\n          />\n          <DButton\n            @action={{this.cancel}}\n            @label=\"solved.confirm_solved_removal_cancel\"\n            class=\"btn-transparent\"\n          />\n        </:footer>\n      </DModal>\n      */\n      {\n        \"id\": \"R+tWhWe9\",\n        \"block\": \"[[[8,[32,0],[[24,0,\\\"solved-removal-confirmation-modal\\\"]],[[\\\"@closeModal\\\",\\\"@title\\\"],[[30,0,[\\\"cancel\\\"]],[28,[32,1],[\\\"solved.confirm_solved_removal_title\\\"],null]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n    \\\"],[10,2],[12],[1,[28,[32,1],[\\\"solved.confirm_solved_removal\\\"],null]],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"control-group\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox-label solved-removal-dont-show-again\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,0,[\\\"dontShowAgain\\\"]]],[24,4,\\\"checkbox\\\"],[4,[32,2],[\\\"change\\\",[30,0,[\\\"toggleDontShowAgain\\\"]]],null],[12],[13],[1,\\\"\\\\n        \\\"],[1,[28,[32,1],[\\\"solved.dont_show_again\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]],[[[1,\\\"\\\\n    \\\"],[8,[32,3],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"confirm\\\"]],\\\"solved.confirm_solved_removal_confirm\\\"]],null],[1,\\\"\\\\n    \\\"],[8,[32,3],[[24,0,\\\"btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"cancel\\\"]],\\\"solved.confirm_solved_removal_cancel\\\"]],null],[1,\\\"\\\\n  \\\"]],[]]]]]],[],[]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/modal/solved-removal-confirmation.js\",\n        \"scope\": () => [_dModal.default, _discourseI18n.i18n, _modifier.on, _dButton.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedRemovalConfirmationModal;\n});","define(\"discourse/plugins/discourse-solved/discourse/components/solved-accept-answer-button\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/plugins/discourse-solved/discourse/lib/set-accepted-solution\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _dButton, _ajax, _ajaxError, _setAcceptedSolution, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedAcceptAnswerButton extends _component.default {\n    static hidden(args) {\n      return args.post.topic_accepted_answer;\n    }\n    static {\n      dt7948.g(this.prototype, \"appEvents\", [_service.service]);\n    }\n    #appEvents = (dt7948.i(this, \"appEvents\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"currentUser\", [_service.service]);\n    }\n    #currentUser = (dt7948.i(this, \"currentUser\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #saving = (dt7948.i(this, \"saving\"), void 0);\n    get showLabel() {\n      return this.currentUser?.id === this.args.post.topicCreatedById;\n    }\n    async acceptAnswer() {\n      const post = this.args.post;\n      this.saving = true;\n      try {\n        await acceptPost(post, this.currentUser);\n        this.appEvents.trigger(\"discourse-solved:solution-toggled\", post);\n      } catch (e) {\n        (0, _ajaxError.popupAjaxError)(e);\n      } finally {\n        this.saving = false;\n      }\n    }\n    static {\n      dt7948.n(this.prototype, \"acceptAnswer\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <DButton\n        class=\"post-action-menu__solved-unaccepted unaccepted\"\n        ...attributes\n        @action={{this.acceptAnswer}}\n        @disabled={{this.saving}}\n        @icon=\"far-square-check\"\n        @label={{if this.showLabel \"solved.solution\"}}\n        @title=\"solved.accept_answer\"\n      />\n      */\n      {\n        \"id\": \"nhx4E2xD\",\n        \"block\": \"[[[8,[32,0],[[24,0,\\\"post-action-menu__solved-unaccepted unaccepted\\\"],[17,1]],[[\\\"@action\\\",\\\"@disabled\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@title\\\"],[[30,0,[\\\"acceptAnswer\\\"]],[30,0,[\\\"saving\\\"]],\\\"far-square-check\\\",[52,[30,0,[\\\"showLabel\\\"]],\\\"solved.solution\\\"],\\\"solved.accept_answer\\\"]],null]],[\\\"&attrs\\\"],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/solved-accept-answer-button.js\",\n        \"scope\": () => [_dButton.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedAcceptAnswerButton;\n  async function acceptPost(post) {\n    if (!post.can_accept_answer || post.accepted_answer) {\n      return;\n    }\n    const topic = post.topic;\n    try {\n      const acceptedAnswer = await (0, _ajax.ajax)(\"/solution/accept\", {\n        type: \"POST\",\n        data: {\n          id: post.id\n        }\n      });\n      (0, _setAcceptedSolution.default)(topic, acceptedAnswer);\n    } catch (e) {\n      (0, _ajaxError.popupAjaxError)(e);\n    }\n  }\n});","define(\"discourse/plugins/discourse-solved/discourse/components/solved-accepted-answer\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"discourse/components/d-button\", \"discourse/components/interpolated-translation\", \"discourse/components/post/cooked-html\", \"discourse/components/user-link\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _template, _dButton, _interpolatedTranslation, _cookedHtml, _userLink, _concatClass, _dIcon, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedAcceptedAnswer extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"expanded\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #expanded = (dt7948.i(this, \"expanded\"), void 0);\n    get topic() {\n      return this.args.post.topic;\n    }\n    get acceptedAnswer() {\n      return this.topic.accepted_answer;\n    }\n    get quoteId() {\n      return `accepted-answer-${this.topic.id}-${this.acceptedAnswer.post_number}`;\n    }\n    get hasExcerpt() {\n      return !!this.acceptedAnswer.excerpt;\n    }\n    get content() {\n      if (!this.hasExcerpt) {\n        return \"\";\n      }\n      return (0, _template.htmlSafe)(this.acceptedAnswer.excerpt);\n    }\n    get showMarkedBy() {\n      return this.siteSettings.show_who_marked_solved;\n    }\n    get showSolvedBy() {\n      return !(!this.acceptedAnswer.username || !this.acceptedAnswer.post_number);\n    }\n    get postNumber() {\n      return (0, _discourseI18n.i18n)(\"solved.accepted_answer_post_number\", {\n        post_number: this.acceptedAnswer.post_number\n      });\n    }\n    get solverUsername() {\n      return this.acceptedAnswer.username;\n    }\n    get accepterUsername() {\n      return this.acceptedAnswer.accepter_username;\n    }\n    get solverDisplayName() {\n      const username = this.acceptedAnswer.username;\n      const name = this.acceptedAnswer.name;\n      return this.siteSettings.display_name_on_posts && name ? name : username;\n    }\n    get accepterDisplayName() {\n      const username = this.acceptedAnswer.accepter_username;\n      const name = this.acceptedAnswer.accepter_name;\n      return this.siteSettings.display_name_on_posts && name ? name : username;\n    }\n    get postPath() {\n      const postNumber = this.acceptedAnswer.post_number;\n      return `${this.topic.url}/${postNumber}`;\n    }\n    toggleExpanded() {\n      this.expanded = !this.expanded;\n    }\n    static {\n      dt7948.n(this.prototype, \"toggleExpanded\", [_object.action]);\n    }\n    onClickTitle(event) {\n      if (event.target.closest(\"a\") || event.target.closest(\".quote-controls\")) {\n        return;\n      }\n      this.toggleExpanded();\n    }\n    static {\n      dt7948.n(this.prototype, \"onClickTitle\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        {{! template-lint-disable no-unnecessary-concat }}\n      {{#if this.acceptedAnswer}}\n        <aside\n          class={{concatClass\n            \"quote accepted-answer\"\n            (if this.hasExcerpt \"accepted-answer--has-excerpt\")\n            (unless this.content \"title-only\")\n          }}\n          data-expanded=\"{{this.expanded}}\"\n          data-username={{this.acceptedAnswer.username}}\n          data-post={{this.acceptedAnswer.post_number}}\n          data-topic={{this.topic.id}}\n        >\n          <div\n            class=\"title\"\n            data-has-quote-controls=\"true\"\n            {{(if this.content (modifier on \"click\" this.onClickTitle))}}\n          >\n            <div class=\"accepted-answer--solver-accepter\">\n              <div class=\"accepted-answer--solver\">\n                {{#if this.showSolvedBy}}\n                  {{icon \"square-check\" class=\"accepted\"}}\n                  <InterpolatedTranslation\n                    @key=\"solved.accepted_answer_solver_info\"\n                    as |Placeholder|\n                  >\n                    <Placeholder @name=\"user\">\n                      <UserLink\n                        @username={{this.solverUsername}}\n                      >{{this.solverDisplayName}}</UserLink>\n                    </Placeholder>\n                    <Placeholder @name=\"post\">\n                      <a href={{this.postPath}}>{{this.postNumber}}</a>\n                    </Placeholder>\n                  </InterpolatedTranslation>\n                {{/if}}\n              </div>\n              <div class=\"accepted-answer--accepter\">\n                {{#if this.showMarkedBy}}\n                  <InterpolatedTranslation\n                    @key=\"solved.marked_solved_by\"\n                    as |Placeholder|\n                  >\n                    <Placeholder @name=\"user\">\n                      <UserLink\n                        @username={{this.accepterUsername}}\n                      >{{this.accepterDisplayName}}</UserLink>\n                    </Placeholder>\n                  </InterpolatedTranslation>\n                {{/if}}\n              </div>\n            </div>\n            <div class=\"quote-controls\">\n              {{#if this.content}}\n                <DButton\n                  class=\"btn-flat quote-toggle\"\n                  @action={{this.toggleExpanded}}\n                  @ariaControls={{this.quoteId}}\n                  @ariaExpanded={{this.expanded}}\n                  @ariaLabel={{if this.expanded \"post.collapse\" \"expand\"}}\n                  @title={{if this.expanded \"post.collapse\" \"expand\"}}\n                  @icon={{if this.expanded \"chevron-up\" \"chevron-down\"}}\n                />\n              {{/if}}\n              <DButton\n                class=\"btn-flat back\"\n                @href={{this.postPath}}\n                @title=\"post.follow_quote\"\n                @ariaLabel=\"post.follow_quote\"\n                @icon=\"arrow-down\"\n              />\n            </div>\n          </div>\n          {{#if this.content}}\n            <blockquote id={{this.quoteId}}>\n              <PostCookedHtml\n                @post={{@post}}\n                @cooked={{this.content}}\n                @decoratorState={{@decoratorState}}\n              />\n            </blockquote>\n          {{/if}}\n        </aside>\n      {{/if}}\n      */\n      {\n        \"id\": \"0/ybYHYq\",\n        \"block\": \"[[[41,[30,0,[\\\"acceptedAnswer\\\"]],[[[1,\\\"  \\\"],[10,\\\"aside\\\"],[15,0,[28,[32,0],[\\\"quote accepted-answer\\\",[52,[30,0,[\\\"hasExcerpt\\\"]],\\\"accepted-answer--has-excerpt\\\"],[52,[51,[30,0,[\\\"content\\\"]]],\\\"title-only\\\"]],null]],[15,\\\"data-expanded\\\",[29,[[30,0,[\\\"expanded\\\"]]]]],[15,\\\"data-username\\\",[30,0,[\\\"acceptedAnswer\\\",\\\"username\\\"]]],[15,\\\"data-post\\\",[30,0,[\\\"acceptedAnswer\\\",\\\"post_number\\\"]]],[15,\\\"data-topic\\\",[30,0,[\\\"topic\\\",\\\"id\\\"]]],[12],[1,\\\"\\\\n    \\\"],[11,0],[24,0,\\\"title\\\"],[24,\\\"data-has-quote-controls\\\",\\\"true\\\"],[4,[52,[30,0,[\\\"content\\\"]],[50,[32,1],2,[\\\"click\\\",[30,0,[\\\"onClickTitle\\\"]]],null]],null,null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"accepted-answer--solver-accepter\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"accepted-answer--solver\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showSolvedBy\\\"]],[[[1,\\\"            \\\"],[1,[28,[32,2],[\\\"square-check\\\"],[[\\\"class\\\"],[\\\"accepted\\\"]]]],[1,\\\"\\\\n            \\\"],[8,[32,3],null,[[\\\"@key\\\"],[\\\"solved.accepted_answer_solver_info\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              \\\"],[8,[30,1],null,[[\\\"@name\\\"],[\\\"user\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[32,4],null,[[\\\"@username\\\"],[[30,0,[\\\"solverUsername\\\"]]]],[[\\\"default\\\"],[[[[1,[30,0,[\\\"solverDisplayName\\\"]]]],[]]]]],[1,\\\"\\\\n              \\\"]],[]]]]],[1,\\\"\\\\n              \\\"],[8,[30,1],null,[[\\\"@name\\\"],[\\\"post\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[10,3],[15,6,[30,0,[\\\"postPath\\\"]]],[12],[1,[30,0,[\\\"postNumber\\\"]]],[13],[1,\\\"\\\\n              \\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"accepted-answer--accepter\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showMarkedBy\\\"]],[[[1,\\\"            \\\"],[8,[32,3],null,[[\\\"@key\\\"],[\\\"solved.marked_solved_by\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              \\\"],[8,[30,2],null,[[\\\"@name\\\"],[\\\"user\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[32,4],null,[[\\\"@username\\\"],[[30,0,[\\\"accepterUsername\\\"]]]],[[\\\"default\\\"],[[[[1,[30,0,[\\\"accepterDisplayName\\\"]]]],[]]]]],[1,\\\"\\\\n              \\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"quote-controls\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"content\\\"]],[[[1,\\\"          \\\"],[8,[32,5],[[24,0,\\\"btn-flat quote-toggle\\\"]],[[\\\"@action\\\",\\\"@ariaControls\\\",\\\"@ariaExpanded\\\",\\\"@ariaLabel\\\",\\\"@title\\\",\\\"@icon\\\"],[[30,0,[\\\"toggleExpanded\\\"]],[30,0,[\\\"quoteId\\\"]],[30,0,[\\\"expanded\\\"]],[52,[30,0,[\\\"expanded\\\"]],\\\"post.collapse\\\",\\\"expand\\\"],[52,[30,0,[\\\"expanded\\\"]],\\\"post.collapse\\\",\\\"expand\\\"],[52,[30,0,[\\\"expanded\\\"]],\\\"chevron-up\\\",\\\"chevron-down\\\"]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"        \\\"],[8,[32,5],[[24,0,\\\"btn-flat back\\\"]],[[\\\"@href\\\",\\\"@title\\\",\\\"@ariaLabel\\\",\\\"@icon\\\"],[[30,0,[\\\"postPath\\\"]],\\\"post.follow_quote\\\",\\\"post.follow_quote\\\",\\\"arrow-down\\\"]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"content\\\"]],[[[1,\\\"      \\\"],[10,\\\"blockquote\\\"],[15,1,[30,0,[\\\"quoteId\\\"]]],[12],[1,\\\"\\\\n        \\\"],[8,[32,6],null,[[\\\"@post\\\",\\\"@cooked\\\",\\\"@decoratorState\\\"],[[30,3],[30,0,[\\\"content\\\"]],[30,4]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"Placeholder\\\",\\\"Placeholder\\\",\\\"@post\\\",\\\"@decoratorState\\\"],[\\\"if\\\",\\\"unless\\\",\\\"modifier\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/solved-accepted-answer.js\",\n        \"scope\": () => [_concatClass.default, _modifier.on, _dIcon.default, _interpolatedTranslation.default, _userLink.default, _dButton.default, _cookedHtml.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedAcceptedAnswer;\n});","define(\"discourse/plugins/discourse-solved/discourse/components/solved-unaccept-answer-button\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/components/interpolated-translation\", \"discourse/components/user-link\", \"discourse/float-kit/components/d-tooltip\", \"discourse/helpers/d-icon\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/truth-helpers\", \"discourse-i18n\", \"discourse/plugins/discourse-solved/discourse/lib/set-accepted-solution\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _dButton, _interpolatedTranslation, _userLink, _dTooltip, _dIcon, _ajax, _ajaxError, _truthHelpers, _discourseI18n, _setAcceptedSolution, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedUnacceptAnswerButton extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"appEvents\", [_service.service]);\n    }\n    #appEvents = (dt7948.i(this, \"appEvents\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #saving = (dt7948.i(this, \"saving\"), void 0);\n    async unacceptAnswer() {\n      const post = this.args.post;\n      this.saving = true;\n      try {\n        await unacceptPost(post);\n        this.appEvents.trigger(\"discourse-solved:solution-toggled\", post);\n      } catch (e) {\n        (0, _ajaxError.popupAjaxError)(e);\n      } finally {\n        this.saving = false;\n      }\n    }\n    static {\n      dt7948.n(this.prototype, \"unacceptAnswer\", [_object.action]);\n    }\n    get showAcceptedBy() {\n      return !(!this.siteSettings.show_who_marked_solved || !this.args.post.topic.accepted_answer.accepter_username);\n    }\n    get acceptedByUsername() {\n      return this.args.post.topic.accepted_answer.accepter_username;\n    }\n    get acceptedByDisplayName() {\n      const username = this.args.post.topic.accepted_answer.accepter_username;\n      const name = this.args.post.topic.accepted_answer.accepter_name;\n      return this.siteSettings.display_name_on_posts && name ? name : username;\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <span class=\"extra-buttons\">\n        {{#if (and @post.can_accept_answer @post.accepted_answer)}}\n          {{#if this.showAcceptedBy}}\n            <DTooltip @identifier=\"post-action-menu__solved-accepted-tooltip\">\n              <:trigger>\n                <DButton\n                  class=\"post-action-menu__solved-accepted accepted fade-out\"\n                  ...attributes\n                  @action={{this.unacceptAnswer}}\n                  @icon=\"square-check\"\n                  @label=\"solved.solution\"\n                  @title=\"solved.unaccept_answer\"\n                />\n              </:trigger>\n              <:content>\n                <InterpolatedTranslation\n                  @key=\"solved.marked_solved_by\"\n                  as |Placeholder|\n                >\n                  <Placeholder @name=\"user\">\n                    <UserLink @username={{this.acceptedByUsername}}>\n                      {{this.acceptedByDisplayName}}\n                    </UserLink>\n                  </Placeholder>\n                </InterpolatedTranslation>\n              </:content>\n            </DTooltip>\n          {{else}}\n            <DButton\n              class=\"post-action-menu__solved-accepted accepted fade-out\"\n              ...attributes\n              @action={{this.unacceptAnswer}}\n              @disabled={{this.saving}}\n              @icon=\"square-check\"\n              @label=\"solved.solution\"\n              @title=\"solved.unaccept_answer\"\n            />\n          {{/if}}\n        {{else}}\n          <span\n            class=\"accepted-text\"\n            title={{i18n \"solved.accepted_description\"}}\n          >\n            <span>{{icon \"check\"}}</span>\n            <span class=\"accepted-label\">\n              {{i18n \"solved.solution\"}}\n            </span>\n          </span>\n        {{/if}}\n      </span>\n      */\n      {\n        \"id\": \"UwyiNFjF\",\n        \"block\": \"[[[10,1],[14,0,\\\"extra-buttons\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,1,[\\\"can_accept_answer\\\"]],[30,1,[\\\"accepted_answer\\\"]]],null],[[[41,[30,0,[\\\"showAcceptedBy\\\"]],[[[1,\\\"      \\\"],[8,[32,1],null,[[\\\"@identifier\\\"],[\\\"post-action-menu__solved-accepted-tooltip\\\"]],[[\\\"trigger\\\",\\\"content\\\"],[[[[1,\\\"\\\\n          \\\"],[8,[32,2],[[24,0,\\\"post-action-menu__solved-accepted accepted fade-out\\\"],[17,2]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@title\\\"],[[30,0,[\\\"unacceptAnswer\\\"]],\\\"square-check\\\",\\\"solved.solution\\\",\\\"solved.unaccept_answer\\\"]],null],[1,\\\"\\\\n        \\\"]],[]],[[[1,\\\"\\\\n          \\\"],[8,[32,3],null,[[\\\"@key\\\"],[\\\"solved.marked_solved_by\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n            \\\"],[8,[30,3],null,[[\\\"@name\\\"],[\\\"user\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              \\\"],[8,[32,4],null,[[\\\"@username\\\"],[[30,0,[\\\"acceptedByUsername\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[1,[30,0,[\\\"acceptedByDisplayName\\\"]]],[1,\\\"\\\\n              \\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n          \\\"]],[3]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[8,[32,2],[[24,0,\\\"post-action-menu__solved-accepted accepted fade-out\\\"],[17,2]],[[\\\"@action\\\",\\\"@disabled\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@title\\\"],[[30,0,[\\\"unacceptAnswer\\\"]],[30,0,[\\\"saving\\\"]],\\\"square-check\\\",\\\"solved.solution\\\",\\\"solved.unaccept_answer\\\"]],null],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"accepted-text\\\"],[15,\\\"title\\\",[28,[32,5],[\\\"solved.accepted_description\\\"],null]],[12],[1,\\\"\\\\n      \\\"],[10,1],[12],[1,[28,[32,6],[\\\"check\\\"],null]],[13],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"accepted-label\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[32,5],[\\\"solved.solution\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[13]],[\\\"@post\\\",\\\"&attrs\\\",\\\"Placeholder\\\"],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/solved-unaccept-answer-button.js\",\n        \"scope\": () => [_truthHelpers.and, _dTooltip.default, _dButton.default, _interpolatedTranslation.default, _userLink.default, _discourseI18n.i18n, _dIcon.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedUnacceptAnswerButton;\n  async function unacceptPost(post) {\n    if (!post.can_accept_answer || !post.accepted_answer) {\n      return;\n    }\n    const topic = post.topic;\n    try {\n      await (0, _ajax.ajax)(\"/solution/unaccept\", {\n        type: \"POST\",\n        data: {\n          id: post.id\n        }\n      });\n      (0, _setAcceptedSolution.default)(topic, undefined);\n    } catch (e) {\n      (0, _ajaxError.popupAjaxError)(e);\n    }\n  }\n});","define(\"discourse/plugins/discourse-solved/discourse/components/upsert-category-support\", [\"exports\", \"@glimmer/component\", \"discourse/truth-helpers\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _truthHelpers, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class UpsertCategorySupport extends _component.default {\n    constructor() {\n      super(...arguments);\n      this.applyDefaults();\n    }\n    get schema() {\n      return this.args.category?.category_type_schema ?? [];\n    }\n    applyDefaults() {\n      for (const entry of this.schema) {\n        if (entry.default !== undefined && this.args.transientData?.[entry.key] === undefined) {\n          this.args.form.set(entry.key, entry.default);\n        }\n      }\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <@form.Section\n        class=\"edit-category-tab edit-category-tab-support\n          {{if (eq @selectedTab 'support') 'active'}}\"\n      >\n        {{#each this.schema as |entry|}}\n          {{#if (eq entry.type \"bool\")}}\n            <@form.Field\n              @name={{entry.key}}\n              @title={{entry.label}}\n              @format=\"large\"\n              as |field|\n            >\n              <field.Checkbox />\n            </@form.Field>\n          {{else if (eq entry.type \"integer\")}}\n            <@form.Field\n              @name={{entry.key}}\n              @title={{entry.label}}\n              @format=\"large\"\n              as |field|\n            >\n              <field.Input @type=\"number\" />\n            </@form.Field>\n          {{else}}\n            <@form.Field\n              @name={{entry.key}}\n              @title={{entry.label}}\n              @format=\"large\"\n              as |field|\n            >\n              <field.Input />\n            </@form.Field>\n          {{/if}}\n        {{/each}}\n      </@form.Section>\n      */\n      {\n        \"id\": \"hk1nUyYC\",\n        \"block\": \"[[[8,[30,1,[\\\"Section\\\"]],[[16,0,[29,[\\\"edit-category-tab edit-category-tab-support\\\\n    \\\",[52,[28,[32,0],[[30,2],\\\"support\\\"],null],\\\"active\\\"]]]]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"schema\\\"]]],null]],null],null,[[[41,[28,[32,0],[[30,3,[\\\"type\\\"]],\\\"bool\\\"],null],[[[1,\\\"      \\\"],[8,[30,1,[\\\"Field\\\"]],null,[[\\\"@name\\\",\\\"@title\\\",\\\"@format\\\"],[[30,3,[\\\"key\\\"]],[30,3,[\\\"label\\\"]],\\\"large\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,4,[\\\"Checkbox\\\"]],null,null,null],[1,\\\"\\\\n      \\\"]],[4]]]]],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,0],[[30,3,[\\\"type\\\"]],\\\"integer\\\"],null],[[[1,\\\"      \\\"],[8,[30,1,[\\\"Field\\\"]],null,[[\\\"@name\\\",\\\"@title\\\",\\\"@format\\\"],[[30,3,[\\\"key\\\"]],[30,3,[\\\"label\\\"]],\\\"large\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,5,[\\\"Input\\\"]],null,[[\\\"@type\\\"],[\\\"number\\\"]],null],[1,\\\"\\\\n      \\\"]],[5]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[8,[30,1,[\\\"Field\\\"]],null,[[\\\"@name\\\",\\\"@title\\\",\\\"@format\\\"],[[30,3,[\\\"key\\\"]],[30,3,[\\\"label\\\"]],\\\"large\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,6,[\\\"Input\\\"]],null,null,null],[1,\\\"\\\\n      \\\"]],[6]]]]],[1,\\\"\\\\n    \\\"]],[]]]],[]]]],[3]],null]],[]]]]]],[\\\"@form\\\",\\\"@selectedTab\\\",\\\"entry\\\",\\\"field\\\",\\\"field\\\",\\\"field\\\"],[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/components/upsert-category-support.js\",\n        \"scope\": () => [_truthHelpers.eq],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = UpsertCategorySupport;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/after-topic-status/solved-status\", [\"exports\", \"discourse/helpers/d-icon\", \"discourse/truth-helpers\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _dIcon, _truthHelpers, _discourseI18n, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const SolvedStatus = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    {{~#if\n    (or @outletArgs.topic.has_accepted_answer @outletArgs.topic.accepted_answer)\n  ~}}\n    <span\n      title={{i18n \"topic_statuses.solved.help\"}}\n      class=\"topic-status --solved\"\n    >{{icon \"far-square-check\"}}</span>\n  {{~else if\n    (and\n      @outletArgs.topic.can_have_answer (eq @outletArgs.context \"topic-list\")\n    )\n  ~}}\n    <span\n      title={{i18n \"solved.has_no_accepted_answer\"}}\n      class=\"topic-status --unsolved\"\n    >{{icon \"far-square\"}}</span>\n  {{~/if~}}\n  */\n  {\n    \"id\": \"6V/ktIyH\",\n    \"block\": \"[[[41,[28,[32,0],[[30,1,[\\\"topic\\\",\\\"has_accepted_answer\\\"]],[30,1,[\\\"topic\\\",\\\"accepted_answer\\\"]]],null],[[[10,1],[15,\\\"title\\\",[28,[32,1],[\\\"topic_statuses.solved.help\\\"],null]],[14,0,\\\"topic-status --solved\\\"],[12],[1,[28,[32,2],[\\\"far-square-check\\\"],null]],[13]],[]],[[[41,[28,[32,3],[[30,1,[\\\"topic\\\",\\\"can_have_answer\\\"]],[28,[32,4],[[30,1,[\\\"context\\\"]],\\\"topic-list\\\"],null]],null],[[[10,1],[15,\\\"title\\\",[28,[32,1],[\\\"solved.has_no_accepted_answer\\\"],null]],[14,0,\\\"topic-status --unsolved\\\"],[12],[1,[28,[32,2],[\\\"far-square\\\"],null]],[13]],[]],null]],[]]]],[\\\"@outletArgs\\\"],[\\\"if\\\"]]\",\n    \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/after-topic-status/solved-status.js\",\n    \"scope\": () => [_truthHelpers.or, _discourseI18n.i18n, _dIcon.default, _truthHelpers.and, _truthHelpers.eq],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"solved-status:SolvedStatus\"));\n  var _default = _exports.default = SolvedStatus;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/bread-crumbs-right/solved-status-filter\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/object\", \"@ember/service\", \"discourse/select-kit/components/combo-box\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _object, _service, _comboBox, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const QUERY_PARAM_VALUES = {\n    solved: \"yes\",\n    unsolved: \"no\",\n    all: null\n  };\n  const UX_VALUES = {\n    yes: \"solved\",\n    no: \"unsolved\"\n  };\n  class SolvedStatusFilter extends _component.default {\n    static shouldRender(args, context, owner) {\n      const router = owner.lookup(\"service:router\");\n      if (!context.siteSettings.show_filter_by_solved_status || router.currentRouteName === \"discovery.categories\" || args.editingCategory) {\n        return false;\n      } else if (context.siteSettings.allow_solved_on_all_topics || router.currentRouteName === \"tag.show\") {\n        return true;\n      } else {\n        return args.currentCategory?.custom_fields?.enable_accepted_answers === \"true\";\n      }\n    }\n    static {\n      dt7948.g(this.prototype, \"router\", [_service.service]);\n    }\n    #router = (dt7948.i(this, \"router\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    get statuses() {\n      return [\"all\", \"solved\", \"unsolved\"].map(status => {\n        return {\n          name: (0, _discourseI18n.i18n)(`solved.topic_status_filter.${status}`),\n          value: status\n        };\n      });\n    }\n    get status() {\n      const queryParamValue = this.router.currentRoute.queryParams?.solved;\n      return UX_VALUES[queryParamValue] || \"all\";\n    }\n    changeStatus(newStatus) {\n      this.router.transitionTo({\n        queryParams: {\n          solved: QUERY_PARAM_VALUES[newStatus]\n        }\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"changeStatus\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        {{#if this.siteSettings.solved_enabled}}\n        <li>\n          <ComboBox\n            @content={{this.statuses}}\n            @value={{this.status}}\n            @valueProperty=\"value\"\n            @options={{hash caretDownIcon=\"angle-right\" caretUpIcon=\"angle-down\"}}\n            @onChange={{this.changeStatus}}\n            class=\"solved-status-filter\"\n          />\n        </li>\n      {{/if}}\n      */\n      {\n        \"id\": \"cztFjGjq\",\n        \"block\": \"[[[41,[30,0,[\\\"siteSettings\\\",\\\"solved_enabled\\\"]],[[[1,\\\"  \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[32,0],[[24,0,\\\"solved-status-filter\\\"]],[[\\\"@content\\\",\\\"@value\\\",\\\"@valueProperty\\\",\\\"@options\\\",\\\"@onChange\\\"],[[30,0,[\\\"statuses\\\"]],[30,0,[\\\"status\\\"]],\\\"value\\\",[28,[32,1],null,[[\\\"caretDownIcon\\\",\\\"caretUpIcon\\\"],[\\\"angle-right\\\",\\\"angle-down\\\"]]],[30,0,[\\\"changeStatus\\\"]]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/bread-crumbs-right/solved-status-filter.js\",\n        \"scope\": () => [_comboBox.default, _helper.hash],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedStatusFilter;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings-upsert\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedSettingsUpsert extends _component.default {\n    static shouldRender(args, context) {\n      return context.siteSettings.enable_simplified_category_creation;\n    }\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    get enableAcceptedAnswers() {\n      const value = this.args.outletArgs.transientData?.custom_fields?.enable_accepted_answers;\n      return value?.toString() === \"true\";\n    }\n    async onToggleAcceptedAnswers(_, {\n      set,\n      name\n    }) {\n      await set(name, this.enableAcceptedAnswers ? \"false\" : \"true\");\n    }\n    static {\n      dt7948.n(this.prototype, \"onToggleAcceptedAnswers\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        {{#let @outletArgs.form as |form|}}\n        <form.Section @title={{i18n \"solved.title\"}}>\n          <form.Object @name=\"custom_fields\" as |customFields|>\n            {{#unless this.siteSettings.allow_solved_on_all_topics}}\n              <customFields.Field\n                @name=\"enable_accepted_answers\"\n                @title={{i18n \"solved.allow_accepted_answers\"}}\n                @onSet={{this.onToggleAcceptedAnswers}}\n                as |field|\n              >\n                <field.Checkbox checked={{this.enableAcceptedAnswers}} />\n              </customFields.Field>\n            {{/unless}}\n      \n            <customFields.Field\n              @name=\"solved_topics_auto_close_hours\"\n              @title={{i18n \"solved.solved_topics_auto_close_hours\"}}\n              as |field|\n            >\n              <field.Input @type=\"number\" min=\"0\" />\n            </customFields.Field>\n          </form.Object>\n        </form.Section>\n      {{/let}}\n      */\n      {\n        \"id\": \"StHWoVjO\",\n        \"block\": \"[[[44,[[30,1,[\\\"form\\\"]]],[[[1,\\\"  \\\"],[8,[30,2,[\\\"Section\\\"]],null,[[\\\"@title\\\"],[[28,[32,0],[\\\"solved.title\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[8,[30,2,[\\\"Object\\\"]],null,[[\\\"@name\\\"],[\\\"custom_fields\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"siteSettings\\\",\\\"allow_solved_on_all_topics\\\"]]],[[[1,\\\"        \\\"],[8,[30,3,[\\\"Field\\\"]],null,[[\\\"@name\\\",\\\"@title\\\",\\\"@onSet\\\"],[\\\"enable_accepted_answers\\\",[28,[32,0],[\\\"solved.allow_accepted_answers\\\"],null],[30,0,[\\\"onToggleAcceptedAnswers\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[8,[30,4,[\\\"Checkbox\\\"]],[[16,\\\"checked\\\",[30,0,[\\\"enableAcceptedAnswers\\\"]]]],null,null],[1,\\\"\\\\n        \\\"]],[4]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"Field\\\"]],null,[[\\\"@name\\\",\\\"@title\\\"],[\\\"solved_topics_auto_close_hours\\\",[28,[32,0],[\\\"solved.solved_topics_auto_close_hours\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,5,[\\\"Input\\\"]],[[24,\\\"min\\\",\\\"0\\\"]],[[\\\"@type\\\"],[\\\"number\\\"]],null],[1,\\\"\\\\n      \\\"]],[5]]]]],[1,\\\"\\\\n    \\\"]],[3]]]]],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[2]]]],[\\\"@outletArgs\\\",\\\"form\\\",\\\"customFields\\\",\\\"field\\\",\\\"field\\\"],[\\\"let\\\",\\\"unless\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings-upsert.js\",\n        \"scope\": () => [_discourseI18n.i18n],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedSettingsUpsert;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"discourse/helpers/with-event-value\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _withEventValue, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedSettings extends _component.default {\n    static shouldRender(args, context) {\n      return !context.siteSettings.enable_simplified_category_creation;\n    }\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"enableAcceptedAnswers\", [_tracking.tracked], function () {\n        return this.args.outletArgs.category.custom_fields.enable_accepted_answers === \"true\";\n      });\n    }\n    #enableAcceptedAnswers = (dt7948.i(this, \"enableAcceptedAnswers\"), void 0);\n    get customFields() {\n      return this.args.outletArgs.category.custom_fields;\n    }\n    onChangeSetting(value) {\n      this.enableAcceptedAnswers = value;\n      this.customFields.enable_accepted_answers = value ? \"true\" : \"false\";\n    }\n    static {\n      dt7948.n(this.prototype, \"onChangeSetting\", [_object.action]);\n    }\n    onChangeAutoCloseHours(value) {\n      this.customFields.solved_topics_auto_close_hours = value;\n    }\n    static {\n      dt7948.n(this.prototype, \"onChangeAutoCloseHours\", [_object.action]);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <div class=\"category-custom-settings-outlet solved-settings\" ...attributes>\n        <h3>{{i18n \"solved.title\"}}</h3>\n      \n        {{#unless this.siteSettings.allow_solved_on_all_topics}}\n          <section class=\"field\">\n            <div class=\"enable-accepted-answer\">\n              <label class=\"checkbox-label\">\n                <input\n                  {{on\n                    \"change\"\n                    (withEventValue this.onChangeSetting \"target.checked\")\n                  }}\n                  checked={{this.enableAcceptedAnswers}}\n                  type=\"checkbox\"\n                />\n                {{i18n \"solved.allow_accepted_answers\"}}\n              </label>\n            </div>\n          </section>\n        {{/unless}}\n      \n        <section class=\"field auto-close-solved-topics\">\n          <label for=\"auto-close-solved-topics\">\n            {{i18n \"solved.solved_topics_auto_close_hours\"}}\n          </label>\n          <input\n            {{on \"input\" (withEventValue this.onChangeAutoCloseHours)}}\n            value={{@outletArgs.category.custom_fields.solved_topics_auto_close_hours}}\n            type=\"number\"\n            min=\"0\"\n            id=\"auto-close-solved-topics\"\n          />\n        </section>\n      </div>\n      */\n      {\n        \"id\": \"IZWgltdH\",\n        \"block\": \"[[[11,0],[24,0,\\\"category-custom-settings-outlet solved-settings\\\"],[17,1],[12],[1,\\\"\\\\n  \\\"],[10,\\\"h3\\\"],[12],[1,[28,[32,0],[\\\"solved.title\\\"],null]],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[51,[30,0,[\\\"siteSettings\\\",\\\"allow_solved_on_all_topics\\\"]]],[[[1,\\\"    \\\"],[10,\\\"section\\\"],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"enable-accepted-answer\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox-label\\\"],[12],[1,\\\"\\\\n          \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,0,[\\\"enableAcceptedAnswers\\\"]]],[24,4,\\\"checkbox\\\"],[4,[32,1],[\\\"change\\\",[28,[32,2],[[30,0,[\\\"onChangeSetting\\\"]],\\\"target.checked\\\"],null]],null],[12],[13],[1,\\\"\\\\n          \\\"],[1,[28,[32,0],[\\\"solved.allow_accepted_answers\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n  \\\"],[10,\\\"section\\\"],[14,0,\\\"field auto-close-solved-topics\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"auto-close-solved-topics\\\"],[12],[1,\\\"\\\\n      \\\"],[1,[28,[32,0],[\\\"solved.solved_topics_auto_close_hours\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"input\\\"],[16,2,[30,2,[\\\"category\\\",\\\"custom_fields\\\",\\\"solved_topics_auto_close_hours\\\"]]],[24,\\\"min\\\",\\\"0\\\"],[24,1,\\\"auto-close-solved-topics\\\"],[24,4,\\\"number\\\"],[4,[32,1],[\\\"input\\\",[28,[32,2],[[30,0,[\\\"onChangeAutoCloseHours\\\"]]],null]],null],[12],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"&attrs\\\",\\\"@outletArgs\\\"],[\\\"unless\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/category-custom-settings/solved-settings.js\",\n        \"scope\": () => [_discourseI18n.i18n, _modifier.on, _withEventValue.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedSettings;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/topic-navigation/no-answer\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/runloop\", \"@ember/service\", \"discourse/components/topic-navigation-popup\", \"discourse/lib/environment\", \"discourse/lib/later\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _runloop, _service, _topicNavigationPopup, _environment, _later, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const ONE_WEEK = 7 * 24 * 60 * 60 * 1000; // milliseconds\n  const MAX_DURATION_WITH_NO_ANSWER = ONE_WEEK;\n  const DISPLAY_DELAY = (0, _environment.isTesting)() ? 0 : 2000;\n  const CONFETTI_PARTICLE_COUNT = 50;\n  class NoAnswer extends _component.default {\n    static shouldRender(args, context) {\n      return !context.site.mobileView;\n    }\n    static {\n      dt7948.g(this.prototype, \"appEvents\", [_service.service]);\n    }\n    #appEvents = (dt7948.i(this, \"appEvents\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"currentUser\", [_service.service]);\n    }\n    #currentUser = (dt7948.i(this, \"currentUser\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"show\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #show = (dt7948.i(this, \"show\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"showConfetti\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #showConfetti = (dt7948.i(this, \"showConfetti\"), void 0);\n    oneWeek = ONE_WEEK;\n    constructor() {\n      super(...arguments);\n      this.appEvents.on(\"discourse-solved:solution-toggled\", this, this.hidePopup);\n      this._delayTimer = (0, _later.default)(() => {\n        const topic = this.args.outletArgs.topic;\n        const currentUser = this.currentUser;\n        // show notice if:\n        // - user can accept answer\n        // - it does not have an accepted answer\n        // - topic is old\n        // - topic has at least one reply from another user that can be accepted\n        if (!topic.accepted_answer && currentUser && topic.user_id === currentUser.id && moment() - moment(topic.created_at) > MAX_DURATION_WITH_NO_ANSWER && topic.postStream.posts.some(post => post.user_id !== currentUser.id && post.can_accept_answer)) {\n          this.show = true;\n        }\n      }, DISPLAY_DELAY);\n    }\n    willDestroy() {\n      super.willDestroy(...arguments);\n      (0, _runloop.cancel)(this._delayTimer);\n      this.appEvents.off(\"discourse-solved:solution-toggled\", this, this.hidePopup);\n    }\n    hidePopup() {\n      if (!this.show) {\n        return;\n      }\n      this.show = false;\n      if (!window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n        this.showConfetti = true;\n      }\n    }\n    get confettiParticles() {\n      return Array.from({\n        length: CONFETTI_PARTICLE_COUNT\n      }, (_, i) => i);\n    }\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        <div class=\"topic-navigation-outlet no-answer\" ...attributes>\n        {{#if this.showConfetti}}\n          <div class=\"solved-confetti\">\n            {{#each this.confettiParticles}}\n              <div class=\"solved-confetti-particle\"></div>\n            {{/each}}\n          </div>\n        {{/if}}\n        {{#if this.show}}\n          <TopicNavigationPopup\n            @popupId=\"solved-notice\"\n            @dismissDuration={{this.oneWeek}}\n          >\n            <h2>{{i18n \"solved.no_answer.title\"}}</h2>\n            <p>{{i18n \"solved.no_answer.description\"}}</p>\n          </TopicNavigationPopup>\n        {{/if}}\n      </div>\n      */\n      {\n        \"id\": \"QJRaW+wJ\",\n        \"block\": \"[[[11,0],[24,0,\\\"topic-navigation-outlet no-answer\\\"],[17,1],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showConfetti\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"solved-confetti\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"confettiParticles\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[10,0],[14,0,\\\"solved-confetti-particle\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"show\\\"]],[[[1,\\\"    \\\"],[8,[32,0],null,[[\\\"@popupId\\\",\\\"@dismissDuration\\\"],[\\\"solved-notice\\\",[30,0,[\\\"oneWeek\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,[28,[32,1],[\\\"solved.no_answer.title\\\"],null]],[13],[1,\\\"\\\\n      \\\"],[10,2],[12],[1,[28,[32,1],[\\\"solved.no_answer.description\\\"],null]],[13],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[13]],[\\\"&attrs\\\"],[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/topic-navigation/no-answer.js\",\n        \"scope\": () => [_topicNavigationPopup.default, _discourseI18n.i18n],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = NoAnswer;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/user-activity-bottom/solved-list\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedList extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        {{#if this.siteSettings.solved_enabled}}\n        <li class=\"user-activity-bottom-outlet solved-list\">\n          <LinkTo @route=\"userActivity.solved\">\n            {{icon \"square-check\"}}\n            {{i18n \"solved.title\"}}\n          </LinkTo>\n        </li>\n      {{/if}}\n      */\n      {\n        \"id\": \"H8wJP5pS\",\n        \"block\": \"[[[41,[30,0,[\\\"siteSettings\\\",\\\"solved_enabled\\\"]],[[[1,\\\"  \\\"],[10,\\\"li\\\"],[14,0,\\\"user-activity-bottom-outlet solved-list\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[32,0],null,[[\\\"@route\\\"],[\\\"userActivity.solved\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[1,[28,[32,1],[\\\"square-check\\\"],null]],[1,\\\"\\\\n      \\\"],[1,[28,[32,2],[\\\"solved.title\\\"],null]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/user-activity-bottom/solved-list.js\",\n        \"scope\": () => [_routing.LinkTo, _dIcon.default, _discourseI18n.i18n],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedList;\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/user-card-metadata/accepted-answers\", [\"exports\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _discourseI18n, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"user-card-metadata-outlet accepted-answers\" ...attributes>\n    {{#if @outletArgs.user.accepted_answers}}\n      <span class=\"desc\">{{i18n \"solutions\"}}</span>\n      <span>{{@outletArgs.user.accepted_answers}}</span>\n    {{/if}}\n  </div>\n  */\n  {\n    \"id\": \"n8YOZE1e\",\n    \"block\": \"[[[11,0],[24,0,\\\"user-card-metadata-outlet accepted-answers\\\"],[17,1],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"user\\\",\\\"accepted_answers\\\"]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"desc\\\"],[12],[1,[28,[32,0],[\\\"solutions\\\"],null]],[13],[1,\\\"\\\\n    \\\"],[10,1],[12],[1,[30,2,[\\\"user\\\",\\\"accepted_answers\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[13]],[\\\"&attrs\\\",\\\"@outletArgs\\\"],[\\\"if\\\"]]\",\n    \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/user-card-metadata/accepted-answers.js\",\n    \"scope\": () => [_discourseI18n.i18n],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"accepted-answers\"));\n});","define(\"discourse/plugins/discourse-solved/discourse/connectors/user-summary-stat/solved-count\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/components/user-stat\", \"discourse/truth-helpers\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _userStat, _truthHelpers, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedCount extends _component.default {\n    static {\n      dt7948.g(this.prototype, \"siteSettings\", [_service.service]);\n    }\n    #siteSettings = (dt7948.i(this, \"siteSettings\"), void 0);\n    static {\n      (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        {{#if\n        (and this.siteSettings.solved_enabled @outletArgs.model.solved_count)\n      }}\n        <li class=\"user-summary-stat-outlet solved-count linked-stat\">\n          <LinkTo @route=\"userActivity.solved\">\n            <UserStat\n              @value={{@outletArgs.model.solved_count}}\n              @label=\"solved.solution_summary\"\n              @icon=\"square-check\"\n            />\n          </LinkTo>\n        </li>\n      {{/if}}\n      */\n      {\n        \"id\": \"TqyekpU7\",\n        \"block\": \"[[[41,[28,[32,0],[[30,0,[\\\"siteSettings\\\",\\\"solved_enabled\\\"]],[30,1,[\\\"model\\\",\\\"solved_count\\\"]]],null],[[[1,\\\"  \\\"],[10,\\\"li\\\"],[14,0,\\\"user-summary-stat-outlet solved-count linked-stat\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[32,1],null,[[\\\"@route\\\"],[\\\"userActivity.solved\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[32,2],null,[[\\\"@value\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,1,[\\\"model\\\",\\\"solved_count\\\"]],\\\"solved.solution_summary\\\",\\\"square-check\\\"]],null],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@outletArgs\\\"],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/connectors/user-summary-stat/solved-count.js\",\n        \"scope\": () => [_truthHelpers.and, _routing.LinkTo, _userStat.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }\n  _exports.default = SolvedCount;\n});","define(\"discourse/plugins/discourse-solved/discourse/initializers/add-topic-list-class\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"add-topic-list-class\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(api => {\n        api.registerValueTransformer(\"topic-list-item-class\", ({\n          value,\n          context\n        }) => {\n          if (context.topic.has_accepted_answer) {\n            value.push(\"status-solved\");\n          }\n          return value;\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/initializers/extend-for-solved-button\", [\"exports\", \"@glimmer/component\", \"discourse/lib/plugin-api\", \"discourse-i18n\", \"discourse/plugins/discourse-solved/discourse/components/solved-accept-answer-button\", \"discourse/plugins/discourse-solved/discourse/components/solved-accepted-answer\", \"discourse/plugins/discourse-solved/discourse/components/solved-unaccept-answer-button\", \"discourse/plugins/discourse-solved/discourse/lib/set-accepted-solution\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _pluginApi, _discourseI18n, _solvedAcceptAnswerButton, _solvedAcceptedAnswer, _solvedUnacceptAnswerButton, _setAcceptedSolution, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function initializeWithApi(api) {\n    customizePost(api);\n    customizePostMenu(api);\n    handleMessages(api);\n    if (api.addDiscoveryQueryParam) {\n      api.addDiscoveryQueryParam(\"solved\", {\n        replace: true,\n        refreshModel: true\n      });\n    }\n    api.addTrackedTopicProperties(\"accepted_answer\", \"has_accepted_answer\");\n  }\n  function customizePost(api) {\n    api.addTrackedPostProperties(\"can_accept_answer\", \"accepted_answer\", \"topic_accepted_answer\");\n    api.renderAfterWrapperOutlet(\"post-content-cooked-html\", class extends _component.default {\n      static shouldRender(args) {\n        return args.post?.post_number === 1 && args.post?.topic?.accepted_answer;\n      }\n      static {\n        (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n        /*\n          <SolvedAcceptedAnswer\n          @post={{@post}}\n          @decoratorState={{@decoratorState}}\n        />\n        */\n        {\n          \"id\": \"lVHWcl6Y\",\n          \"block\": \"[[[8,[32,0],null,[[\\\"@post\\\",\\\"@decoratorState\\\"],[[30,1],[30,2]]],null]],[\\\"@post\\\",\\\"@decoratorState\\\"],[]]\",\n          \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/initializers/extend-for-solved-button.js\",\n          \"scope\": () => [_solvedAcceptedAnswer.default],\n          \"isStrictMode\": true\n        }), this);\n      }\n    });\n  }\n  function customizePostMenu(api) {\n    api.registerValueTransformer(\"post-menu-buttons\", ({\n      value: dag,\n      context: {\n        post,\n        firstButtonKey,\n        secondLastHiddenButtonKey,\n        lastHiddenButtonKey\n      }\n    }) => {\n      let solvedButton;\n      if (post.accepted_answer) {\n        solvedButton = _solvedUnacceptAnswerButton.default;\n      } else if (post.can_accept_answer) {\n        solvedButton = _solvedAcceptAnswerButton.default;\n      }\n      solvedButton && dag.add(\"solved\", solvedButton, post.topic_accepted_answer && !post.accepted_answer ? {\n        before: lastHiddenButtonKey,\n        after: secondLastHiddenButtonKey\n      } : {\n        before: [\"assign\", firstButtonKey]\n      });\n    });\n  }\n  function handleMessages(api) {\n    const callback = async (controller, message) => {\n      const topic = controller.model;\n      if (topic) {\n        (0, _setAcceptedSolution.default)(topic, message.accepted_answer);\n      }\n    };\n    api.registerCustomPostMessageCallback(\"accepted_solution\", callback);\n    api.registerCustomPostMessageCallback(\"unaccepted_solution\", callback);\n  }\n  var _default = _exports.default = {\n    name: \"extend-for-solved-button\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(initializeWithApi);\n      (0, _pluginApi.withPluginApi)(api => {\n        api.replaceIcon(\"notification.solved.accepted_notification\", \"square-check\");\n      });\n      (0, _pluginApi.withPluginApi)(api => {\n        api.addAdvancedSearchOptions({\n          statusOptions: [{\n            name: (0, _discourseI18n.i18n)(\"search.advanced.statuses.solved\"),\n            value: \"solved\"\n          }, {\n            name: (0, _discourseI18n.i18n)(\"search.advanced.statuses.unsolved\"),\n            value: \"unsolved\"\n          }]\n        });\n      });\n      (0, _pluginApi.withPluginApi)(api => {\n        api.addSearchSuggestion(\"status:solved\");\n        api.addSearchSuggestion(\"status:unsolved\");\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/initializers/solved-admin-plugin-configuration-nav\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const PLUGIN_ID = \"discourse-solved\";\n  var _default = _exports.default = {\n    name: \"solved-admin-plugin-configuration-nav\",\n    initialize(container) {\n      const currentUser = container.lookup(\"service:current-user\");\n      if (!currentUser?.admin) {\n        return;\n      }\n      (0, _pluginApi.withPluginApi)(api => {\n        api.setAdminPluginIcon(PLUGIN_ID, \"far-square-check\");\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/initializers/solved-category-change-confirmation\", [\"exports\", \"discourse/lib/helpers\", \"discourse/lib/plugin-api\", \"discourse/models/category\", \"discourse/plugins/discourse-solved/discourse/components/modal/solved-removal-confirmation\"], function (_exports, _helpers, _pluginApi, _category, _solvedRemovalConfirmation) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const STORAGE_KEY = \"discourse-solved-hide-category-change-confirmation\";\n  function solvedEnabled(categoryId, tags) {\n    const siteSettings = (0, _helpers.helperContext)().siteSettings;\n    if (siteSettings.allow_solved_on_all_topics || _category.default.findById(categoryId)?.custom_fields?.enable_accepted_answers === \"true\") {\n      return true;\n    }\n    const solvedTags = siteSettings.enable_solved_tags.split(\"|\").filter(Boolean);\n    return (tags || []).some(t => solvedTags.includes(t.name));\n  }\n  var _default = _exports.default = {\n    name: \"solved-category-change-confirmation\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(api => {\n        api.registerBehaviorTransformer(\"topic-controller:finished-editing\", async ({\n          next,\n          context\n        }) => {\n          const modal = api.container.lookup(\"service:modal\");\n          const props = context.buffered;\n          const model = context.model;\n          let solvedStateChanged = false;\n          if (\"category_id\" in props || \"tags\" in props) {\n            const oldCategoryId = model.category_id;\n            const newCategoryId = props.category_id ?? oldCategoryId;\n            const oldTags = model.tags;\n            const newTags = props.tags ?? oldTags;\n            const oldAllowed = solvedEnabled(oldCategoryId, oldTags);\n            const newAllowed = solvedEnabled(newCategoryId, newTags);\n            solvedStateChanged = oldAllowed !== newAllowed;\n            if (model.accepted_answer && oldAllowed && !newAllowed) {\n              const showConfirmation = localStorage.getItem(STORAGE_KEY) !== \"true\";\n              if (showConfirmation) {\n                const result = await modal.show(_solvedRemovalConfirmation.default);\n                if (!result?.confirmed) {\n                  return;\n                }\n                if (result.dontShowAgain) {\n                  localStorage.setItem(STORAGE_KEY, \"true\");\n                }\n              }\n            }\n          }\n          await next();\n          if (solvedStateChanged) {\n            model.postStream.refresh({\n              forceLoad: true\n            });\n          }\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/initializers/solved-category-type-tab\", [\"exports\", \"discourse/lib/plugin-api\", \"discourse/plugins/discourse-solved/discourse/components/upsert-category-support\"], function (_exports, _pluginApi, _upsertCategorySupport) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"solved-category-type-tab\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(api => {\n        api.registerEditCategoryTab({\n          id: \"support\",\n          name: \"Support\",\n          primary: true,\n          component: _upsertCategorySupport.default,\n          condition: ({\n            category,\n            siteSettings\n          }) =>\n          // TODO (martin) We only populate the category_type on category creation\n          // at the moment, we need to do the same in the serializer on edit\n          category.get(\"category_type\") === \"support\" && siteSettings.enable_category_type_setup && siteSettings.enable_simplified_category_creation\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/lib/set-accepted-solution\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = setAcceptedSolution;\n  function setAcceptedSolution(topic, acceptedAnswer) {\n    topic.postStream?.posts?.forEach(post => {\n      if (!acceptedAnswer) {\n        post.setProperties({\n          accepted_answer: false,\n          topic_accepted_answer: false\n        });\n      } else if (post.post_number > 1) {\n        post.setProperties(acceptedAnswer.post_number === post.post_number ? {\n          accepted_answer: true,\n          topic_accepted_answer: true\n        } : {\n          accepted_answer: false,\n          topic_accepted_answer: true\n        });\n      }\n    });\n    topic.accepted_answer = acceptedAnswer;\n    topic.has_accepted_answer = !!acceptedAnswer;\n  }\n});","define(\"discourse/plugins/discourse-solved/discourse/pre-initializers/solved-move-confirmation\", [\"exports\", \"discourse/components/modal/move-to-topic\", \"discourse/lib/plugin-api\", \"discourse/plugins/discourse-solved/discourse/components/modal/move-solution-confirmation\"], function (_exports, _moveToTopic, _pluginApi, _moveSolutionConfirmation) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const STORAGE_KEY = \"discourse-solved-hide-move-confirmation\";\n  var _default = _exports.default = {\n    name: \"solved-move-confirmation\",\n    before: \"inject-discourse-objects\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(api => {\n        api.modifyClass(\"service:modal\", {\n          pluginId: \"discourse-solved\",\n          _solvedOriginalShow: null,\n          async show(modal, opts) {\n            if (!this._solvedOriginalShow) {\n              this._solvedOriginalShow = this._super.bind(this);\n            }\n            const originalShow = this._solvedOriginalShow;\n            if (modal === _moveToTopic.default && opts?.model?.selectedPosts) {\n              const selectedPosts = opts.model.selectedPosts;\n              const hasSolvedPost = selectedPosts?.some(p => p.accepted_answer);\n              if (hasSolvedPost) {\n                const hideConfirmation = localStorage.getItem(STORAGE_KEY) === \"true\";\n                if (!hideConfirmation) {\n                  const result = await originalShow(_moveSolutionConfirmation.default, {\n                    model: {\n                      count: selectedPosts.length\n                    }\n                  });\n                  if (!result?.confirmed) {\n                    return;\n                  }\n                  if (result.dontShowAgain) {\n                    localStorage.setItem(STORAGE_KEY, \"true\");\n                  }\n                }\n              }\n            }\n            return originalShow(modal, opts);\n          }\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/routes/user-activity/solved\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"rsvp\", \"discourse/lib/ajax\", \"discourse/routes/discourse\", \"discourse-i18n\"], function (_exports, _tracking, _object, _service, _rsvp, _ajax, _discourse, _discourseI18n) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SolvedPostsStream {\n    static {\n      dt7948.g(this.prototype, \"content\", [_tracking.tracked], function () {\n        return [];\n      });\n    }\n    #content = (dt7948.i(this, \"content\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #loading = (dt7948.i(this, \"loading\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"loaded\", [_tracking.tracked], function () {\n        return false;\n      });\n    }\n    #loaded = (dt7948.i(this, \"loaded\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"itemsLoaded\", [_tracking.tracked], function () {\n        return 0;\n      });\n    }\n    #itemsLoaded = (dt7948.i(this, \"itemsLoaded\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"canLoadMore\", [_tracking.tracked], function () {\n        return true;\n      });\n    }\n    #canLoadMore = (dt7948.i(this, \"canLoadMore\"), void 0);\n    constructor({\n      username,\n      siteCategories\n    }) {\n      this.username = username;\n      this.siteCategories = siteCategories;\n    }\n    get noContent() {\n      return this.loaded && this.content.length === 0;\n    }\n    findItems() {\n      if (this.loading || !this.canLoadMore) {\n        return _rsvp.Promise.resolve();\n      }\n      this.loading = true;\n      const limit = 20;\n      return (0, _ajax.ajax)(`/solution/by_user.json?username=${this.username}&offset=${this.itemsLoaded}&limit=${limit}`).then(result => {\n        const userSolvedPosts = result.user_solved_posts || [];\n        if (userSolvedPosts.length === 0) {\n          this.canLoadMore = false;\n          return;\n        }\n        const posts = userSolvedPosts.map(p => {\n          const post = _object.default.create(p);\n          post.set(\"titleHtml\", post.topic_title);\n          post.set(\"postUrl\", post.url);\n          if (post.category_id && this.siteCategories) {\n            post.set(\"category\", this.siteCategories.find(c => c.id === post.category_id));\n          }\n          return post;\n        });\n        this.content = [...this.content, ...posts];\n        this.itemsLoaded = this.itemsLoaded + userSolvedPosts.length;\n        if (userSolvedPosts.length < limit) {\n          this.canLoadMore = false;\n        }\n      }).finally(() => {\n        this.loaded = true;\n        this.loading = false;\n      });\n    }\n  }\n  class UserActivitySolved extends _discourse.default {\n    static {\n      dt7948.g(this.prototype, \"site\", [_service.service]);\n    }\n    #site = (dt7948.i(this, \"site\"), void 0);\n    static {\n      dt7948.g(this.prototype, \"currentUser\", [_service.service]);\n    }\n    #currentUser = (dt7948.i(this, \"currentUser\"), void 0);\n    model() {\n      const user = this.modelFor(\"user\");\n      const stream = new SolvedPostsStream({\n        username: user.username,\n        siteCategories: this.site.categories\n      });\n      return stream.findItems().then(() => {\n        return {\n          stream,\n          emptyState: this.emptyState()\n        };\n      });\n    }\n    setupController(controller, model) {\n      controller.setProperties({\n        model,\n        emptyState: this.emptyState()\n      });\n    }\n    renderTemplate() {\n      this.render(\"user-activity-solved\");\n    }\n    emptyState() {\n      const user = this.modelFor(\"user\");\n      let title, body;\n      if (this.currentUser && user.id === this.currentUser.id) {\n        title = (0, _discourseI18n.i18n)(\"solved.no_solved_topics_title\");\n        body = (0, _discourseI18n.i18n)(\"solved.no_solved_topics_body\");\n      } else {\n        title = (0, _discourseI18n.i18n)(\"solved.no_solved_topics_title_others\", {\n          username: user.username\n        });\n        body = \"\";\n      }\n      return {\n        title,\n        body\n      };\n    }\n  }\n  _exports.default = UserActivitySolved;\n});","define(\"discourse/plugins/discourse-solved/discourse/solved-route-map\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    resource: \"user.userActivity\",\n    map() {\n      this.route(\"solved\");\n    }\n  };\n});","define(\"discourse/plugins/discourse-solved/discourse/templates/user-activity/solved\", [\"exports\", \"discourse/components/empty-state\", \"discourse/components/user-stream\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emptyState, _userStream, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @controller.model.stream.noContent}}\n    <EmptyState\n      @title={{@controller.model.emptyState.title}}\n      @body={{@controller.model.emptyState.body}}\n    />\n  {{else}}\n    <UserStream @stream={{@controller.model.stream}} />\n  {{/if}}\n  */\n  {\n    \"id\": \"0oNgyAaE\",\n    \"block\": \"[[[41,[30,1,[\\\"model\\\",\\\"stream\\\",\\\"noContent\\\"]],[[[1,\\\"  \\\"],[8,[32,0],null,[[\\\"@title\\\",\\\"@body\\\"],[[30,1,[\\\"model\\\",\\\"emptyState\\\",\\\"title\\\"]],[30,1,[\\\"model\\\",\\\"emptyState\\\",\\\"body\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"  \\\"],[8,[32,1],null,[[\\\"@stream\\\"],[[30,1,[\\\"model\\\",\\\"stream\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@controller\\\"],[\\\"if\\\"]]\",\n    \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-solved/discourse/templates/user-activity/solved.js\",\n    \"scope\": () => [_emptyState.default, _userStream.default],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"solved\"));\n});"],"mappings":"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","ignoreList":[]}