{"version":3,"file":"discourse-reactions.js","names":["define","_exports","_rest","Object","defineProperty","value","default","DiscourseReactionsAdapter","basePath","_discourseReactionsAdapter","DiscourseReactionsCustomReaction","pathFor","store","type","findArgs","path","this","pluralize","apiNameFor","appendQueryParams","_discourseReactionsActions","_component","_templateFactory","_templateOnly","ReactionsActionButton","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","isStrictMode","undefined","_component2","ReactionsActionSummary","static","shouldRender","args","context","owner","lookup","mobileView","post","deleted","mainReaction","discourse_reactions_reaction_for_like","reactions","length","_tracking","_helper","_modifier","_object","_runloop","_service","_core","_emberCurryComponent","_jquery","_rsvp","_truthHelpers","_lazyHash","_environment","_text","_closeOnClickOutside","_discourseI18n","_discourseReactionsCustomReaction","_discourseReactionsCounter","_discourseReactionsDoubleButton","_discourseReactionsPicker","_discourseReactionsReactionButton","resetCurrentReaction","_currentReactionWidget","_popperPicker","moveReactionAnimation","postContainer","reactionId","startPosition","endPosition","complete","isTesting","fakeReaction","img","document","createElement","src","emojiUrlFor","classList","add","buildFakeReaction","querySelector","appendChild","style","top","opacity","animate","duration","remove","scaleReactionAnimation","start","end","run","stop","css","textIndent","step","now","addClass","removeClass","DiscourseReactionsActions","dt7948","g","prototype","service","dialog","i","capabilities","siteSettings","site","currentUser","tracked","reactionsPickerExpanded","statePanelExpanded","classes","hasReactions","hasReacted","current_user_reaction","filter","reaction","push","yours","current_user_used_main_reaction","can_undo","likeAction","canToggle","join","toggleReactions","event","scheduleExpand","expandReactionsPicker","n","action","touchStart","_validTouch","cancel","_touchTimeout","touch","documentElement","toggle","_touchStartAt","Date","later","touchMove","touchEnd","changedTouches","endTarget","elementFromPoint","clientX","clientY","parentNode","contains","click","target","toggleFromButton","params","showLogin","userHasBeenActive","canVibrate","navigator","vibrate","pickedReaction","postId","CSS","escape","scales","Promise","resolve","list","toggleReaction","then","catch","e","alert","_extractErrors","_rollbackState","finally","collapseAllPanels","attrs","every","index","count","splice","reaction_users_count","isAvailable","newReaction","tempReactions","assign","newReactionIndex","sort","reaction1","reaction2","indexOf","mainReactionName","user_id","selector","cancelCollapse","_collapseHandler","cancelExpand","_expandHandler","handler","scheduleCollapse","elementId","position","clickOutside","_setupPopper","expandStatePanel","collapseStatePanel","collapseReactionsPicker","updatePopperPosition","update","selectors","schedule","trigger","popper","destroy","_applyPopper","button","picker","createPopper","placement","modifiers","name","options","offset","padding","xhr","jqXHR","status","responseJSON","errors","i18n","onlyOneMainReaction","showReactionsPicker","on","hash","eq","not","and","_trackedBuiltIns","_dButton","_decorators","_discourseReactionsList","_discourseReactionsStatePanel","DiscourseReactionsCounter","reactionsUsers","TrackedObject","reactionsChanged","data","uniq","forEach","getUsers","reactionValue","findReactionUsers","response","reaction_users","reactionUser","users","bind","mouseDown","stopImmediatePropagation","mouseUp","closest","stopPropagation","preventDefault","toggleStatePanel","pointerOver","pointerType","pointerOut","relatedTarget","DiscourseReactionsDoubleButton","_emoji","_popperReactionUserPanel","DiscourseReactionsListEmoji","loadingReactions","debounce","_loadReactionUsers","popperElement","truncatedUsers","slice","displayNameForUser","user","prioritize_username_in_ux","prioritize_full_name_in_ux","username","hiddenUserCount","_discourseReactionsListEmoji","DiscourseReactionsList","get","_concatClass","DiscourseReactionsPicker","reactionInfo","discourse_reactions_enabled_reactions","split","Boolean","includes","unshift","currentUserReaction","map","isUsed","canUndo","title","titleOptions","_getOptimalColsCount","x","colsByRow","rest","fn","_utils","ReactionsReactionButton","isBlank","concat","_computed","_userStreamItem","_avatar","_ajax","_getUrl","cachedNames","Map","pendingSearch","DiscourseReactionsReactionPost","excerpt","updatedExcerpt","expandedExcerpt","updatedExpandedExcerpt","equal","moderatorAction","constructor","super","arguments","updateMentionedUsernames","replaceMentionsWithFullNames","text","all","async","part","searchUsername","toLowerCase","has","usernames","size","results","search","searchedUsernames","fullName","find","groups","group","full_name","set","deferSearch","usernamesList","Set","setTimeout","Array","from","ajax","include_groups","show_fullname_for_groups","postUrl","url","emojiUrl","reaction_value","_userAvatar","_dIcon","DiscourseReactionsStatePanelReaction","showUsers","firstLineUsers","otherUsers","columnsCount","moreLabel","isDisplayed","gt","_discourseReactionsStatePanelReaction","DiscourseReactionsStatePanel","displayedReactionId","charsCount","Math","max","mapBy","toString","hideUsers","hasReactionData","keys","_routing","DiscourseReactionsUserActivityReactions","c","LinkTo","classNames","tagName","DiscourseReactionsUserNotificationReactions","_controller","UserActivityReactions","inject","application","canLoadMore","loading","beforeLikeId","beforeReactionUserId","getLastIdFrom","array","updateBeforeIds","reactionUsers","includeLikes","likes","reduce","memo","elem","loadMore","model","opts","actingUsername","findReactions","reactionsUrl","newReactionUsers","addObjects","resource","route","_deprecated","_iconLibrary","_pluginApi","_url","_utilities","_discourseReactionsActionsButton","_discourseReactionsActionsSummary","PLUGIN_ID","initializeDiscourseReactions","api","registerValueTransformer","_ref","dag","buttonKeys","replace","LIKE","after","REPLIES","customizePostMenu","withSilencedDeprecations","modifyClass","pluginId","didInsertElement","_super","topicId","posts","firstObject","topic_id","messageBus","subscribe","dirtyKeys","keyDirty","post_id","onRefresh","refreshArg","_refresh","unsubscribe","customizeWidgetPost","addKeyboardShortcut","addTrackedPostProperties","didReceiveAttrs","setting","values","mainEmoji","collection","findBy","isEditable","unshiftObject","isEditing","ignoreMissing","replaceIcon","registerNotificationTypeRenderer","NotificationTypeBase","linkTitle","linkHref","superHref","activityName","notification","reaction_icon","userPath","display_username","icon","notificationName","label","nameOrUsername","display_name","username2","nameOrUsername2","name2","formatUsername","labelClasses","description","initialize","container","discourse_reactions_enabled","withPluginApi","teardown","_category","_post","_topic","_user","CustomReaction","result","appEvents","before_reaction_user_id","before_like_id","include_likes","acting_username","create","topic","category","findById","category_id","postAttrs","post_user","init","__type","_discourse","modelFor","setupController","controller","loadedAll","controllerFor","setProperties","UserNotificationsReactionsReceived","templateName","controllerName","queryParams","refreshModel","_emberRouteTemplate","_conditionalLoadingSpinner","_loadMore","_discourseReactionsReactionPost"],"sources":["discourse/plugins/discourse-reactions/discourse/adapters/discourse-reactions-adapter.js","discourse/plugins/discourse-reactions/discourse/adapters/discourse-reactions-custom-reaction.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-button.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-summary.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-counter.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-double-button.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list-emoji.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-picker.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-button.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-post.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel-reaction.js","discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel.js","discourse/plugins/discourse-reactions/discourse/connectors/user-activity-bottom/discourse-reactions-user-activity-reactions.js","discourse/plugins/discourse-reactions/discourse/connectors/user-notifications-bottom/discourse-reactions-user-notification-reactions.js","discourse/plugins/discourse-reactions/discourse/controllers/user-activity-reactions.js","discourse/plugins/discourse-reactions/discourse/discourse-reactions-user-activity-route-map.js","discourse/plugins/discourse-reactions/discourse/discourse-reactions-user-notifications-route-map.js","discourse/plugins/discourse-reactions/discourse/initializers/discourse-reactions.js","discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction.js","discourse/plugins/discourse-reactions/discourse/routes/user-activity-reactions.js","discourse/plugins/discourse-reactions/discourse/routes/user-notifications-reactions-received.js","discourse/plugins/discourse-reactions/discourse/templates/user-activity-reactions.js"],"sourcesContent":["define(\"discourse/plugins/discourse-reactions/discourse/adapters/discourse-reactions-adapter\", [\"exports\", \"discourse/adapters/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscourseReactionsAdapter extends _rest.default {\n    basePath() {\n      return \"/discourse-reactions/\";\n    }\n  }\n  _exports.default = DiscourseReactionsAdapter;\n});","define(\"discourse/plugins/discourse-reactions/discourse/adapters/discourse-reactions-custom-reaction\", [\"exports\", \"discourse/plugins/discourse-reactions/discourse/adapters/discourse-reactions-adapter\"], function (_exports, _discourseReactionsAdapter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscourseReactionsCustomReaction extends _discourseReactionsAdapter.default {\n    pathFor(store, type, findArgs) {\n      const path = this.basePath(store, type, findArgs) + store.pluralize(this.apiNameFor(type));\n      return this.appendQueryParams(path, findArgs);\n    }\n    apiNameFor() {\n      return \"custom-reaction\";\n    }\n  }\n  _exports.default = DiscourseReactionsCustomReaction;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-button\", [\"exports\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _discourseReactionsActions, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const ReactionsActionButton = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n    <div class=\"discourse-reactions-actions-button-shim\">\n      <DiscourseReactionsActions\n        @post={{@post}}\n        @showLogin={{@buttonActions.showLogin}}\n      />\n    </div>\n  \n  */\n  {\n    \"id\": \"ZO7hxjXz\",\n    \"block\": \"[[[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"discourse-reactions-actions-button-shim\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[32,0],null,[[\\\"@post\\\",\\\"@showLogin\\\"],[[30,1],[30,2,[\\\"showLogin\\\"]]]],null],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@post\\\",\\\"@buttonActions\\\"],false,[]]\",\n    \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-button.js\",\n    \"scope\": () => [_discourseReactionsActions.default],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"discourse-reactions-actions-button:ReactionsActionButton\"));\n  var _default = _exports.default = ReactionsActionButton;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-summary\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _discourseReactionsActions, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ReactionsActionSummary extends _component.default {\n    static extraControls = true;\n    static shouldRender(args, context, owner) {\n      const site = owner.lookup(\"service:site\");\n      if (site.mobileView || args.post.deleted) {\n        return false;\n      }\n      const siteSettings = owner.lookup(\"service:site-settings\");\n      const mainReaction = siteSettings.discourse_reactions_reaction_for_like;\n      return !(args.post.reactions && args.post.reactions.length === 1 && args.post.reactions[0].id === mainReaction);\n    }\n    static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{#if @shouldRender}}\n          <div>\n            <DiscourseReactionsActions @post={{@post}} @position=\"left\" />\n          </div>\n        {{/if}}\n      \n    */\n    {\n      \"id\": \"SNSE6Xlw\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"      \\\"],[10,0],[12],[1,\\\"\\\\n        \\\"],[8,[32,0],null,[[\\\"@post\\\",\\\"@position\\\"],[[30,2],\\\"left\\\"]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"]],[\\\"@shouldRender\\\",\\\"@post\\\"],false,[\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-summary.js\",\n      \"scope\": () => [_discourseReactionsActions.default],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = ReactionsActionSummary;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"@popperjs/core\", \"ember-curry-component\", \"jquery\", \"rsvp\", \"truth-helpers\", \"discourse/helpers/lazy-hash\", \"discourse/lib/environment\", \"discourse/lib/text\", \"discourse/modifiers/close-on-click-outside\", \"discourse-i18n\", \"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-counter\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-double-button\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-picker\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _runloop, _service, _core, _emberCurryComponent, _jquery, _rsvp, _truthHelpers, _lazyHash, _environment, _text, _closeOnClickOutside, _discourseI18n, _discourseReactionsCustomReaction, _discourseReactionsCounter, _discourseReactionsDoubleButton, _discourseReactionsPicker, _discourseReactionsReactionButton, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.resetCurrentReaction = resetCurrentReaction;\n  const VIBRATE_DURATION = 5;\n  let _popperPicker;\n  let _currentReactionWidget;\n  function resetCurrentReaction() {\n    _currentReactionWidget = null;\n  }\n  function buildFakeReaction(reactionId) {\n    const img = document.createElement(\"img\");\n    img.src = (0, _text.emojiUrlFor)(reactionId);\n    img.classList.add(\"btn-toggle-reaction-emoji\", \"reaction-button\", \"fake-reaction\");\n    return img;\n  }\n  function moveReactionAnimation(postContainer, reactionId, startPosition, endPosition, complete) {\n    if ((0, _environment.isTesting)()) {\n      return;\n    }\n    const fakeReaction = buildFakeReaction(reactionId);\n    const reactionButton = postContainer.querySelector(\".reaction-button\");\n    reactionButton.appendChild(fakeReaction);\n    let done = () => {\n      fakeReaction.remove();\n      complete();\n    };\n    fakeReaction.style.top = startPosition;\n    fakeReaction.style.opacity = 0;\n    (0, _jquery.default)(fakeReaction).animate({\n      top: endPosition,\n      opacity: 1\n    }, {\n      duration: 350,\n      complete: done\n    }, \"swing\");\n  }\n  function addReaction(list, reactionId, complete) {\n    moveReactionAnimation(list, reactionId, \"-50px\", \"8px\", complete);\n  }\n  function dropReaction(list, reactionId, complete) {\n    moveReactionAnimation(list, reactionId, \"8px\", \"42px\", complete);\n  }\n  function scaleReactionAnimation(mainReaction, start, end, complete) {\n    if ((0, _environment.isTesting)()) {\n      return (0, _runloop.run)(this, complete);\n    }\n    return (0, _jquery.default)(mainReaction).stop().css(\"textIndent\", start).animate({\n      textIndent: end\n    }, {\n      complete,\n      step(now) {\n        (0, _jquery.default)(this).css(\"transform\", `scale(${now})`).addClass(\"far-heart\").removeClass(\"heart\");\n      },\n      duration: 150\n    }, \"linear\");\n  }\n  class DiscourseReactionsActions extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n    #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n    #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n    #site = (() => (dt7948.i(this, \"site\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"reactionsPickerExpanded\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #reactionsPickerExpanded = (() => (dt7948.i(this, \"reactionsPickerExpanded\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"statePanelExpanded\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #statePanelExpanded = (() => (dt7948.i(this, \"statePanelExpanded\"), void 0))();\n    get classes() {\n      const {\n        post\n      } = this.args;\n      if (!post.reactions) {\n        return;\n      }\n      const hasReactions = post.reactions.length;\n      const hasReacted = post.current_user_reaction;\n      const customReactionUsed = post.reactions.length && post.reactions.filter(reaction => reaction.id !== this.siteSettings.discourse_reactions_reaction_for_like).length;\n      const classes = [];\n      if (customReactionUsed) {\n        classes.push(\"custom-reaction-used\");\n      }\n      if (post.yours) {\n        classes.push(\"my-post\");\n      }\n      if (hasReactions) {\n        classes.push(\"has-reactions\");\n      }\n      if (hasReacted) {\n        classes.push(\"has-reacted\");\n      }\n      if (post.current_user_used_main_reaction) {\n        classes.push(\"has-used-main-reaction\");\n      }\n      if ((!post.current_user_reaction || post.current_user_reaction.can_undo) && post.likeAction?.canToggle) {\n        classes.push(\"can-toggle-reaction\");\n      }\n      return classes.join(\" \");\n    }\n    toggleReactions(event) {\n      if (!this.reactionsPickerExpanded) {\n        if (this.statePanelExpanded) {\n          this.scheduleExpand(\"expandReactionsPicker\");\n        } else {\n          this.expandReactionsPicker(event);\n        }\n      }\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"toggleReactions\", [_object.action]))();\n    touchStart() {\n      this._validTouch = true;\n      (0, _runloop.cancel)(this._touchTimeout);\n      if (this.capabilities.touch) {\n        document.documentElement?.classList?.toggle(\"discourse-reactions-no-select\", true);\n        this._touchStartAt = Date.now();\n        this._touchTimeout = (0, _runloop.later)(() => {\n          this._touchStartAt = null;\n          this.toggleReactions();\n        }, 400);\n        return false;\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"touchStart\", [_object.action]))();\n    touchMove() {\n      // if users move while touching we consider it as a scroll and don't want to\n      // trigger the reaction or the picker\n      this._validTouch = false;\n      (0, _runloop.cancel)(this._touchTimeout);\n    }\n    static #_10 = (() => dt7948.n(this.prototype, \"touchMove\", [_object.action]))();\n    touchEnd(event) {\n      (0, _runloop.cancel)(this._touchTimeout);\n      if (!this._validTouch) {\n        return;\n      }\n      if (this.capabilities.touch) {\n        if (event.changedTouches.length) {\n          const endTarget = document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY);\n          if (endTarget) {\n            const parentNode = endTarget.parentNode;\n            if (endTarget.classList.contains(\"pickable-reaction\")) {\n              endTarget.click();\n              return;\n            } else if (parentNode && parentNode.classList.contains(\"pickable-reaction\")) {\n              parentNode.click();\n              return;\n            }\n          }\n        }\n        const duration = Date.now() - (this._touchStartAt || 0);\n        this._touchStartAt = null;\n        if (duration > 400) {\n          if (event && event.target && event.target.classList.contains(\"discourse-reactions-reaction-button\")) {\n            this.toggleReactions(event);\n          }\n        } else {\n          if (event.target && (event.target.classList.contains(\"discourse-reactions-reaction-button\") || event.target.classList.contains(\"reaction-button\"))) {\n            this.toggleFromButton({\n              reaction: this.args.post.current_user_reaction ? this.args.post.current_user_reaction.id : this.siteSettings.discourse_reactions_reaction_for_like\n            });\n          }\n        }\n      }\n    }\n    static #_11 = (() => dt7948.n(this.prototype, \"touchEnd\", [_object.action]))();\n    toggle(params) {\n      if (!this.currentUser) {\n        if (this.args.showLogin) {\n          return this.args.showLogin();\n        }\n      }\n      if (!this.args.post.current_user_reaction || this.args.post.current_user_reaction.can_undo && this.args.post.likeAction.canToggle) {\n        if (this.capabilities.userHasBeenActive && this.capabilities.canVibrate) {\n          navigator.vibrate(VIBRATE_DURATION);\n        }\n        const pickedReaction = document.querySelector(`[data-post-id=\"${params.postId}\"] .discourse-reactions-picker .pickable-reaction.${CSS.escape(params.reaction)} .emoji`);\n        const scales = [1.0, 1.75];\n        return new _rsvp.Promise(resolve => {\n          scaleReactionAnimation(pickedReaction, scales[0], scales[1], () => {\n            scaleReactionAnimation(pickedReaction, scales[1], scales[0], () => {\n              const post = this.args.post;\n              const postContainer = document.querySelector(`[data-post-id=\"${params.postId}\"]`);\n              if (post.current_user_reaction && post.current_user_reaction.id === params.reaction) {\n                this.toggleReaction(params);\n                (0, _runloop.later)(() => {\n                  dropReaction(postContainer, params.reaction, () => {\n                    return _discourseReactionsCustomReaction.default.toggle(this.args.post, params.reaction).then(resolve).catch(e => {\n                      this.dialog.alert(this._extractErrors(e));\n                      this._rollbackState(post);\n                    });\n                  });\n                }, 100);\n              } else {\n                addReaction(postContainer, params.reaction, () => {\n                  this.toggleReaction(params);\n                  _discourseReactionsCustomReaction.default.toggle(this.args.post, params.reaction).then(resolve).catch(e => {\n                    this.dialog.alert(this._extractErrors(e));\n                    this._rollbackState(post);\n                  });\n                });\n              }\n            });\n          });\n        }).finally(() => {\n          this.collapseAllPanels();\n        });\n      }\n    }\n    static #_12 = (() => dt7948.n(this.prototype, \"toggle\", [_object.action]))();\n    toggleReaction(attrs) {\n      this.collapseAllPanels();\n      if (this.args.post.current_user_reaction && !this.args.post.current_user_reaction.can_undo && !this.args.post.likeAction.canToggle) {\n        return;\n      }\n      const post = this.args.post;\n      if (post.current_user_reaction) {\n        post.reactions.every((reaction, index) => {\n          if (reaction.count <= 1 && reaction.id === post.current_user_reaction.id) {\n            post.reactions.splice(index, 1);\n            return false;\n          } else if (reaction.id === post.current_user_reaction.id) {\n            post.reactions[index].count -= 1;\n            return false;\n          }\n          return true;\n        });\n      }\n      if (attrs.reaction && (!post.current_user_reaction || attrs.reaction !== post.current_user_reaction.id)) {\n        let isAvailable = false;\n        post.reactions.every((reaction, index) => {\n          if (reaction.id === attrs.reaction) {\n            post.reactions[index].count += 1;\n            isAvailable = true;\n            return false;\n          }\n          return true;\n        });\n        if (!isAvailable) {\n          const newReaction = {\n            id: attrs.reaction,\n            type: \"emoji\",\n            count: 1\n          };\n          const tempReactions = Object.assign([], post.reactions);\n          tempReactions.push(newReaction);\n          //sorts reactions and get index of new reaction\n          const newReactionIndex = tempReactions.sort((reaction1, reaction2) => {\n            if (reaction1.count > reaction2.count) {\n              return -1;\n            }\n            if (reaction1.count < reaction2.count) {\n              return 1;\n            }\n            //if count is same, sort it by id\n            if (reaction1.id > reaction2.id) {\n              return 1;\n            }\n            if (reaction1.id < reaction2.id) {\n              return -1;\n            }\n          }).indexOf(newReaction);\n          post.reactions.splice(newReactionIndex, 0, newReaction);\n        }\n        if (!post.current_user_reaction) {\n          post.reaction_users_count += 1;\n        }\n        post.current_user_reaction = {\n          id: attrs.reaction,\n          type: \"emoji\",\n          can_undo: true\n        };\n      } else {\n        post.reaction_users_count -= 1;\n        post.current_user_reaction = null;\n      }\n      if (post.current_user_reaction && post.current_user_reaction.id === this.siteSettings.discourse_reactions_reaction_for_like) {\n        post.current_user_used_main_reaction = true;\n      } else {\n        post.current_user_used_main_reaction = false;\n      }\n      // Trigger re-render for anything autotracking reactions.\n      // In future, we should make reactions a deeply-trackable structure.\n      // eslint-disable-next-line no-self-assign\n      post.reactions = post.reactions;\n    }\n    toggleFromButton(attrs) {\n      if (!this.currentUser) {\n        if (this.args.showLogin) {\n          return this.args.showLogin();\n        }\n      }\n      this.collapseAllPanels();\n      const mainReactionName = this.siteSettings.discourse_reactions_reaction_for_like;\n      const post = this.args.post;\n      const current_user_reaction = post.current_user_reaction;\n      if (post.likeAction && !(post.likeAction.canToggle || post.likeAction.can_undo)) {\n        return;\n      }\n      if (this.args.post.current_user_reaction && !this.args.post.current_user_reaction.can_undo) {\n        return;\n      }\n      if (!this.currentUser || post.user_id === this.currentUser.id) {\n        return;\n      }\n      if (this.capabilities.userHasBeenActive && this.capabilities.canVibrate) {\n        navigator.vibrate(VIBRATE_DURATION);\n      }\n      if (current_user_reaction && current_user_reaction.id === attrs.reaction) {\n        this.toggleReaction(attrs);\n        return _discourseReactionsCustomReaction.default.toggle(this.args.post, attrs.reaction).catch(e => {\n          this.dialog.alert(this._extractErrors(e));\n          this._rollbackState(post);\n        });\n      }\n      let selector;\n      if (post.reactions && post.reactions.length === 1 && post.reactions[0].id === mainReactionName) {\n        selector = `[data-post-id=\"${this.args.post.id}\"] .discourse-reactions-double-button .discourse-reactions-reaction-button .d-icon`;\n      } else {\n        if (!attrs.reaction || attrs.reaction === mainReactionName) {\n          selector = `[data-post-id=\"${this.args.post.id}\"] .discourse-reactions-reaction-button .d-icon`;\n        } else {\n          selector = `[data-post-id=\"${this.args.post.id}\"] .discourse-reactions-reaction-button .reaction-button .btn-toggle-reaction-emoji`;\n        }\n      }\n      const mainReaction = document.querySelector(selector);\n      const scales = [1.0, 1.5];\n      return new _rsvp.Promise(resolve => {\n        scaleReactionAnimation(mainReaction, scales[0], scales[1], () => {\n          scaleReactionAnimation(mainReaction, scales[1], scales[0], () => {\n            this.toggleReaction(attrs);\n            let toggleReaction = attrs.reaction && attrs.reaction !== mainReactionName ? attrs.reaction : this.siteSettings.discourse_reactions_reaction_for_like;\n            _discourseReactionsCustomReaction.default.toggle(this.args.post, toggleReaction).then(resolve).catch(e => {\n              this.dialog.alert(this._extractErrors(e));\n              this._rollbackState(post);\n            });\n          });\n        });\n      });\n    }\n    static #_13 = (() => dt7948.n(this.prototype, \"toggleFromButton\", [_object.action]))();\n    cancelCollapse() {\n      (0, _runloop.cancel)(this._collapseHandler);\n    }\n    static #_14 = (() => dt7948.n(this.prototype, \"cancelCollapse\", [_object.action]))();\n    cancelExpand() {\n      (0, _runloop.cancel)(this._expandHandler);\n    }\n    static #_15 = (() => dt7948.n(this.prototype, \"cancelExpand\", [_object.action]))();\n    scheduleExpand(handler) {\n      this.cancelExpand();\n      this._expandHandler = (0, _runloop.later)(this, this[handler], 250);\n    }\n    scheduleCollapse(handler) {\n      this.cancelCollapse();\n      this._collapseHandler = (0, _runloop.later)(this, this[handler], 500);\n    }\n    static #_16 = (() => dt7948.n(this.prototype, \"scheduleCollapse\", [_object.action]))();\n    get elementId() {\n      return `discourse-reactions-actions-${this.args.post.id}-${this.args.position || \"right\"}`;\n    }\n    clickOutside() {\n      if (this.reactionsPickerExpanded || this.statePanelExpanded) {\n        this.collapseAllPanels();\n      }\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"clickOutside\", [_object.action]))();\n    expandReactionsPicker() {\n      (0, _runloop.cancel)(this._collapseHandler);\n      _currentReactionWidget?.collapseAllPanels();\n      this.statePanelExpanded = false;\n      this.reactionsPickerExpanded = true;\n      this._setupPopper([\".discourse-reactions-reaction-button\", \".discourse-reactions-picker\"]);\n    }\n    expandStatePanel() {\n      (0, _runloop.cancel)(this._collapseHandler);\n      _currentReactionWidget?.collapseAllPanels();\n      this.statePanelExpanded = true;\n      this.reactionsPickerExpanded = false;\n      this._setupPopper([\".discourse-reactions-counter\", \".discourse-reactions-state-panel\"]);\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"expandStatePanel\", [_object.action]))();\n    collapseStatePanel() {\n      (0, _runloop.cancel)(this._collapseHandler);\n      this._collapseHandler = null;\n      this.statePanelExpanded = false;\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"collapseStatePanel\", [_object.action]))();\n    collapseReactionsPicker() {\n      (0, _runloop.cancel)(this._collapseHandler);\n      this._collapseHandler = null;\n      this.reactionsPickerExpanded = false;\n    }\n    collapseAllPanels() {\n      (0, _runloop.cancel)(this._collapseHandler);\n      document.documentElement?.classList?.toggle(\"discourse-reactions-no-select\", false);\n      this._collapseHandler = null;\n      this.statePanelExpanded = false;\n      this.reactionsPickerExpanded = false;\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"collapseAllPanels\", [_object.action]))();\n    updatePopperPosition() {\n      _popperPicker?.update();\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"updatePopperPosition\", [_object.action]))();\n    _setupPopper(selectors) {\n      (0, _runloop.schedule)(\"afterRender\", () => {\n        const position = this.args.position || \"right\";\n        const id = this.args.post.id;\n        const trigger = document.querySelector(`#discourse-reactions-actions-${id}-${position} ${selectors[0]}`);\n        const popper = document.querySelector(`#discourse-reactions-actions-${id}-${position} ${selectors[1]}`);\n        _popperPicker?.destroy();\n        _popperPicker = this._applyPopper(trigger, popper);\n        _currentReactionWidget = this;\n      });\n    }\n    _applyPopper(button, picker) {\n      return (0, _core.createPopper)(button, picker, {\n        placement: \"top\",\n        modifiers: [{\n          name: \"offset\",\n          options: {\n            offset: [0, -5]\n          }\n        }, {\n          name: \"preventOverflow\",\n          options: {\n            padding: 5\n          }\n        }]\n      });\n    }\n    _rollbackState(post) {\n      const current_user_reaction = post.current_user_reaction;\n      const current_user_used_main_reaction = post.current_user_used_main_reaction;\n      const reactions = Object.assign([], post.reactions);\n      const reaction_users_count = post.reaction_users_count;\n      post.current_user_reaction = current_user_reaction;\n      post.current_user_used_main_reaction = current_user_used_main_reaction;\n      post.reactions = reactions;\n      post.reaction_users_count = reaction_users_count;\n    }\n    _extractErrors(e) {\n      const xhr = e.xhr || e.jqXHR;\n      if (!xhr || !xhr.status) {\n        return (0, _discourseI18n.i18n)(\"errors.desc.network\");\n      }\n      if (xhr.status === 429 && xhr.responseJSON && xhr.responseJSON.errors && xhr.responseJSON.errors[0]) {\n        return xhr.responseJSON.errors[0];\n      } else if (xhr.status === 403) {\n        return (0, _discourseI18n.i18n)(\"discourse_reactions.reaction.forbidden\");\n      } else {\n        return (0, _discourseI18n.i18n)(\"errors.desc.unknown\");\n      }\n    }\n    get onlyOneMainReaction() {\n      return this.args.post.reactions?.length === 1 && this.args.post.reactions[0].id === this.siteSettings.discourse_reactions_reaction_for_like;\n    }\n    get showReactionsPicker() {\n      return this.currentUser && this.args.post.user_id !== this.currentUser.id && this.reactionsPickerExpanded;\n    }\n    static #_22 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        <div\n          id={{this.elementId}}\n          class=\"discourse-reactions-actions {{this.classes}}\"\n          {{on \"touchstart\" this.touchStart}}\n          {{on \"touchmove\" this.touchMove}}\n          {{on \"touchend\" this.touchEnd}}\n          {{closeOnClickOutside this.clickOutside (hash)}}\n        >\n          {{#let\n            (hash\n              counter=(curryComponent\n                DiscourseReactionsCounter\n                (lazyHash\n                  post=@post\n                  position=@position\n                  reactionsPickerExpanded=this.reactionsPickerExpanded\n                  statePanelExpanded=this.statePanelExpanded\n                  expandStatePanel=this.expandStatePanel\n                  collapseStatePanel=this.collapseStatePanel\n                  cancelCollapse=this.cancelCollapse\n                  scheduleCollapse=this.scheduleCollapse\n                  updatePopperPosition=this.updatePopperPosition\n                  collapseAllPanels=this.collapseAllPanels\n                )\n              )\n              button=(curryComponent\n                DiscourseReactionsReactionButton\n                (lazyHash\n                  post=@post\n                  position=@position\n                  cancelCollapse=this.cancelCollapse\n                  toggleFromButton=this.toggleFromButton\n                  toggleReactions=this.toggleReactions\n                  cancelExpand=this.cancelExpand\n                  scheduleCollapse=this.scheduleCollapse\n                )\n              )\n            )\n            as |components|\n          }}\n            {{#if this.showReactionsPicker}}\n              <DiscourseReactionsPicker\n                @post={{@post}}\n                @scheduleCollapse={{this.scheduleCollapse}}\n                @cancelCollapse={{this.cancelCollapse}}\n                @reactionsPickerExpanded={{this.reactionsPickerExpanded}}\n                @toggle={{this.toggle}}\n              />\n            {{/if}}\n    \n            {{#if (eq @position \"left\")}}\n              <components.counter />\n            {{else if this.onlyOneMainReaction}}\n              <DiscourseReactionsDoubleButton\n                @post={{@post}}\n                @counterComponent={{components.counter}}\n                @buttonComponent={{components.button}}\n              />\n            {{else if this.site.mobileView}}\n              {{#if (not @post.yours)}}\n                <components.counter />\n                <components.button />\n              {{else if (and @post.yours @post.reactions @post.reactions.length)}}\n                <components.counter />\n              {{/if}}\n            {{else if (not @post.yours)}}\n              <components.button />\n            {{/if}}\n          {{/let}}\n        </div>\n      \n    */\n    {\n      \"id\": \"sB1nbYeY\",\n      \"block\": \"[[[1,\\\"\\\\n    \\\"],[11,0],[16,1,[30,0,[\\\"elementId\\\"]]],[16,0,[29,[\\\"discourse-reactions-actions \\\",[30,0,[\\\"classes\\\"]]]]],[4,[32,0],[\\\"touchstart\\\",[30,0,[\\\"touchStart\\\"]]],null],[4,[32,0],[\\\"touchmove\\\",[30,0,[\\\"touchMove\\\"]]],null],[4,[32,0],[\\\"touchend\\\",[30,0,[\\\"touchEnd\\\"]]],null],[4,[32,1],[[30,0,[\\\"clickOutside\\\"]],[28,[32,2],null,null]],null],[12],[1,\\\"\\\\n\\\"],[44,[[28,[32,2],null,[[\\\"counter\\\",\\\"button\\\"],[[28,[32,3],[[32,4],[28,[32,5],null,[[\\\"post\\\",\\\"position\\\",\\\"reactionsPickerExpanded\\\",\\\"statePanelExpanded\\\",\\\"expandStatePanel\\\",\\\"collapseStatePanel\\\",\\\"cancelCollapse\\\",\\\"scheduleCollapse\\\",\\\"updatePopperPosition\\\",\\\"collapseAllPanels\\\"],[[30,1],[30,2],[30,0,[\\\"reactionsPickerExpanded\\\"]],[30,0,[\\\"statePanelExpanded\\\"]],[30,0,[\\\"expandStatePanel\\\"]],[30,0,[\\\"collapseStatePanel\\\"]],[30,0,[\\\"cancelCollapse\\\"]],[30,0,[\\\"scheduleCollapse\\\"]],[30,0,[\\\"updatePopperPosition\\\"]],[30,0,[\\\"collapseAllPanels\\\"]]]]]],null],[28,[32,3],[[32,6],[28,[32,5],null,[[\\\"post\\\",\\\"position\\\",\\\"cancelCollapse\\\",\\\"toggleFromButton\\\",\\\"toggleReactions\\\",\\\"cancelExpand\\\",\\\"scheduleCollapse\\\"],[[30,1],[30,2],[30,0,[\\\"cancelCollapse\\\"]],[30,0,[\\\"toggleFromButton\\\"]],[30,0,[\\\"toggleReactions\\\"]],[30,0,[\\\"cancelExpand\\\"]],[30,0,[\\\"scheduleCollapse\\\"]]]]]],null]]]]],[[[41,[30,0,[\\\"showReactionsPicker\\\"]],[[[1,\\\"          \\\"],[8,[32,7],null,[[\\\"@post\\\",\\\"@scheduleCollapse\\\",\\\"@cancelCollapse\\\",\\\"@reactionsPickerExpanded\\\",\\\"@toggle\\\"],[[30,1],[30,0,[\\\"scheduleCollapse\\\"]],[30,0,[\\\"cancelCollapse\\\"]],[30,0,[\\\"reactionsPickerExpanded\\\"]],[30,0,[\\\"toggle\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,8],[[30,2],\\\"left\\\"],null],[[[1,\\\"          \\\"],[8,[30,3,[\\\"counter\\\"]],null,null,null],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"onlyOneMainReaction\\\"]],[[[1,\\\"          \\\"],[8,[32,9],null,[[\\\"@post\\\",\\\"@counterComponent\\\",\\\"@buttonComponent\\\"],[[30,1],[30,3,[\\\"counter\\\"]],[30,3,[\\\"button\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[41,[28,[32,10],[[30,1,[\\\"yours\\\"]]],null],[[[1,\\\"            \\\"],[8,[30,3,[\\\"counter\\\"]],null,null,null],[1,\\\"\\\\n            \\\"],[8,[30,3,[\\\"button\\\"]],null,null,null],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,11],[[30,1,[\\\"yours\\\"]],[30,1,[\\\"reactions\\\"]],[30,1,[\\\"reactions\\\",\\\"length\\\"]]],null],[[[1,\\\"            \\\"],[8,[30,3,[\\\"counter\\\"]],null,null,null],[1,\\\"\\\\n          \\\"]],[]],null]],[]]]],[]],[[[41,[28,[32,10],[[30,1,[\\\"yours\\\"]]],null],[[[1,\\\"          \\\"],[8,[30,3,[\\\"button\\\"]],null,null,null],[1,\\\"\\\\n        \\\"]],[]],null]],[]]]],[]]]],[]]]],[3]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@post\\\",\\\"@position\\\",\\\"components\\\"],false,[\\\"let\\\",\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions.js\",\n      \"scope\": () => [_modifier.on, _closeOnClickOutside.default, _helper.hash, _emberCurryComponent.default, _discourseReactionsCounter.default, _lazyHash.default, _discourseReactionsReactionButton.default, _discourseReactionsPicker.default, _truthHelpers.eq, _discourseReactionsDoubleButton.default, _truthHelpers.not, _truthHelpers.and],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsActions;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-counter\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember-compat/tracked-built-ins\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/lib/decorators\", \"discourse/modifiers/close-on-click-outside\", \"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _service, _trackedBuiltIns, _truthHelpers, _dButton, _decorators, _closeOnClickOutside, _discourseReactionsCustomReaction, _discourseReactionsList, _discourseReactionsStatePanel, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscourseReactionsCounter extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n    #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n    #site = (() => (dt7948.i(this, \"site\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    reactionsUsers = (() => new _trackedBuiltIns.TrackedObject())();\n    get elementId() {\n      return `discourse-reactions-counter-${this.args.post.id}-${this.args.position || \"right\"}`;\n    }\n    reactionsChanged(data) {\n      data.reactions.uniq().forEach(reaction => {\n        this.getUsers(reaction);\n      });\n    }\n    getUsers(reactionValue) {\n      return _discourseReactionsCustomReaction.default.findReactionUsers(this.args.post.id, {\n        reactionValue\n      }).then(response => {\n        response.reaction_users.forEach(reactionUser => {\n          this.reactionsUsers[reactionUser.id] = reactionUser.users;\n        });\n        this.args.updatePopperPosition();\n      });\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"getUsers\", [_decorators.bind]))();\n    mouseDown(event) {\n      event.stopImmediatePropagation();\n      return false;\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"mouseDown\", [_object.action]))();\n    mouseUp(event) {\n      event.stopImmediatePropagation();\n      return false;\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"mouseUp\", [_object.action]))();\n    click(event) {\n      if (event.target.closest(\"[data-user-card]\")) {\n        return;\n      }\n      this.args.cancelCollapse();\n      if (!this.capabilities.touch || !this.site.mobileView) {\n        event.stopPropagation();\n        event.preventDefault();\n        if (!this.args.statePanelExpanded) {\n          this.getUsers();\n        }\n        this.toggleStatePanel(event);\n      }\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"click\", [_object.action]))();\n    clickOutside() {\n      if (this.args.statePanelExpanded) {\n        this.args.collapseAllPanels();\n      }\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"clickOutside\", [_object.action]))();\n    touchStart(event) {\n      this.args.cancelCollapse();\n      if (event.target.classList.contains(\"show-users\") || event.target.classList.contains(\"avatar\")) {\n        return true;\n      }\n      if (this.args.statePanelExpanded) {\n        event.stopPropagation();\n        event.preventDefault();\n        return;\n      }\n      if (this.capabilities.touch) {\n        event.stopPropagation();\n        event.preventDefault();\n        this.getUsers();\n        this.toggleStatePanel(event);\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"touchStart\", [_object.action]))();\n    get classes() {\n      const classes = [];\n      const mainReaction = this.siteSettings.discourse_reactions_reaction_for_like;\n      const {\n        post\n      } = this.args;\n      if (post.reactions && post.reactions.length === 1 && post.reactions[0].id === mainReaction) {\n        classes.push(\"only-like\");\n      }\n      if (post.reaction_users_count > 0) {\n        classes.push(\"discourse-reactions-counter\");\n      }\n      return classes.join(\" \");\n    }\n    toggleStatePanel() {\n      if (!this.args.statePanelExpanded) {\n        this.args.expandStatePanel();\n      } else {\n        this.args.collapseStatePanel();\n      }\n    }\n    pointerOver(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.cancelCollapse();\n    }\n    static #_10 = (() => dt7948.n(this.prototype, \"pointerOver\", [_object.action]))();\n    pointerOut(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      if (!event.relatedTarget?.closest(`#${this.elementId}`)) {\n        this.args.scheduleCollapse(\"collapseStatePanel\");\n      }\n    }\n    static #_11 = (() => dt7948.n(this.prototype, \"pointerOut\", [_object.action]))();\n    get onlyOneMainReaction() {\n      return this.args.post.reactions?.length === 1 && this.args.post.reactions[0].id === this.siteSettings.discourse_reactions_reaction_for_like;\n    }\n    static #_12 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{! template-lint-disable no-invalid-interactive no-pointer-down-event-binding }}\n        <div\n          id={{this.elementId}}\n          class={{this.classes}}\n          {{on \"mousedown\" this.mouseDown}}\n          {{on \"mouseup\" this.mouseUp}}\n          {{closeOnClickOutside this.clickOutside (hash)}}\n          {{on \"touchstart\" this.touchStart}}\n          {{on \"pointerover\" this.pointerOver}}\n          {{on \"pointerout\" this.pointerOut}}\n          {{on \"click\" this.click}}\n        >\n          {{#if @post.reaction_users_count}}\n            <DiscourseReactionsStatePanel\n              @post={{@post}}\n              @reactionsUsers={{this.reactionsUsers}}\n              @statePanelExpanded={{@statePanelExpanded}}\n              @scheduleCollapse={{@scheduleCollapse}}\n              @cancelCollapse={{@cancelCollapse}}\n            />\n    \n            {{#unless this.onlyOneMainReaction}}\n              <DiscourseReactionsList\n                {{on \"click\" this.click}}\n                @post={{@post}}\n                @reactionsUsers={{this.reactionsUsers}}\n                @getUsers={{this.getUsers}}\n              />\n            {{/unless}}\n    \n            <span class=\"reactions-counter\">\n              {{@post.reaction_users_count}}\n            </span>\n    \n            {{#if (and @post.yours this.onlyOneMainReaction)}}\n              <div class=\"discourse-reactions-reaction-button my-likes\">\n                <DButton\n                  class=\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\"\n                  @icon={{this.siteSettings.discourse_reactions_like_icon}}\n                />\n              </div>\n            {{/if}}\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"JYgW6P3z\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[1,\\\"    \\\"],[11,0],[16,1,[30,0,[\\\"elementId\\\"]]],[16,0,[30,0,[\\\"classes\\\"]]],[4,[32,0],[\\\"mousedown\\\",[30,0,[\\\"mouseDown\\\"]]],null],[4,[32,0],[\\\"mouseup\\\",[30,0,[\\\"mouseUp\\\"]]],null],[4,[32,1],[[30,0,[\\\"clickOutside\\\"]],[28,[32,2],null,null]],null],[4,[32,0],[\\\"touchstart\\\",[30,0,[\\\"touchStart\\\"]]],null],[4,[32,0],[\\\"pointerover\\\",[30,0,[\\\"pointerOver\\\"]]],null],[4,[32,0],[\\\"pointerout\\\",[30,0,[\\\"pointerOut\\\"]]],null],[4,[32,0],[\\\"click\\\",[30,0,[\\\"click\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"reaction_users_count\\\"]],[[[1,\\\"        \\\"],[8,[32,3],null,[[\\\"@post\\\",\\\"@reactionsUsers\\\",\\\"@statePanelExpanded\\\",\\\"@scheduleCollapse\\\",\\\"@cancelCollapse\\\"],[[30,1],[30,0,[\\\"reactionsUsers\\\"]],[30,2],[30,3],[30,4]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[51,[30,0,[\\\"onlyOneMainReaction\\\"]]],[[[1,\\\"          \\\"],[8,[32,4],[[4,[32,0],[\\\"click\\\",[30,0,[\\\"click\\\"]]],null]],[[\\\"@post\\\",\\\"@reactionsUsers\\\",\\\"@getUsers\\\"],[[30,1],[30,0,[\\\"reactionsUsers\\\"]],[30,0,[\\\"getUsers\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"reactions-counter\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[30,1,[\\\"reaction_users_count\\\"]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,5],[[30,1,[\\\"yours\\\"]],[30,0,[\\\"onlyOneMainReaction\\\"]]],null],[[[1,\\\"          \\\"],[10,0],[14,0,\\\"discourse-reactions-reaction-button my-likes\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[32,6],[[24,0,\\\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\\\"]],[[\\\"@icon\\\"],[[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_like_icon\\\"]]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@post\\\",\\\"@statePanelExpanded\\\",\\\"@scheduleCollapse\\\",\\\"@cancelCollapse\\\"],false,[\\\"if\\\",\\\"unless\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-counter.js\",\n      \"scope\": () => [_modifier.on, _closeOnClickOutside.default, _helper.hash, _discourseReactionsStatePanel.default, _discourseReactionsList.default, _truthHelpers.and, _dButton.default],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsCounter;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-double-button\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const DiscourseReactionsDoubleButton = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n    <div class=\"discourse-reactions-double-button\">\n      {{#if @post.reaction_users_count}}\n        <@counterComponent />\n      {{/if}}\n  \n      {{#unless @post.yours}}\n        <@buttonComponent />\n      {{/unless}}\n    </div>\n  \n  */\n  {\n    \"id\": \"CrxxOKyQ\",\n    \"block\": \"[[[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"discourse-reactions-double-button\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"reaction_users_count\\\"]],[[[1,\\\"      \\\"],[8,[30,2],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[51,[30,1,[\\\"yours\\\"]]],[[[1,\\\"      \\\"],[8,[30,3],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@post\\\",\\\"@counterComponent\\\",\\\"@buttonComponent\\\"],false,[\\\"if\\\",\\\"unless\\\"]]\",\n    \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-double-button.js\",\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"discourse-reactions-double-button:DiscourseReactionsDoubleButton\"));\n  var _default = _exports.default = DiscourseReactionsDoubleButton;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list-emoji\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"@popperjs/core\", \"discourse/helpers/emoji\", \"discourse/lib/decorators\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _runloop, _service, _core, _emoji, _decorators, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const DISPLAY_MAX_USERS = 19;\n  let _popperReactionUserPanel;\n  class DiscourseReactionsListEmoji extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"loadingReactions\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loadingReactions = (() => (dt7948.i(this, \"loadingReactions\"), void 0))();\n    get elementId() {\n      return `discourse-reactions-list-emoji-${this.args.post.id}-${this.args.reaction.id}`;\n    }\n    pointerOver(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this._setupPopper(\".user-list\");\n      if (!this.args.users?.length && !this.loadingReactions) {\n        (0, _runloop.debounce)(this, this._loadReactionUsers, 3000, true);\n      }\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"pointerOver\", [_object.action]))();\n    _setupPopper(selector) {\n      (0, _runloop.schedule)(\"afterRender\", () => {\n        const elementId = CSS.escape(this.elementId);\n        const trigger = document.querySelector(`#${elementId}`);\n        const popperElement = document.querySelector(`#${elementId} ${selector}`);\n        if (popperElement) {\n          _popperReactionUserPanel && _popperReactionUserPanel.destroy();\n          _popperReactionUserPanel = (0, _core.createPopper)(trigger, popperElement, {\n            placement: \"bottom\",\n            modifiers: [{\n              name: \"offset\",\n              options: {\n                offset: [0, -5]\n              }\n            }, {\n              name: \"preventOverflow\",\n              options: {\n                padding: 5\n              }\n            }]\n          });\n        }\n      });\n    }\n    _loadReactionUsers() {\n      this.loadingReactions = true;\n      this.args.getUsers(this.args.reaction.id).finally(() => {\n        this.loadingReactions = false;\n      });\n    }\n    get truncatedUsers() {\n      return this.args.users?.slice(0, DISPLAY_MAX_USERS);\n    }\n    displayNameForUser(user) {\n      if (!this.siteSettings.prioritize_username_in_ux && this.siteSettings.prioritize_full_name_in_ux) {\n        return user.name || user.username;\n      } else if (this.siteSettings.prioritize_username_in_ux) {\n        return user.username;\n      } else if (!user.name) {\n        return user.username;\n      } else {\n        return user.name;\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"displayNameForUser\", [_decorators.bind]))();\n    get hiddenUserCount() {\n      return this.args.users?.length - this.truncatedUsers?.length;\n    }\n    static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        <div\n          class=\"discourse-reactions-list-emoji\"\n          id={{this.elementId}}\n          {{on \"pointerover\" this.pointerOver}}\n        >\n          {{#if @reaction.count}}\n            {{emoji\n              @reaction.id\n              skipTitle=true\n              class=(if\n                this.siteSettings.discourse_reactions_desaturated_reaction_panel\n                \"desaturated\"\n                \"\"\n              )\n            }}\n    \n            <div class=\"user-list\">\n              <div class=\"container\">\n                <span class=\"heading\">{{@reaction.id}}</span>\n                {{#each this.truncatedUsers as |user|}}\n                  <span class=\"username\">{{this.displayNameForUser user}}</span>\n                {{else}}\n                  <div class=\"center\"><div class=\"spinner small\"></div></div>\n                {{/each}}\n                {{#if this.hiddenUserCount}}\n                  <span class=\"other-users\">\n                    {{i18n\n                      \"discourse_reactions.state_panel.more_users\"\n                      count=this.hiddenUserCount\n                    }}\n                  </span>\n                {{/if}}\n              </div>\n            </div>\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"oC4wPQRv\",\n      \"block\": \"[[[1,\\\"\\\\n    \\\"],[11,0],[24,0,\\\"discourse-reactions-list-emoji\\\"],[16,1,[30,0,[\\\"elementId\\\"]]],[4,[32,0],[\\\"pointerover\\\",[30,0,[\\\"pointerOver\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"count\\\"]],[[[1,\\\"        \\\"],[1,[28,[32,1],[[30,1,[\\\"id\\\"]]],[[\\\"skipTitle\\\",\\\"class\\\"],[true,[52,[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_desaturated_reaction_panel\\\"]],\\\"desaturated\\\",\\\"\\\"]]]]],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"user-list\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"heading\\\"],[12],[1,[30,1,[\\\"id\\\"]]],[13],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"truncatedUsers\\\"]]],null]],null],null,[[[1,\\\"              \\\"],[10,1],[14,0,\\\"username\\\"],[12],[1,[28,[30,0,[\\\"displayNameForUser\\\"]],[[30,2]],null]],[13],[1,\\\"\\\\n\\\"]],[2]],[[[1,\\\"              \\\"],[10,0],[14,0,\\\"center\\\"],[12],[10,0],[14,0,\\\"spinner small\\\"],[12],[13],[13],[1,\\\"\\\\n\\\"]],[]]],[41,[30,0,[\\\"hiddenUserCount\\\"]],[[[1,\\\"              \\\"],[10,1],[14,0,\\\"other-users\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[32,2],[\\\"discourse_reactions.state_panel.more_users\\\"],[[\\\"count\\\"],[[30,0,[\\\"hiddenUserCount\\\"]]]]]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@reaction\\\",\\\"user\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list-emoji.js\",\n      \"scope\": () => [_modifier.on, _emoji.default, _discourseI18n.i18n],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsListEmoji;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list\", [\"exports\", \"@ember/helper\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list-emoji\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _discourseReactionsListEmoji, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const DiscourseReactionsList = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n    <div class=\"discourse-reactions-list\" ...attributes>\n      {{#if @post.reaction_users_count}}\n        <div class=\"reactions\">\n          {{#each @post.reactions as |reaction|}}\n            <DiscourseReactionsListEmoji\n              @reaction={{reaction}}\n              @users={{get @reactionsUsers reaction.id}}\n              @post={{@post}}\n              @getUsers={{@getUsers}}\n            />\n          {{/each}}\n        </div>\n      {{/if}}\n    </div>\n  \n  */\n  {\n    \"id\": \"51G+Gk6Y\",\n    \"block\": \"[[[1,\\\"\\\\n  \\\"],[11,0],[24,0,\\\"discourse-reactions-list\\\"],[17,1],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reaction_users_count\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"reactions\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,2,[\\\"reactions\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[8,[32,0],null,[[\\\"@reaction\\\",\\\"@users\\\",\\\"@post\\\",\\\"@getUsers\\\"],[[30,3],[28,[32,1],[[30,4],[30,3,[\\\"id\\\"]]],null],[30,2],[30,5]]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"&attrs\\\",\\\"@post\\\",\\\"reaction\\\",\\\"@reactionsUsers\\\",\\\"@getUsers\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-list.js\",\n    \"scope\": () => [_discourseReactionsListEmoji.default, _helper.get],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"discourse-reactions-list:DiscourseReactionsList\"));\n  var _default = _exports.default = DiscourseReactionsList;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-picker\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/emoji\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _service, _dButton, _concatClass, _emoji, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscourseReactionsPicker extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    pointerOut(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.scheduleCollapse(\"collapseReactionsPicker\");\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"pointerOut\", [_object.action]))();\n    pointerOver() {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.cancelCollapse();\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"pointerOver\", [_object.action]))();\n    get reactionInfo() {\n      const reactions = this.siteSettings.discourse_reactions_enabled_reactions.split(\"|\").filter(Boolean);\n      if (!reactions.includes(this.siteSettings.discourse_reactions_reaction_for_like)) {\n        reactions.unshift(this.siteSettings.discourse_reactions_reaction_for_like);\n      }\n      const {\n        post\n      } = this.args;\n      const currentUserReaction = post.current_user_reaction;\n      return reactions.map(reaction => {\n        let isUsed;\n        let canUndo;\n        if (reaction === this.siteSettings.discourse_reactions_reaction_for_like) {\n          isUsed = post.current_user_used_main_reaction;\n        } else {\n          isUsed = currentUserReaction && currentUserReaction.id === reaction;\n        }\n        if (currentUserReaction) {\n          canUndo = currentUserReaction.can_undo && post.likeAction.canToggle;\n        } else {\n          canUndo = post.likeAction.canToggle;\n        }\n        let title;\n        let titleOptions;\n        if (canUndo) {\n          title = \"discourse_reactions.picker.react_with\";\n          titleOptions = {\n            reaction\n          };\n        } else {\n          title = \"discourse_reactions.picker.cant_remove_reaction\";\n        }\n        return {\n          id: reaction,\n          title: (0, _discourseI18n.i18n)(title, titleOptions),\n          canUndo,\n          isUsed\n        };\n      });\n    }\n    _getOptimalColsCount(count) {\n      let x;\n      const colsByRow = [5, 6, 7, 8];\n      // if small count, just use it\n      if (count < colsByRow[0]) {\n        return count;\n      }\n      for (let index = 0; index < colsByRow.length; ++index) {\n        const i = colsByRow[index];\n        // if same as one of the max cols number, just use it\n        let rest = count % i;\n        if (rest === 0) {\n          x = i;\n          break;\n        }\n        // loop until we find a number limiting to the minimum the number\n        // of empty cells\n        if (index === 0) {\n          x = i;\n        } else {\n          if (rest > count % (i - 1)) {\n            x = i;\n          }\n        }\n      }\n      return x;\n    }\n    static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        <div\n          class={{concatClass\n            \"discourse-reactions-picker\"\n            (if @reactionsPickerExpanded \"is-expanded\")\n          }}\n          {{on \"pointerover\" this.pointerOver}}\n          {{on \"pointerout\" this.pointerOut}}\n        >\n          {{#if @reactionsPickerExpanded}}\n            <div\n              class=\"discourse-reactions-picker-container col-{{this._getOptimalColsCount\n                  this.reactionInfo.length\n                }}\"\n            >\n              {{#each this.reactionInfo as |reaction|}}\n                <DButton\n                  class={{concatClass\n                    \"btn-flat\"\n                    \"pickable-reaction\"\n                    reaction.id\n                    (if reaction.canUndo \"can-undo\")\n                    (if reaction.isUsed \"is-used\")\n                  }}\n                  data-reaction={{reaction.id}}\n                  @action={{fn\n                    @toggle\n                    (hash\n                      reaction=reaction.id postId=@post.id canUndo=reaction.canUndo\n                    )\n                  }}\n                  @translatedTitle={{reaction.title}}\n                >\n                  {{emoji reaction.id}}\n                </DButton>\n              {{/each}}\n            </div>\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"xjdnp6CU\",\n      \"block\": \"[[[1,\\\"\\\\n    \\\"],[11,0],[16,0,[28,[32,0],[\\\"discourse-reactions-picker\\\",[52,[30,1],\\\"is-expanded\\\"]],null]],[4,[32,1],[\\\"pointerover\\\",[30,0,[\\\"pointerOver\\\"]]],null],[4,[32,1],[\\\"pointerout\\\",[30,0,[\\\"pointerOut\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"        \\\"],[10,0],[15,0,[29,[\\\"discourse-reactions-picker-container col-\\\",[28,[30,0,[\\\"_getOptimalColsCount\\\"]],[[30,0,[\\\"reactionInfo\\\",\\\"length\\\"]]],null]]]],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"reactionInfo\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[8,[32,2],[[16,0,[28,[32,0],[\\\"btn-flat\\\",\\\"pickable-reaction\\\",[30,2,[\\\"id\\\"]],[52,[30,2,[\\\"canUndo\\\"]],\\\"can-undo\\\"],[52,[30,2,[\\\"isUsed\\\"]],\\\"is-used\\\"]],null]],[16,\\\"data-reaction\\\",[30,2,[\\\"id\\\"]]]],[[\\\"@action\\\",\\\"@translatedTitle\\\"],[[28,[32,3],[[30,3],[28,[32,4],null,[[\\\"reaction\\\",\\\"postId\\\",\\\"canUndo\\\"],[[30,2,[\\\"id\\\"]],[30,4,[\\\"id\\\"]],[30,2,[\\\"canUndo\\\"]]]]]],null],[30,2,[\\\"title\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              \\\"],[1,[28,[32,5],[[30,2,[\\\"id\\\"]]],null]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@reactionsPickerExpanded\\\",\\\"reaction\\\",\\\"@toggle\\\",\\\"@post\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-picker.js\",\n      \"scope\": () => [_concatClass.default, _modifier.on, _dButton.default, _helper.fn, _helper.hash, _emoji.default],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsPicker;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-button\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember/utils\", \"discourse/components/d-button\", \"discourse/lib/text\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _service, _utils, _dButton, _text, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ReactionsReactionButton extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n    #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n    #site = (() => (dt7948.i(this, \"site\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    click() {\n      this.args.cancelCollapse();\n      const currentUserReaction = this.args.post.current_user_reaction;\n      if (!this.capabilities.touch || !this.site.mobileView) {\n        this.args.toggleFromButton({\n          reaction: currentUserReaction ? currentUserReaction.id : this.siteSettings.discourse_reactions_reaction_for_like\n        });\n      }\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"click\", [_object.action]))();\n    pointerOver(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.cancelCollapse();\n      const likeAction = this.args.post.likeAction;\n      const currentUserReaction = this.args.post.current_user_reaction;\n      if (currentUserReaction && !currentUserReaction.can_undo && (!likeAction || (0, _utils.isBlank)(likeAction.can_undo))) {\n        return;\n      }\n      this.args.toggleReactions(event);\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"pointerOver\", [_object.action]))();\n    pointerOut(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.cancelExpand();\n      this.args.scheduleCollapse(\"collapseReactionsPicker\");\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"pointerOut\", [_object.action]))();\n    get title() {\n      if (!this.currentUser) {\n        return (0, _discourseI18n.i18n)(\"discourse_reactions.main_reaction.unauthenticated\");\n      }\n      const likeAction = this.args.post.likeAction;\n      if (!likeAction) {\n        return null;\n      }\n      let title;\n      let options;\n      const currentUserReaction = this.args.post.current_user_reaction;\n      if (likeAction.canToggle && (0, _utils.isBlank)(likeAction.can_undo)) {\n        title = \"discourse_reactions.main_reaction.add\";\n      }\n      if (likeAction.canToggle && likeAction.can_undo) {\n        title = \"discourse_reactions.main_reaction.remove\";\n      }\n      if (!likeAction.canToggle) {\n        title = \"discourse_reactions.main_reaction.cant_remove\";\n      }\n      if (currentUserReaction && currentUserReaction.can_undo && (0, _utils.isBlank)(likeAction.can_undo)) {\n        title = \"discourse_reactions.picker.remove_reaction\";\n        options = {\n          reaction: currentUserReaction.id\n        };\n      }\n      if (currentUserReaction && !currentUserReaction.can_undo && (0, _utils.isBlank)(likeAction.can_undo)) {\n        title = \"discourse_reactions.picker.cant_remove_reaction\";\n      }\n      return options ? (0, _discourseI18n.i18n)(title, options) : (0, _discourseI18n.i18n)(title);\n    }\n    static #_8 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{! template-lint-disable no-invalid-interactive }}\n        <div\n          class=\"discourse-reactions-reaction-button\"\n          {{on \"click\" this.click}}\n          {{on \"pointerover\" this.pointerOver}}\n          {{on \"pointerout\" this.pointerOut}}\n          title={{this.title}}\n        >\n          {{#if @post.current_user_used_main_reaction}}\n            <DButton\n              class=\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\"\n              @translatedTitle={{this.title}}\n              @icon={{this.siteSettings.discourse_reactions_like_icon}}\n            />\n          {{else if @post.current_user_reaction}}\n            <DButton\n              class=\"btn-icon no-text btn-flat reaction-button\"\n              @translatedTitle={{this.title}}\n            >\n              <img\n                class=\"btn-toggle-reaction-emoji reaction-button\"\n                src={{emojiUrlFor @post.current_user_reaction.id}}\n                alt={{concat \":\" @post.current_user_reaction.id}}\n              />\n            </DButton>\n          {{else}}\n            <DButton\n              class=\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\"\n              @translatedTitle={{this.title}}\n              @icon={{concat\n                \"far-\"\n                this.siteSettings.discourse_reactions_like_icon\n              }}\n            />\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"giKVq6ry\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[1,\\\"    \\\"],[11,0],[24,0,\\\"discourse-reactions-reaction-button\\\"],[16,\\\"title\\\",[30,0,[\\\"title\\\"]]],[4,[32,0],[\\\"click\\\",[30,0,[\\\"click\\\"]]],null],[4,[32,0],[\\\"pointerover\\\",[30,0,[\\\"pointerOver\\\"]]],null],[4,[32,0],[\\\"pointerout\\\",[30,0,[\\\"pointerOut\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"current_user_used_main_reaction\\\"]],[[[1,\\\"        \\\"],[8,[32,1],[[24,0,\\\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\\\"]],[[\\\"@translatedTitle\\\",\\\"@icon\\\"],[[30,0,[\\\"title\\\"]],[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_like_icon\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,1,[\\\"current_user_reaction\\\"]],[[[1,\\\"        \\\"],[8,[32,1],[[24,0,\\\"btn-icon no-text btn-flat reaction-button\\\"]],[[\\\"@translatedTitle\\\"],[[30,0,[\\\"title\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[10,\\\"img\\\"],[14,0,\\\"btn-toggle-reaction-emoji reaction-button\\\"],[15,\\\"src\\\",[28,[32,2],[[30,1,[\\\"current_user_reaction\\\",\\\"id\\\"]]],null]],[15,\\\"alt\\\",[28,[32,3],[\\\":\\\",[30,1,[\\\"current_user_reaction\\\",\\\"id\\\"]]],null]],[12],[13],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[8,[32,1],[[24,0,\\\"btn-toggle-reaction-like btn-flat btn-icon no-text reaction-button\\\"]],[[\\\"@translatedTitle\\\",\\\"@icon\\\"],[[30,0,[\\\"title\\\"]],[28,[32,3],[\\\"far-\\\",[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_like_icon\\\"]]],null]]],null],[1,\\\"\\\\n      \\\"]],[]]]],[]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@post\\\"],false,[\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-button.js\",\n      \"scope\": () => [_modifier.on, _dButton.default, _text.emojiUrlFor, _helper.concat],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = ReactionsReactionButton;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-post\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"@ember/object/computed\", \"@ember/service\", \"discourse/components/user-stream-item\", \"discourse/helpers/avatar\", \"discourse/lib/ajax\", \"discourse/lib/get-url\", \"discourse/lib/text\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _computed, _service, _userStreamItem, _avatar, _ajax, _getUrl, _text, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  let cachedNames = new Map();\n  let pendingSearch = null;\n  class DiscourseReactionsReactionPost extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n    #site = (() => (dt7948.i(this, \"site\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"updatedExcerpt\", [_tracking.tracked], function () {\n      return this.args.reaction.post.excerpt;\n    }))();\n    #updatedExcerpt = (() => (dt7948.i(this, \"updatedExcerpt\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"updatedExpandedExcerpt\", [_tracking.tracked], function () {\n      return this.args.reaction.post.expandedExcerpt;\n    }))();\n    #updatedExpandedExcerpt = (() => (dt7948.i(this, \"updatedExpandedExcerpt\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"moderatorAction\", [(0, _computed.equal)(\"args.reaction.post.post_type\", \"site.post_types.moderator_action\")]))();\n    #moderatorAction = (() => (dt7948.i(this, \"moderatorAction\"), void 0))();\n    constructor() {\n      super(...arguments);\n      this.updateMentionedUsernames();\n    }\n    async updateMentionedUsernames() {\n      this.updatedExcerpt = await this.replaceMentionsWithFullNames(this.args.reaction.post.excerpt);\n      this.updatedExpandedExcerpt = await this.replaceMentionsWithFullNames(this.args.reaction.post.expandedExcerpt);\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"updateMentionedUsernames\", [_object.action]))();\n    async replaceMentionsWithFullNames(text) {\n      if (!text) {\n        return text;\n      }\n      const mentionRegex = /@([\\p{L}\\d._]+)/gu;\n      const replacedText = await Promise.all(text.split(mentionRegex).map(async (part, index) => {\n        if (index % 2 === 1) {\n          const fullName = await this.searchUsername(part);\n          return `@${fullName || part}`;\n        }\n        return part;\n      }));\n      return replacedText.join(\"\");\n    }\n    async searchUsername(username) {\n      username = username.toLowerCase();\n      if (cachedNames.has(username)) {\n        return cachedNames.get(username);\n      }\n      if (pendingSearch?.usernames.size <= 50) {\n        pendingSearch.usernames.add(username);\n        const results = await pendingSearch.search;\n        if (results.searchedUsernames.includes(username)) {\n          const fullName = results.data.users?.find(user => user.username.toLowerCase() === username)?.name || results.data.groups?.find(group => group.name.toLowerCase() === username)?.full_name;\n          cachedNames.set(username, fullName);\n          return fullName;\n        }\n      }\n      return this.deferSearch(username);\n    }\n    async deferSearch(username) {\n      const usernamesList = new Set([username]);\n      pendingSearch = {\n        search: new Promise(resolve => {\n          setTimeout(async () => {\n            const searchedUsernames = Array.from(usernamesList);\n            pendingSearch = null;\n            const data = await (0, _ajax.ajax)(\"/u/search/users.json\", {\n              data: {\n                usernames: searchedUsernames.join(\",\"),\n                include_groups: this.siteSettings.show_fullname_for_groups\n              }\n            });\n            resolve({\n              searchedUsernames,\n              data\n            });\n          }, 20);\n        }),\n        usernames: usernamesList\n      };\n      return this.searchUsername(username);\n    }\n    get postUrl() {\n      return (0, _getUrl.default)(this.args.reaction.post.url);\n    }\n    get emojiUrl() {\n      const reactionValue = this.args.reaction.reaction.reaction_value;\n      return reactionValue ? (0, _text.emojiUrlFor)(reactionValue) : null;\n    }\n    static #_7 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        <UserStreamItem\n          @item={{hash\n            username=@reaction.post_user.username\n            name=@reaction.post_user.name\n            avatar_template=@reaction.post_user.avatar_template\n            created_at=@reaction.created_at\n            postUrl=this.postUrl\n            category=@reaction.category\n            title=@reaction.topic.title\n            expandedExcerpt=this.updatedExpandedExcerpt\n            excerpt=this.updatedExcerpt\n            topic_id=@reaction.topic_id\n            post_id=@reaction.post_id\n            user_id=@reaction.user_id\n          }}\n        >\n          <:bottom>\n            {{#if @reaction.reaction.reaction_users_count}}\n              <div class=\"discourse-reactions-my-reaction\">\n                <img src={{this.emojiUrl}} class=\"reaction-emoji\" />\n                <a\n                  href={{@reaction.user.userUrl}}\n                  data-user-card={{@reaction.user.username}}\n                  class=\"avatar-link\"\n                >\n                  {{avatar\n                    @reaction.user\n                    imageSize=\"tiny\"\n                    extraClasses=\"actor\"\n                    ignoreTitle=\"true\"\n                  }}\n                </a>\n              </div>\n            {{/if}}\n          </:bottom>\n        </UserStreamItem>\n      \n    */\n    {\n      \"id\": \"pYDbM2j3\",\n      \"block\": \"[[[1,\\\"\\\\n    \\\"],[8,[32,0],null,[[\\\"@item\\\"],[[28,[32,1],null,[[\\\"username\\\",\\\"name\\\",\\\"avatar_template\\\",\\\"created_at\\\",\\\"postUrl\\\",\\\"category\\\",\\\"title\\\",\\\"expandedExcerpt\\\",\\\"excerpt\\\",\\\"topic_id\\\",\\\"post_id\\\",\\\"user_id\\\"],[[30,1,[\\\"post_user\\\",\\\"username\\\"]],[30,1,[\\\"post_user\\\",\\\"name\\\"]],[30,1,[\\\"post_user\\\",\\\"avatar_template\\\"]],[30,1,[\\\"created_at\\\"]],[30,0,[\\\"postUrl\\\"]],[30,1,[\\\"category\\\"]],[30,1,[\\\"topic\\\",\\\"title\\\"]],[30,0,[\\\"updatedExpandedExcerpt\\\"]],[30,0,[\\\"updatedExcerpt\\\"]],[30,1,[\\\"topic_id\\\"]],[30,1,[\\\"post_id\\\"]],[30,1,[\\\"user_id\\\"]]]]]]],[[\\\"bottom\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"reaction\\\",\\\"reaction_users_count\\\"]],[[[1,\\\"          \\\"],[10,0],[14,0,\\\"discourse-reactions-my-reaction\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"emojiUrl\\\"]]],[14,0,\\\"reaction-emoji\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,3],[15,6,[30,1,[\\\"user\\\",\\\"userUrl\\\"]]],[15,\\\"data-user-card\\\",[30,1,[\\\"user\\\",\\\"username\\\"]]],[14,0,\\\"avatar-link\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[28,[32,2],[[30,1,[\\\"user\\\"]]],[[\\\"imageSize\\\",\\\"extraClasses\\\",\\\"ignoreTitle\\\"],[\\\"tiny\\\",\\\"actor\\\",\\\"true\\\"]]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[\\\"@reaction\\\"],false,[\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-post.js\",\n      \"scope\": () => [_userStreamItem.default, _helper.hash, _avatar.default],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsReactionPost;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel-reaction\", [\"exports\", \"@glimmer/component\", \"@ember/modifier\", \"@ember/object\", \"truth-helpers\", \"discourse/components/user-avatar\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/emoji\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _modifier, _object, _truthHelpers, _userAvatar, _concatClass, _dIcon, _emoji, _discourseI18n, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const MAX_USERS_COUNT = 26;\n  const MIN_USERS_COUNT = 8;\n  class DiscourseReactionsStatePanelReaction extends _component.default {\n    click(event) {\n      if (event?.target?.classList?.contains(\"show-users\")) {\n        event.preventDefault();\n        event.stopPropagation();\n        this.args.showUsers(this.args.reaction.id);\n      }\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"click\", [_object.action]))();\n    get firstLineUsers() {\n      return this.args.users.slice(0, MIN_USERS_COUNT);\n    }\n    get otherUsers() {\n      return this.args.users.slice(MIN_USERS_COUNT, MAX_USERS_COUNT);\n    }\n    get columnsCount() {\n      return this.args.users.length > MIN_USERS_COUNT ? this.firstLineUsers.length + 1 : this.firstLineUsers.length;\n    }\n    get moreLabel() {\n      if (this.args.isDisplayed && this.args.reaction.count > MAX_USERS_COUNT) {\n        return (0, _discourseI18n.i18n)(\"discourse_reactions.state_panel.more_users\", {\n          count: this.args.reaction.count - MAX_USERS_COUNT\n        });\n      }\n    }\n    static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{! template-lint-disable no-invalid-interactive }}\n        <div\n          class={{concatClass\n            \"discourse-reactions-state-panel-reaction\"\n            (if @isDisplayed \"is-displayed\")\n          }}\n          {{on \"click\" this.click}}\n        >\n          {{#if @users}}\n            <div class=\"reaction-wrapper\">\n              <div class=\"emoji-wrapper\">\n                {{emoji @reaction.id}}\n              </div>\n              <div class=\"count\">\n                {{@reaction.count}}\n              </div>\n            </div>\n    \n            <div class=\"users\">\n              <div class=\"list list-columns-{{this.columnsCount}}\">\n                {{#each this.firstLineUsers key=\"username\" as |user|}}\n                  <span>\n                    <UserAvatar\n                      class=\"trigger-user-card\"\n                      @size=\"tiny\"\n                      @user={{user}}\n                    />\n                  </span>\n                {{/each}}\n    \n                {{#if (gt @users.length MIN_USERS_COUNT)}}\n                  <button type=\"button\" class=\"show-users\">\n                    {{icon (if @isDisplayed \"chevron-up\" \"chevron-down\")}}\n                  </button>\n                {{/if}}\n    \n                {{#if @isDisplayed}}\n                  {{#each this.otherUsers key=\"username\" as |user|}}\n                    <span>\n                      <UserAvatar\n                        class=\"trigger-user-card\"\n                        @size=\"tiny\"\n                        @user={{user}}\n                      />\n                    </span>\n                  {{/each}}\n                {{/if}}\n              </div>\n              <span class=\"more\">\n                {{this.moreLabel}}\n              </span>\n            </div>\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"R+YB8mSf\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[1,\\\"    \\\"],[11,0],[16,0,[28,[32,0],[\\\"discourse-reactions-state-panel-reaction\\\",[52,[30,1],\\\"is-displayed\\\"]],null]],[4,[32,1],[\\\"click\\\",[30,0,[\\\"click\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"reaction-wrapper\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"emoji-wrapper\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[28,[32,2],[[30,3,[\\\"id\\\"]]],null]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"count\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[30,3,[\\\"count\\\"]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"users\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[15,0,[29,[\\\"list list-columns-\\\",[30,0,[\\\"columnsCount\\\"]]]]],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"firstLineUsers\\\"]]],null]],null],\\\"username\\\",[[[1,\\\"              \\\"],[10,1],[12],[1,\\\"\\\\n                \\\"],[8,[32,3],[[24,0,\\\"trigger-user-card\\\"]],[[\\\"@size\\\",\\\"@user\\\"],[\\\"tiny\\\",[30,4]]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,4],[[30,2,[\\\"length\\\"]],[32,5]],null],[[[1,\\\"              \\\"],[10,\\\"button\\\"],[14,0,\\\"show-users\\\"],[14,4,\\\"button\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[32,6],[[52,[30,1],\\\"chevron-up\\\",\\\"chevron-down\\\"]],null]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,1],[[[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"otherUsers\\\"]]],null]],null],\\\"username\\\",[[[1,\\\"                \\\"],[10,1],[12],[1,\\\"\\\\n                  \\\"],[8,[32,3],[[24,0,\\\"trigger-user-card\\\"]],[[\\\"@size\\\",\\\"@user\\\"],[\\\"tiny\\\",[30,5]]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[5]],null]],[]],null],[1,\\\"          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"more\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[30,0,[\\\"moreLabel\\\"]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@isDisplayed\\\",\\\"@users\\\",\\\"@reaction\\\",\\\"user\\\",\\\"user\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel-reaction.js\",\n      \"scope\": () => [_concatClass.default, _modifier.on, _emoji.default, _userAvatar.default, _truthHelpers.gt, MIN_USERS_COUNT, _dIcon.default],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsStatePanelReaction;\n});","define(\"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel-reaction\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _truthHelpers, _concatClass, _discourseReactionsStatePanelReaction, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscourseReactionsStatePanel extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"displayedReactionId\", [_tracking.tracked]))();\n    #displayedReactionId = (() => (dt7948.i(this, \"displayedReactionId\"), void 0))();\n    get classes() {\n      const classes = [];\n      const {\n        post\n      } = this.args;\n      if (post?.reactions) {\n        const maxCount = Math.max(...post.reactions.mapBy(\"count\"));\n        const charsCount = maxCount.toString().length;\n        classes.push(`max-length-${charsCount}`);\n      }\n      if (this.args.statePanelExpanded) {\n        classes.push(\"is-expanded\");\n      }\n      return classes;\n    }\n    pointerOut(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.scheduleCollapse(\"collapseStatePanel\");\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"pointerOut\", [_object.action]))();\n    pointerOver(event) {\n      if (event.pointerType !== \"mouse\") {\n        return;\n      }\n      this.args.cancelCollapse();\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"pointerOver\", [_object.action]))();\n    showUsers(reactionId) {\n      if (!this.displayedReactionId) {\n        this.displayedReactionId = reactionId;\n      } else if (this.displayedReactionId === reactionId) {\n        this.hideUsers();\n      } else if (this.displayedReactionId !== reactionId) {\n        this.displayedReactionId = reactionId;\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"showUsers\", [_object.action]))();\n    hideUsers() {\n      this.displayedReactionId = null;\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"hideUsers\", [_object.action]))();\n    get hasReactionData() {\n      return !!Object.keys(this.args.reactionsUsers).length;\n    }\n    static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        <div\n          class={{concatClass \"discourse-reactions-state-panel\" this.classes}}\n          {{on \"pointerout\" this.pointerOut}}\n          {{on \"pointerover\" this.pointerOver}}\n        >\n          {{#if (and @statePanelExpanded @post.reactions.length)}}\n            <div class=\"container\">\n              {{#if this.hasReactionData}}\n                <div class=\"counters\">\n                  {{#each @post.reactions key=\"id\" as |reaction|}}\n                    <DiscourseReactionsStatePanelReaction\n                      @reaction={{reaction}}\n                      @users={{get @reactionsUsers reaction.id}}\n                      @post={{@post}}\n                      @isDisplayed={{eq reaction.id this.displayedReactionId}}\n                      @showUsers={{this.showUsers}}\n                    />\n                  {{/each}}\n                </div>\n              {{else}}\n                <div class=\"spinner-container\">\n                  <div class=\"spinner small\"></div>\n                </div>\n              {{/if}}\n            </div>\n          {{/if}}\n        </div>\n      \n    */\n    {\n      \"id\": \"6TR26kBR\",\n      \"block\": \"[[[1,\\\"\\\\n    \\\"],[11,0],[16,0,[28,[32,0],[\\\"discourse-reactions-state-panel\\\",[30,0,[\\\"classes\\\"]]],null]],[4,[32,1],[\\\"pointerout\\\",[30,0,[\\\"pointerOut\\\"]]],null],[4,[32,1],[\\\"pointerover\\\",[30,0,[\\\"pointerOver\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[28,[32,2],[[30,1],[30,2,[\\\"reactions\\\",\\\"length\\\"]]],null],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"container\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hasReactionData\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"counters\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,2,[\\\"reactions\\\"]]],null]],null],\\\"id\\\",[[[1,\\\"                \\\"],[8,[32,3],null,[[\\\"@reaction\\\",\\\"@users\\\",\\\"@post\\\",\\\"@isDisplayed\\\",\\\"@showUsers\\\"],[[30,3],[28,[32,4],[[30,4],[30,3,[\\\"id\\\"]]],null],[30,2],[28,[32,5],[[30,3,[\\\"id\\\"]],[30,0,[\\\"displayedReactionId\\\"]]],null],[30,0,[\\\"showUsers\\\"]]]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"spinner-container\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"spinner small\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"]],[\\\"@statePanelExpanded\\\",\\\"@post\\\",\\\"reaction\\\",\\\"@reactionsUsers\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-state-panel.js\",\n      \"scope\": () => [_concatClass.default, _modifier.on, _truthHelpers.and, _discourseReactionsStatePanelReaction.default, _object.get, _truthHelpers.eq],\n      \"isStrictMode\": true\n    }), this))();\n  }\n  _exports.default = DiscourseReactionsStatePanel;\n});","define(\"discourse/plugins/discourse-reactions/discourse/connectors/user-activity-bottom/discourse-reactions-user-activity-reactions\", [\"exports\", \"@ember/component\", \"@ember/routing\", \"@ember-decorators/component\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _routing, _component2, _dIcon, _discourseI18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /* eslint-disable ember/no-classic-components */\n  const DiscourseReactionsUserActivityReactions = dt7948.c(class DiscourseReactionsUserActivityReactions extends _component.default {\n    static #_ = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{#if this.siteSettings.discourse_reactions_enabled}}\n          <LinkTo @route=\"userActivity.reactions\">\n            {{icon \"far-face-smile\"}}\n            <span>{{i18n \"discourse_reactions.reactions_title\"}}</span>\n          </LinkTo>\n        {{/if}}\n      \n    */\n    {\n      \"id\": \"9ljAmUAV\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_enabled\\\"]],[[[1,\\\"      \\\"],[8,[32,0],null,[[\\\"@route\\\"],[\\\"userActivity.reactions\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[1,[28,[32,1],[\\\"far-face-smile\\\"],null]],[1,\\\"\\\\n        \\\"],[10,1],[12],[1,[28,[32,2],[\\\"discourse_reactions.reactions_title\\\"],null]],[13],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"]],[],false,[\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/connectors/user-activity-bottom/discourse-reactions-user-activity-reactions.js\",\n      \"scope\": () => [_routing.LinkTo, _dIcon.default, _discourseI18n.i18n],\n      \"isStrictMode\": true\n    }), this))();\n  }, [(0, _component2.classNames)(\"user-activity-bottom-outlet\", \"discourse-reactions-user-activity-reactions\"), (0, _component2.tagName)(\"li\")]);\n  var _default = _exports.default = DiscourseReactionsUserActivityReactions;\n});","define(\"discourse/plugins/discourse-reactions/discourse/connectors/user-notifications-bottom/discourse-reactions-user-notification-reactions\", [\"exports\", \"@ember/component\", \"@ember/routing\", \"@ember-decorators/component\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _routing, _component2, _dIcon, _discourseI18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /* eslint-disable ember/no-classic-components */\n  const DiscourseReactionsUserNotificationReactions = dt7948.c(class DiscourseReactionsUserNotificationReactions extends _component.default {\n    static #_ = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n    /*\n      \n        {{#if this.siteSettings.discourse_reactions_enabled}}\n          <LinkTo @route=\"userNotifications.reactionsReceived\">\n            {{icon \"far-face-smile\"}}\n            <span>{{i18n \"discourse_reactions.reactions_title\"}}</span>\n          </LinkTo>\n        {{/if}}\n      \n    */\n    {\n      \"id\": \"Wma8huLo\",\n      \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"siteSettings\\\",\\\"discourse_reactions_enabled\\\"]],[[[1,\\\"      \\\"],[8,[32,0],null,[[\\\"@route\\\"],[\\\"userNotifications.reactionsReceived\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[1,[28,[32,1],[\\\"far-face-smile\\\"],null]],[1,\\\"\\\\n        \\\"],[10,1],[12],[1,[28,[32,2],[\\\"discourse_reactions.reactions_title\\\"],null]],[13],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"]],[],false,[\\\"if\\\"]]\",\n      \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/connectors/user-notifications-bottom/discourse-reactions-user-notification-reactions.js\",\n      \"scope\": () => [_routing.LinkTo, _dIcon.default, _discourseI18n.i18n],\n      \"isStrictMode\": true\n    }), this))();\n  }, [(0, _component2.classNames)(\"user-notifications-bottom-outlet\", \"discourse-reactions-user-notification-reactions\"), (0, _component2.tagName)(\"li\")]);\n  var _default = _exports.default = DiscourseReactionsUserNotificationReactions;\n});","define(\"discourse/plugins/discourse-reactions/discourse/controllers/user-activity-reactions\", [\"exports\", \"@glimmer/tracking\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\"], function (_exports, _tracking, _controller, _object, _service, _discourseReactionsCustomReaction) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class UserActivityReactions extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"application\", [_controller.inject]))();\n    #application = (() => (dt7948.i(this, \"application\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"canLoadMore\", [_tracking.tracked], function () {\n      return true;\n    }))();\n    #canLoadMore = (() => (dt7948.i(this, \"canLoadMore\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"beforeLikeId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #beforeLikeId = (() => (dt7948.i(this, \"beforeLikeId\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"beforeReactionUserId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #beforeReactionUserId = (() => (dt7948.i(this, \"beforeReactionUserId\"), void 0))();\n    #getLastIdFrom(array) {\n      return array.length ? array[array.length - 1].get(\"id\") : null;\n    }\n    #updateBeforeIds(reactionUsers) {\n      if (this.includeLikes) {\n        const mainReaction = this.siteSettings.discourse_reactions_reaction_for_like;\n        const [likes, reactions] = reactionUsers.reduce((memo, elem) => {\n          if (elem.reaction.reaction_value === mainReaction) {\n            memo[0].push(elem);\n          } else {\n            memo[1].push(elem);\n          }\n          return memo;\n        }, [[], []]);\n        this.beforeLikeId = this.#getLastIdFrom(likes);\n        this.beforeReactionUserId = this.#getLastIdFrom(reactions);\n      } else {\n        this.beforeReactionUserId = this.#getLastIdFrom(reactionUsers);\n      }\n    }\n    loadMore() {\n      if (!this.canLoadMore || this.loading) {\n        return;\n      }\n      this.loading = true;\n      const reactionUsers = this.model;\n      if (!this.beforeReactionUserId) {\n        this.#updateBeforeIds(reactionUsers);\n      }\n      const opts = {\n        actingUsername: this.actingUsername,\n        includeLikes: this.includeLikes,\n        beforeLikeId: this.beforeLikeId,\n        beforeReactionUserId: this.beforeReactionUserId\n      };\n      _discourseReactionsCustomReaction.default.findReactions(this.reactionsUrl, this.username, opts).then(newReactionUsers => {\n        reactionUsers.addObjects(newReactionUsers);\n        this.#updateBeforeIds(newReactionUsers);\n        if (newReactionUsers.length === 0) {\n          this.canLoadMore = false;\n        }\n      }).finally(() => {\n        this.loading = false;\n      });\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"loadMore\", [_object.action]))();\n  }\n  _exports.default = UserActivityReactions;\n});","define(\"discourse/plugins/discourse-reactions/discourse/discourse-reactions-user-activity-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(\"reactions\");\n    }\n  };\n});","define(\"discourse/plugins/discourse-reactions/discourse/discourse-reactions-user-notifications-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.userNotifications\",\n    map() {\n      this.route(\"reactionsReceived\", {\n        path: \"reactions-received\"\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-reactions/discourse/initializers/discourse-reactions\", [\"exports\", \"discourse/lib/deprecated\", \"discourse/lib/icon-library\", \"discourse/lib/plugin-api\", \"discourse/lib/text\", \"discourse/lib/url\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-button\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-actions-summary\"], function (_exports, _deprecated, _iconLibrary, _pluginApi, _text, _url, _utilities, _discourseI18n, _discourseReactionsActions, _discourseReactionsActionsButton, _discourseReactionsActionsSummary) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const PLUGIN_ID = \"discourse-reactions\";\n  (0, _iconLibrary.replaceIcon)(\"notification.reaction\", \"bell\");\n  function initializeDiscourseReactions(api) {\n    customizePostMenu(api);\n    customizeWidgetPost(api);\n    api.addKeyboardShortcut(\"l\", null, {\n      click: \".topic-post.selected .discourse-reactions-reaction-button\"\n    });\n    api.addTrackedPostProperties(\"current_user_used_main_reaction\", \"reaction_users_count\", \"current_user_reaction\", \"reactions\");\n    api.modifyClass(\"component:emoji-value-list\", {\n      pluginId: PLUGIN_ID,\n      didReceiveAttrs() {\n        this._super(...arguments);\n        if (this.setting.setting !== \"discourse_reactions_enabled_reactions\") {\n          return;\n        }\n        let defaultValue = this.values.includes(this.siteSettings.discourse_reactions_reaction_for_like);\n        if (!defaultValue) {\n          this.collection.unshiftObject({\n            emojiUrl: (0, _text.emojiUrlFor)(this.siteSettings.discourse_reactions_reaction_for_like),\n            isEditable: false,\n            isEditing: false,\n            value: this.siteSettings.discourse_reactions_reaction_for_like\n          });\n        } else {\n          const mainEmoji = this.collection.findBy(\"value\", this.siteSettings.discourse_reactions_reaction_for_like);\n          if (mainEmoji) {\n            mainEmoji.isEditable = false;\n          }\n        }\n      }\n    },\n    // It's an admin component so it's not always present\n    {\n      ignoreMissing: true\n    });\n    api.replaceIcon(\"notification.reaction\", \"discourse-emojis\");\n    if (api.registerNotificationTypeRenderer) {\n      api.registerNotificationTypeRenderer(\"reaction\", NotificationTypeBase => {\n        return class extends NotificationTypeBase {\n          get linkTitle() {\n            return (0, _discourseI18n.i18n)(\"notifications.titles.reaction\");\n          }\n          get linkHref() {\n            const superHref = super.linkHref;\n            if (superHref) {\n              return superHref;\n            }\n            let activityName = \"reactions-received\";\n            // All collapsed notifications were \"likes\"\n            if (this.notification.data.reaction_icon) {\n              activityName = \"likes-received\";\n            }\n            return (0, _url.userPath)(`${this.currentUser.username}/notifications/${activityName}?acting_username=${this.notification.data.display_username}&include_likes=true`);\n          }\n          get icon() {\n            return this.notification.data.reaction_icon || `notification.${this.notificationName}`;\n          }\n          get label() {\n            const count = this.notification.data.count;\n            const nameOrUsername = this.siteSettings.prioritize_full_name_in_ux ? this.notification.data.display_name || this.username : this.username;\n            if (!count || count === 1 || !this.notification.data.username2) {\n              return nameOrUsername;\n            }\n            if (count > 2) {\n              return (0, _discourseI18n.i18n)(\"notifications.reaction_multiple_users\", {\n                username: nameOrUsername,\n                count: count - 1\n              });\n            } else {\n              const nameOrUsername2 = this.siteSettings.prioritize_full_name_in_ux ? this.notification.data.name2 || (0, _utilities.formatUsername)(this.notification.data.username2) : (0, _utilities.formatUsername)(this.notification.data.username2);\n              return (0, _discourseI18n.i18n)(\"notifications.reaction_2_users\", {\n                username: nameOrUsername,\n                username2: nameOrUsername2\n              });\n            }\n          }\n          get labelClasses() {\n            if (this.notification.data.username2) {\n              if (this.notification.data.count > 2) {\n                return [\"multi-user\"];\n              } else {\n                return [\"double-user\"];\n              }\n            }\n          }\n          get description() {\n            if (this.notification.data.count > 1 && !this.notification.data.username2) {\n              return (0, _discourseI18n.i18n)(\"notifications.reaction_1_user_multiple_posts\", {\n                count: this.notification.data.count\n              });\n            }\n            return super.description;\n          }\n        };\n      });\n    }\n  }\n  function customizeWidgetPost(api) {\n    (0, _deprecated.withSilencedDeprecations)(\"discourse.post-stream-widget-overrides\", () => {\n      api.modifyClass(\"component:scrolling-post-stream\", {\n        pluginId: PLUGIN_ID,\n        didInsertElement() {\n          this._super(...arguments);\n          const topicId = this?.posts?.firstObject?.topic_id;\n          if (topicId) {\n            this.messageBus.subscribe(`/topic/${topicId}/reactions`, data => {\n              this.dirtyKeys.keyDirty(`discourse-reactions-counter-${data.post_id}`, {\n                onRefresh: \"reactionsChanged\",\n                refreshArg: data\n              });\n              this._refresh({\n                id: data.post_id\n              });\n            });\n          }\n        }\n      });\n      api.modifyClass(\"controller:topic\", {\n        pluginId: PLUGIN_ID,\n        unsubscribe() {\n          this._super(...arguments);\n          const topicId = this.model.id;\n          topicId && this.messageBus.unsubscribe(`/topic/${topicId}/reactions`);\n        }\n      });\n    });\n  }\n  function customizePostMenu(api) {\n    api.registerValueTransformer(\"post-menu-buttons\", _ref => {\n      let {\n        value: dag,\n        context: {\n          buttonKeys\n        }\n      } = _ref;\n      dag.replace(buttonKeys.LIKE, _discourseReactionsActionsButton.default);\n      dag.add(\"discourse-reactions-actions\", _discourseReactionsActionsSummary.default, {\n        after: buttonKeys.REPLIES\n      });\n    });\n  }\n  var _default = _exports.default = {\n    name: \"discourse-reactions\",\n    initialize(container) {\n      const siteSettings = container.lookup(\"service:site-settings\");\n      if (siteSettings.discourse_reactions_enabled) {\n        (0, _pluginApi.withPluginApi)(initializeDiscourseReactions);\n      }\n    },\n    teardown() {\n      (0, _discourseReactionsActions.resetCurrentReaction)();\n    }\n  };\n});","define(\"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\", [\"exports\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/models/category\", \"discourse/models/post\", \"discourse/models/rest\", \"discourse/models/topic\", \"discourse/models/user\"], function (_exports, _object, _ajax, _category, _post, _rest, _topic, _user) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CustomReaction extends _rest.default {\n    static toggle(post, reactionId) {\n      return (0, _ajax.ajax)(`/discourse-reactions/posts/${post.id}/custom-reactions/${reactionId}/toggle.json`, {\n        type: \"PUT\"\n      }).then(result => {\n        post.appEvents.trigger(\"discourse-reactions:reaction-toggled\", {\n          post: result,\n          reaction: result.current_user_reaction\n        });\n      });\n    }\n    static findReactions(url, username, opts) {\n      opts = opts || {};\n      const data = {\n        username\n      };\n      if (opts.beforeReactionUserId) {\n        data.before_reaction_user_id = opts.beforeReactionUserId;\n      }\n      if (opts.beforeLikeId) {\n        data.before_like_id = opts.beforeLikeId;\n      }\n      if (opts.includeLikes) {\n        data.include_likes = opts.includeLikes;\n      }\n      if (opts.actingUsername) {\n        data.acting_username = opts.actingUsername;\n      }\n      return (0, _ajax.ajax)(`/discourse-reactions/posts/${url}.json`, {\n        data\n      }).then(reactions => {\n        return reactions.map(reaction => {\n          reaction.user = _user.default.create(reaction.user);\n          reaction.topic = _topic.default.create(reaction.post.topic);\n          reaction.category = _category.default.findById(reaction.post.category_id);\n          const postAttrs = {\n            ...reaction.post\n          };\n\n          // Delete fields auto-calculated by the model implementation\n          delete postAttrs.url;\n          delete postAttrs.user;\n          reaction.post = _post.default.create(postAttrs);\n          reaction.post_user = reaction.post.user;\n          return _object.default.create(reaction);\n        });\n      });\n    }\n    static findReactionUsers(postId, opts) {\n      opts = opts || {};\n      const data = {};\n      if (opts.reactionValue) {\n        data.reaction_value = opts.reactionValue;\n      }\n      return (0, _ajax.ajax)(`/discourse-reactions/posts/${postId}/reactions-users.json`, {\n        data\n      });\n    }\n    init() {\n      super.init(...arguments);\n      this.__type = \"discourse-reactions-custom-reaction\";\n    }\n  }\n  _exports.default = CustomReaction;\n});","define(\"discourse/plugins/discourse-reactions/discourse/routes/user-activity-reactions\", [\"exports\", \"discourse/routes/discourse\", \"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\"], function (_exports, _discourse, _discourseReactionsCustomReaction) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class UserActivityReactions extends _discourse.default {\n    model() {\n      return _discourseReactionsCustomReaction.default.findReactions(\"reactions\", this.modelFor(\"user\").get(\"username\"));\n    }\n    setupController(controller, model) {\n      let loadedAll = model.length < 20;\n      this.controllerFor(\"user-activity-reactions\").setProperties({\n        model,\n        canLoadMore: !loadedAll,\n        reactionsUrl: \"reactions\",\n        username: this.modelFor(\"user\").get(\"username\")\n      });\n    }\n  }\n  _exports.default = UserActivityReactions;\n});","define(\"discourse/plugins/discourse-reactions/discourse/routes/user-notifications-reactions-received\", [\"exports\", \"discourse/routes/discourse\", \"discourse/plugins/discourse-reactions/discourse/models/discourse-reactions-custom-reaction\"], function (_exports, _discourse, _discourseReactionsCustomReaction) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class UserNotificationsReactionsReceived extends _discourse.default {\n    templateName = \"user-activity-reactions\";\n    controllerName = \"user-activity-reactions\";\n    queryParams = {\n      acting_username: {\n        refreshModel: true\n      },\n      include_likes: {\n        refreshModel: true\n      }\n    };\n    model(params) {\n      return _discourseReactionsCustomReaction.default.findReactions(\"reactions-received\", this.modelFor(\"user\").get(\"username\"), {\n        actingUsername: params.acting_username,\n        includeLikes: params.include_likes\n      });\n    }\n    setupController(controller, model) {\n      let loadedAll = model.length < 20;\n      this.controllerFor(\"user-activity-reactions\").setProperties({\n        model,\n        canLoadMore: !loadedAll,\n        reactionsUrl: \"reactions-received\",\n        username: this.modelFor(\"user\").get(\"username\"),\n        actingUsername: controller.acting_username,\n        includeLikes: controller.include_likes\n      });\n      this.controllerFor(\"application\").set(\"showFooter\", loadedAll);\n    }\n  }\n  _exports.default = UserNotificationsReactionsReceived;\n});","define(\"discourse/plugins/discourse-reactions/discourse/templates/user-activity-reactions\", [\"exports\", \"ember-route-template\", \"discourse/components/conditional-loading-spinner\", \"discourse/components/load-more\", \"discourse-i18n\", \"discourse/plugins/discourse-reactions/discourse/components/discourse-reactions-reaction-post\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _conditionalLoadingSpinner, _loadMore, _discourseI18n, _discourseReactionsReactionPost, _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, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n      <LoadMore @selector=\".user-stream-item\" @action={{@controller.loadMore}}>\n        <div class=\"user-stream\">\n          {{#each @model as |reaction|}}\n            <DiscourseReactionsReactionPost @reaction={{reaction}} />\n          {{else}}\n            <div class=\"alert alert-info\">{{i18n \"notifications.empty\"}}</div>\n          {{/each}}\n        </div>\n  \n        <ConditionalLoadingSpinner @condition={{@controller.loading}} />\n      </LoadMore>\n    \n  */\n  {\n    \"id\": \"BqfhlBTI\",\n    \"block\": \"[[[1,\\\"\\\\n    \\\"],[8,[32,0],null,[[\\\"@selector\\\",\\\"@action\\\"],[\\\".user-stream-item\\\",[30,1,[\\\"loadMore\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"user-stream\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,2]],null]],null],null,[[[1,\\\"          \\\"],[8,[32,1],null,[[\\\"@reaction\\\"],[[30,3]]],null],[1,\\\"\\\\n\\\"]],[3]],[[[1,\\\"          \\\"],[10,0],[14,0,\\\"alert alert-info\\\"],[12],[1,[28,[32,2],[\\\"notifications.empty\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[8,[32,3],null,[[\\\"@condition\\\"],[[30,1,[\\\"loading\\\"]]]],null],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[\\\"@controller\\\",\\\"@model\\\",\\\"reaction\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"/root/prime/srv/discourse/app/app/assets/javascripts/discourse/discourse/plugins/discourse-reactions/discourse/templates/user-activity-reactions.js\",\n    \"scope\": () => [_loadMore.default, _discourseReactionsReactionPost.default, _discourseI18n.i18n, _conditionalLoadingSpinner.default],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, undefined)));\n});"],"mappings":"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","ignoreList":[]}