{"version":3,"file":"main.D3wC8T.js","sources":["theme-59/virtual:theme","theme-59/discourse/components/admin-warning-message.gjs","theme-59/discourse/api-initializers/admin-warnings.js","theme-59/virtual:entrypoint:main"],"sourcesContent":["import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(59);\n\nexport function themePrefix(key) {\n  return `theme_translations.59.${key}`;\n}\n","import Component from '@glimmer/component'\nimport { tracked } from '@glimmer/tracking'\nimport { fn } from '@ember/helper'\nimport { action } from '@ember/object'\nimport { trustHTML } from '@ember/template'\nimport ComposerTipCloseButton from 'discourse/components/composer-tip-close-button'\nimport DButton from 'discourse/components/d-button'\nimport { popupAjaxError } from 'discourse/lib/ajax-error'\n\nexport default class AdminWarningMessage extends Component {\n  @tracked cleared = []\n\n  get topic() {\n    return this.args.message.topic\n  }\n\n  get canReopen() {\n    return (\n      !this.cleared.includes('closed') &&\n      this.topic?.closed &&\n      this.topic.details?.can_close_topic\n    )\n  }\n\n  get canUnarchive() {\n    return (\n      !this.cleared.includes('archived') &&\n      this.topic?.archived &&\n      !this.topic.isPrivateMessage &&\n      this.topic.details?.can_archive_topic\n    )\n  }\n\n  @action\n  reopenTopic() {\n    return this.clearStatus('closed')\n  }\n\n  @action\n  unarchiveTopic() {\n    return this.clearStatus('archived')\n  }\n\n  async clearStatus(status) {\n    const topic = this.topic\n\n    try {\n      const result = await topic.saveStatus(status, false)\n\n      topic.set(status, false)\n      topic.set('topic_status_update', result.topic_status_update)\n      this.cleared = [...this.cleared, status]\n\n      if (!this.canReopen && !this.canUnarchive) {\n        this.args.closeMessage(this.args.message)\n      }\n    } catch (error) {\n      popupAjaxError(error)\n    }\n  }\n\n  <template>\n    <ComposerTipCloseButton @action={{fn @closeMessage @message}} />\n\n    <div class='composer-popup__content'>\n      {{trustHTML @message.body}}\n\n      {{#if this.canReopen}}\n        <DButton\n          @label='topic.actions.open'\n          @icon='topic.opened'\n          @action={{this.reopenTopic}}\n          class='btn-default'\n        />\n      {{/if}}\n\n      {{#if this.canUnarchive}}\n        <DButton\n          @label='topic.actions.unarchive'\n          @icon='folder'\n          @action={{this.unarchiveTopic}}\n          class='btn-default'\n        />\n      {{/if}}\n    </div>\n  </template>\n}\n","import { apiInitializer } from 'discourse/lib/api'\nimport { i18n } from 'discourse-i18n'\nimport AdminWarningMessage from '../components/admin-warning-message'\n\nconst warned = new WeakSet()\n\nfunction warningMessage(topic) {\n  if (topic.archived) {\n    return i18n(themePrefix('archived_reply_warning'))\n  }\n\n  return (\n    settings.reply_warning_message || i18n(themePrefix('closed_reply_warning'))\n  )\n}\n\nexport default apiInitializer(api => {\n  api.registerValueTransformer('composer-message-components', ({ value }) => {\n    value['admin-warning'] = AdminWarningMessage\n  })\n\n  api.onAppEvent('composer:opened', () => {\n    const model = api.container.lookup('service:composer').model\n\n    if (!model?.replyingToTopic || warned.has(model)) {\n      return\n    }\n\n    const topic = model.topic ?? model.post?.topic\n\n    if (!topic?.closed && !topic?.archived) {\n      return\n    }\n\n    if (!topic.details?.can_create_post) {\n      return\n    }\n\n    warned.add(model)\n\n    api.container\n      .lookup('service:app-events')\n      .trigger('composer-messages:create', {\n        templateName: 'admin-warning',\n        extraClass: '--admin-warning',\n        topic,\n        body: warningMessage(topic),\n      })\n  })\n})\n","import * as Mod1 from \"./discourse/api-initializers/admin-warnings\";\nimport * as Mod2 from \"./discourse/components/admin-warning-message\";\nconst compatModules = {\n  \"discourse/api-initializers/admin-warnings\": Mod1,\n  \"discourse/components/admin-warning-message\": Mod2,\n};\nexport { compatModules };\nexport default compatModules;\n"],"names":["settings","getObjectForTheme","themePrefix","key","AdminWarningMessage","Component","dt7948","g","this","prototype","tracked","cleared","i","topic","args","message","canReopen","includes","closed","details","can_close_topic","canUnarchive","archived","isPrivateMessage","can_archive_topic","reopenTopic","clearStatus","n","action","unarchiveTopic","status","result","saveStatus","set","topic_status_update","closeMessage","error","popupAjaxError","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","ComposerTipCloseButton","fn","trustHTML","DButton","isStrictMode","warned","WeakSet","warningMessage","i18n","reply_warning_message","adminWarnings","apiInitializer","api","registerValueTransformer","value","onAppEvent","model","container","lookup","replyingToTopic","has","post","can_create_post","add","trigger","templateName","extraClass","body","compatModules","Mod2"],"mappings":"w/BAEaA,EAAWC,EAAkB;AAEnC,SAASC,EAAYC,GAC1B,MAAO,yBAAyBA,GAClC;ACGe,MAAMC,UAA4BC,SAAAC,OAAAC,EAAAC,KAAAC,qBAC9CC,GAAA,WAAA,MAAkB,EAAE,EAAA,CAAAC,QAAAL,OAAAM,EAAAJ,KAAA;AAErB,SAAIK,GACF,OAAOL,KAAKM,KAAKC,QAAQF,KAC3B,CAEA,aAAIG,GACF,OACGR,KAAKG,QAAQM,SAAS,WACvBT,KAAKK,OAAOK,QACZV,KAAKK,MAAMM,SAASC,eAExB,CAEA,gBAAIC,GACF,OACGb,KAAKG,QAAQM,SAAS,aACvBT,KAAKK,OAAOS,WACXd,KAAKK,MAAMU,kBACZf,KAAKK,MAAMM,SAASK,iBAExB,CAGAC,WAAAA,GACE,OAAOjB,KAAKkB,YAAY,SAC1B,QAAApB,OAAAqB,EAAAnB,KAAAC,yBAHCmB,GAAA,CAMDC,cAAAA,GACE,OAAOrB,KAAKkB,YAAY,WAC1B,QAAApB,OAAAqB,EAAAnB,KAAAC,4BAHCmB,GAAA,CAKD,iBAAMF,CAAYI,GAChB,MAAMjB,EAAQL,KAAKK;AAEnB,IACE,MAAMkB,QAAelB,EAAMmB,WAAWF,GAAQ;AAE9CjB,EAAMoB,IAAIH,GAAQ,GAClBjB,EAAMoB,IAAI,sBAAuBF,EAAOG,qBACxC1B,KAAKG,QAAU,IAAIH,KAAKG,QAASmB,GAE5BtB,KAAKQ,WAAcR,KAAKa,cAC3Bb,KAAKM,KAAKqB,aAAa3B,KAAKM,KAAKC,QAErC,CAAE,MAAOqB,GACPC,EAAeD,EACjB,CACF,QAEAE,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,0nBAAAC,WAAA,4BAAAC,MAAAA,KAAAA,CAAAC,yBAAAC,KAAAC,YAAAC,YAAAC,cAAA,IAwBAxC,KAAU;;ACjFZ,MAAMyC,EAAS,IAAIC;AAEnB,SAASC,EAAetC,GACtB,OAAIA,EAAMS,SACD8B,EAAKlD,EAAY,2BAIxBF,EAASqD,uBAAyBD,EAAKlD,EAAY,wBAEvD,CAEA,IAAAoD;oCAAeC,CAAeC,IAC5BA,EAAIC,yBAAyB,8BAA+B,EAAGC,YAC7DA,EAAM,iBAAmBtD,IAG3BoD,EAAIG,WAAW,kBAAmB,KAChC,MAAMC,EAAQJ,EAAIK,UAAUC,OAAO,oBAAoBF;AAEvD,IAAKA,GAAOG,iBAAmBd,EAAOe,IAAIJ,GACxC;AAGF,MAAM/C,EAAQ+C,EAAM/C,OAAS+C,EAAMK,MAAMpD,OAEpCA,GAAOK,QAAWL,GAAOS,WAIzBT,EAAMM,SAAS+C,kBAIpBjB,EAAOkB,IAAIP,GAEXJ,EAAIK,UACDC,OAAO,sBACPM,QAAQ,2BAA4B,CACnCC,aAAc,gBACdC,WAAY,kBACZzD,QACA0D,KAAMpB,EAAetC;AC5CxB,MAAC2D,EAAgB,CACpB,sFACA,6CAA8CC;"}