{"version":3,"file":"discourse-patreon.js","names":["define","_exports","_component","_object","_template","_component2","_dButton","_dIcon","_ajax","_url","_discourseI18n","_templateFactory","Object","defineProperty","value","default","Patreon","dt7948","c","shouldRender","args","context","siteSettings","patreon_enabled","model","patreon_id","init","super","arguments","this","set","checkPatreonEmail","result","ajax","userPath","username_lower","data","window","location","pathname","email","url","n","prototype","action","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","i18n","htmlSafe","isStrictMode","classNames","tagName","_modifier","_jquery","_cookie","incrementTopicsOpened","numTopicsOpened","cookieName","_args","currentUser","didInsertElement","showDonationPrompt","patreon_donation_prompt_enabled","patreon_donation_prompt_campaign_url","show_donation_prompt","patreon_donation_prompt_show_after_topics","close","expires","moment","add","toDate","element","fadeOut","on","_controller","_service","_ajaxError","_arrayTools","_decorators","_getUrl","_filterRule","AdminPluginsPatreonController","g","service","dialog","i","editing","create","group_id","prettyPrintReward","reward","amount_cents","title","rewardsNames","values","rewards","filter","r","map","save","rule","get","groups","find","x","parseInt","v","includes","method","getProperties","then","obj","Boolean","rewards_ids","push","group","catch","popupAjaxError","removeValueFromArray","updateData","finally","messageBus","subscribe","unsubscribe","refreshUrl","alert","message","didConfirm","didCancel","_pluginApi","name","initialize","container","lookup","admin","withPluginApi","api","setAdminPluginIcon","_patreon","initWithApi","getCurrentUser","onAppEvent","topic","isPrivateMessage","_rest","FilterRule","reward_list","resource","path","route","_trackedBuiltIns","_rsvp","_group","_discourse","AdminPluginsPatreon","Promise","all","findAll","ignore_automatic","filters","last_sync_at","setupController","controller","filtersArray","entries","k","reward_ids","setProperties","TrackedArray","_formatDate","_comboBox","_listSetting","_templateOnly","undefined"],"sources":["discourse/plugins/discourse-patreon/discourse/connectors/admin-user-details/patreon.js","discourse/plugins/discourse-patreon/discourse/connectors/topic-above-footer-buttons/patreon.js","discourse/plugins/discourse-patreon/discourse/controllers/admin-plugins/patreon.js","discourse/plugins/discourse-patreon/discourse/initializers/patreon-admin-plugin-configuration-nav.js","discourse/plugins/discourse-patreon/discourse/initializers/patreon.js","discourse/plugins/discourse-patreon/discourse/models/filter-rule.js","discourse/plugins/discourse-patreon/discourse/patreon-route-map.js","discourse/plugins/discourse-patreon/discourse/routes/admin-plugins/patreon.js","discourse/plugins/discourse-patreon/discourse/templates/admin/plugins-patreon.js"],"sourcesContent":["define(\"discourse/plugins/discourse-patreon/discourse/connectors/admin-user-details/patreon\", [\"exports\", \"@ember/component\", \"@ember/object\", \"@ember/template\", \"@ember-decorators/component\", \"discourse/components/d-button\", \"discourse/helpers/d-icon\", \"discourse/lib/ajax\", \"discourse/lib/url\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _object, _template, _component2, _dButton, _dIcon, _ajax, _url, _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 Patreon = dt7948.c(class Patreon extends _component.default {\n    static shouldRender(args, context) {\n      return context.siteSettings.patreon_enabled && args.model.patreon_id;\n    }\n    init() {\n      super.init(...arguments);\n      this.set(\"patron_url\", \"https://patreon.com/members\");\n    }\n    async checkPatreonEmail() {\n      const result = await (0, _ajax.ajax)((0, _url.userPath)(`${this.model.username_lower}/patreon_email.json`), {\n        data: {\n          context: window.location.pathname\n        }\n      });\n      if (result) {\n        const email = result.email;\n        let url = \"https://patreon.com/members\";\n        if (email) {\n          url = `${url}?query=${email}`;\n        }\n        this.set(\"patreon_email\", email);\n        this.set(\"patron_url\", url);\n      }\n    }\n    static {\n      dt7948.n(this.prototype, \"checkPatreonEmail\", [_object.action]);\n    }\n    static {\n      (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        \n          <section class=\"details\">\n            <h1>{{i18n \"patreon.title\"}}</h1>\n            <div class=\"display-row\">\n              <div class=\"field\">{{i18n \"patreon.field.id\"}}</div>\n              <div class=\"value\">{{this.model.patreon_id}}</div>\n            </div>\n            {{#if this.model.patreon_email_exists}}\n              <div class=\"display-row\">\n                <div class=\"field\">{{i18n \"patreon.field.email\"}}</div>\n                <div class=\"value\">\n                  {{#if this.patreon_email}}\n                    {{this.patreon_email}}\n                  {{else}}\n                    <DButton\n                      @action={{this.checkPatreonEmail}}\n                      @icon=\"far-envelope\"\n                      @label=\"admin.users.check_email.text\"\n                      @title=\"admin.users.check_email.title\"\n                      class=\"btn-default\"\n                    />\n                  {{/if}}\n                </div>\n              </div>\n            {{/if}}\n            {{#if this.model.patreon_amount_cents}}\n              <div class=\"display-row\">\n                <div class=\"field\">{{i18n \"patreon.field.amount_cents\"}}</div>\n                <div class=\"value\">{{this.model.patreon_amount_cents}}</div>\n              </div>\n            {{/if}}\n            {{#if this.model.patreon_rewards}}\n              <div class=\"display-row\">\n                <div class=\"field\">{{i18n \"patreon.field.rewards\"}}</div>\n                <div class=\"value\">{{this.model.patreon_rewards}}</div>\n              </div>\n            {{/if}}\n            {{#if this.model.patreon_declined_since}}\n              <div class=\"display-row\">\n                <div class=\"field\">{{i18n \"patreon.field.declined_since\"}}</div>\n                <div class=\"value\">{{htmlSafe\n                    this.format-date\n                    this.model.patreon_declined_since\n                  }}</div>\n              </div>\n            {{/if}}\n            <div class=\"display-row\">\n              <div class=\"field\">{{i18n \"patreon.field.more_details.label\"}}</div>\n              <div class=\"value\">\n                <a rel=\"noopener noreferrer\" target=\"_blank\" href={{this.patron_url}}>\n                  {{icon \"up-right-from-square\"}}\n                </a>\n              </div>\n              <div class=\"controls\">\n                {{#if this.model.patreon_email}}\n                  {{i18n \"patreon.field.more_details.help_text.email_available\"}}\n                {{else}}\n                  {{i18n \"patreon.field.more_details.help_text.email_not_available\"}}\n                {{/if}}\n              </div>\n            </div>\n          </section>\n        \n      */\n      {\n        \"id\": \"9Jnh1/k8\",\n        \"block\": \"[[[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,0,\\\"details\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[12],[1,[28,[32,0],[\\\"patreon.title\\\"],null]],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.id\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,[30,0,[\\\"model\\\",\\\"patreon_id\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"model\\\",\\\"patreon_email_exists\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.email\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"patreon_email\\\"]],[[[1,\\\"              \\\"],[1,[30,0,[\\\"patreon_email\\\"]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"              \\\"],[8,[32,1],[[24,0,\\\"btn-default\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\",\\\"@title\\\"],[[30,0,[\\\"checkPatreonEmail\\\"]],\\\"far-envelope\\\",\\\"admin.users.check_email.text\\\",\\\"admin.users.check_email.title\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"model\\\",\\\"patreon_amount_cents\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.amount_cents\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,[30,0,[\\\"model\\\",\\\"patreon_amount_cents\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"model\\\",\\\"patreon_rewards\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.rewards\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,[30,0,[\\\"model\\\",\\\"patreon_rewards\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"model\\\",\\\"patreon_declined_since\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.declined_since\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,[28,[32,2],[[30,0,[\\\"format-date\\\"]],[30,0,[\\\"model\\\",\\\"patreon_declined_since\\\"]]],null]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[10,0],[14,0,\\\"display-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,[28,[32,0],[\\\"patreon.field.more_details.label\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n          \\\"],[10,3],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[15,6,[30,0,[\\\"patron_url\\\"]]],[12],[1,\\\"\\\\n            \\\"],[1,[28,[32,3],[\\\"up-right-from-square\\\"],null]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"model\\\",\\\"patreon_email\\\"]],[[[1,\\\"            \\\"],[1,[28,[32,0],[\\\"patreon.field.more_details.help_text.email_available\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[1,[28,[32,0],[\\\"patreon.field.more_details.help_text.email_not_available\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-patreon/discourse/connectors/admin-user-details/patreon.js\",\n        \"scope\": () => [_discourseI18n.i18n, _dButton.default, _template.htmlSafe, _dIcon.default],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }, [(0, _component2.classNames)(\"admin-user-details-outlet\", \"patreon\"), (0, _component2.tagName)(\"div\")]);\n  var _default = _exports.default = Patreon;\n});","define(\"discourse/plugins/discourse-patreon/discourse/connectors/topic-above-footer-buttons/patreon\", [\"exports\", \"@ember/component\", \"@ember/modifier\", \"@ember/object\", \"@ember/template\", \"@ember-decorators/component\", \"jquery\", \"discourse/helpers/d-icon\", \"discourse/lib/cookie\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _modifier, _object, _template, _component2, _jquery, _dIcon, _cookie, _discourseI18n, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  _exports.incrementTopicsOpened = incrementTopicsOpened;\n  /* eslint-disable ember/no-classic-components */\n\n  let numTopicsOpened = 0;\n  const cookieName = \"PatreonDonationPromptClosed\";\n  function incrementTopicsOpened() {\n    numTopicsOpened++;\n  }\n  const Patreon = dt7948.c(class Patreon extends _component.default {\n    static shouldRender(_args, context) {\n      return context.currentUser;\n    }\n    init() {\n      super.init(...arguments);\n      this.didInsertElement = function () {\n        const showDonationPrompt = this.siteSettings.patreon_enabled && this.siteSettings.patreon_donation_prompt_enabled && this.siteSettings.patreon_donation_prompt_campaign_url !== \"\" && this.currentUser.show_donation_prompt && (0, _cookie.default)(cookieName) !== \"t\" && numTopicsOpened > this.siteSettings.patreon_donation_prompt_show_after_topics;\n        this.set(\"showDonationPrompt\", showDonationPrompt);\n      };\n    }\n    close() {\n      // hide the donation prompt for 30 days\n      const expires = moment().add(30, \"d\").toDate();\n      (0, _cookie.default)(cookieName, \"t\", {\n        expires\n      });\n      (0, _jquery.default)(this.element).fadeOut(700);\n    }\n    static {\n      dt7948.n(this.prototype, \"close\", [_object.action]);\n    }\n    static {\n      (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n      /*\n        \n          {{#if this.showDonationPrompt}}\n            <div class=\"patreon-donation-prompt\">\n              <span {{on \"click\" this.close}} role=\"button\" class=\"close\">\n                {{icon \"xmark\"}}\n              </span>\n      \n              {{htmlSafe\n                (i18n\n                  \"patreon.donation_prompt.body\"\n                  campaignUrl=this.siteSettings.patreon_donation_prompt_campaign_url\n                )\n              }}\n            </div>\n          {{/if}}\n        \n      */\n      {\n        \"id\": \"xr5LoGML\",\n        \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showDonationPrompt\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"patreon-donation-prompt\\\"],[12],[1,\\\"\\\\n        \\\"],[11,1],[24,\\\"role\\\",\\\"button\\\"],[24,0,\\\"close\\\"],[4,[32,0],[\\\"click\\\",[30,0,[\\\"close\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[1,[28,[32,1],[\\\"xmark\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[1,[28,[32,2],[[28,[32,3],[\\\"patreon.donation_prompt.body\\\"],[[\\\"campaignUrl\\\"],[[30,0,[\\\"siteSettings\\\",\\\"patreon_donation_prompt_campaign_url\\\"]]]]]],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"]],[],[\\\"if\\\"]]\",\n        \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-patreon/discourse/connectors/topic-above-footer-buttons/patreon.js\",\n        \"scope\": () => [_modifier.on, _dIcon.default, _template.htmlSafe, _discourseI18n.i18n],\n        \"isStrictMode\": true\n      }), this);\n    }\n  }, [(0, _component2.classNames)(\"topic-above-footer-buttons-outlet\", \"patreon\"), (0, _component2.tagName)(\"div\")]);\n  var _default = _exports.default = Patreon;\n});","define(\"discourse/plugins/discourse-patreon/discourse/controllers/admin-plugins/patreon\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/array-tools\", \"discourse/lib/decorators\", \"discourse/lib/get-url\", \"discourse-i18n\", \"discourse/plugins/discourse-patreon/discourse/models/filter-rule\"], function (_exports, _controller, _object, _service, _ajax, _ajaxError, _arrayTools, _decorators, _getUrl, _discourseI18n, _filterRule) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsPatreonController extends _controller.default {\n    static {\n      dt7948.g(this.prototype, \"dialog\", [_service.service]);\n    }\n    #dialog = (dt7948.i(this, \"dialog\"), void 0);\n    editing = _filterRule.default.create({\n      group_id: null\n    });\n    prettyPrintReward(reward) {\n      return `$${reward.amount_cents / 100} - ${reward.title}`;\n    }\n    rewardsNames() {\n      return Object.values(this.rewards).filter(r => r.id >= 0).map(r => this.prettyPrintReward(r));\n    }\n    static {\n      dt7948.n(this.prototype, \"rewardsNames\", [(0, _decorators.default)(\"rewards\")]);\n    }\n    save() {\n      const rule = this.get(\"editing\");\n      const model = this.get(\"model\");\n      rule.set(\"group\", this.groups.find(x => x.id === parseInt(rule.get(\"group_id\"), 10)));\n      rule.set(\"rewards_ids\", Object.values(this.rewards).filter(v => rule.get(\"reward_list\").includes(this.prettyPrintReward(v))).map(r => r.id));\n      (0, _ajax.ajax)(\"/patreon/list.json\", {\n        method: \"POST\",\n        data: rule.getProperties(\"group_id\", \"rewards_ids\")\n      }).then(() => {\n        let obj = model.find(x => x.get(\"group_id\") === rule.get(\"group_id\"));\n        const rewards = rule.get(\"reward_list\").filter(Boolean);\n        if (obj) {\n          obj.set(\"reward_list\", rewards);\n          obj.set(\"rewards\", rewards);\n          obj.set(\"rewards_ids\", rule.rewards_ids);\n        } else {\n          model.push(_filterRule.default.create({\n            group: rule.get(\"group.name\"),\n            rewards\n          }));\n        }\n        this.set(\"editing\", _filterRule.default.create({\n          group_id: null\n        }));\n      }).catch(_ajaxError.popupAjaxError);\n    }\n    static {\n      dt7948.n(this.prototype, \"save\", [_object.action]);\n    }\n    delete(rule) {\n      const model = this.get(\"model\");\n      (0, _ajax.ajax)(\"/patreon/list.json\", {\n        method: \"DELETE\",\n        data: rule.getProperties(\"group_id\")\n      }).then(() => {\n        let obj = model.find(x => x.get(\"group_id\") === rule.get(\"group_id\"));\n        (0, _arrayTools.removeValueFromArray)(model, obj);\n      }).catch(_ajaxError.popupAjaxError);\n    }\n    static {\n      dt7948.n(this.prototype, \"delete\", [_object.action]);\n    }\n    updateData() {\n      this.set(\"updatingData\", true);\n      (0, _ajax.ajax)(\"/patreon/update_data.json\", {\n        method: \"POST\"\n      }).catch(_ajaxError.popupAjaxError).finally(() => this.set(\"updatingData\", false));\n      this.messageBus.subscribe(\"/patreon/background_sync\", () => {\n        this.messageBus.unsubscribe(\"/patreon/background_sync\");\n        this.set(\"updatingData\", false);\n        const refreshUrl = (0, _getUrl.default)(\"/admin/plugins/patreon\");\n        this.dialog.alert({\n          message: (0, _discourseI18n.i18n)(\"patreon.refresh_page\"),\n          didConfirm: () => window.location.pathname = refreshUrl,\n          didCancel: () => window.location.pathname = refreshUrl\n        });\n      });\n    }\n    static {\n      dt7948.n(this.prototype, \"updateData\", [_object.action]);\n    }\n  }\n  _exports.default = AdminPluginsPatreonController;\n});","define(\"discourse/plugins/discourse-patreon/discourse/initializers/patreon-admin-plugin-configuration-nav\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const PLUGIN_ID = \"discourse-patreon\";\n  var _default = _exports.default = {\n    name: \"patreon-admin-plugin-configuration-nav\",\n    initialize(container) {\n      const currentUser = container.lookup(\"service:current-user\");\n      if (!currentUser?.admin) {\n        return;\n      }\n      (0, _pluginApi.withPluginApi)(api => {\n        api.setAdminPluginIcon(PLUGIN_ID, \"fab-patreon\");\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-patreon/discourse/initializers/patreon\", [\"exports\", \"discourse/lib/plugin-api\", \"discourse/plugins/discourse-patreon/discourse/connectors/topic-above-footer-buttons/patreon\"], function (_exports, _pluginApi, _patreon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function initWithApi(api) {\n    const currentUser = api.getCurrentUser();\n    api.onAppEvent(\"page:topic-loaded\", topic => {\n      if (!topic) {\n        return;\n      }\n      const isPrivateMessage = topic.isPrivateMessage;\n      if (!currentUser || isPrivateMessage) {\n        return;\n      }\n      (0, _patreon.incrementTopicsOpened)();\n    });\n  }\n  var _default = _exports.default = {\n    name: \"patreon\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(initWithApi);\n    }\n  };\n});","define(\"discourse/plugins/discourse-patreon/discourse/models/filter-rule\", [\"exports\", \"discourse/models/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class FilterRule extends _rest.default {\n    group_id = -1;\n    reward_list = \"\";\n  }\n  _exports.default = FilterRule;\n});","define(\"discourse/plugins/discourse-patreon/discourse/patreon-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: \"admin.adminPlugins\",\n    path: \"/plugins\",\n    map() {\n      this.route(\"patreon\");\n    }\n  };\n});","define(\"discourse/plugins/discourse-patreon/discourse/routes/admin-plugins/patreon\", [\"exports\", \"@ember-compat/tracked-built-ins\", \"rsvp\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/models/group\", \"discourse/routes/discourse\", \"discourse/plugins/discourse-patreon/discourse/models/filter-rule\"], function (_exports, _trackedBuiltIns, _rsvp, _ajax, _ajaxError, _group, _discourse, _filterRule) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /* We use three main model to get this page working:\n   *  Discourse Groups (excluding the automatic ones), Patreon rewards and\n   *  and current filters (one filter is a tuple between 1 Discourse group and N Patreon rewards)\n   */\n  class AdminPluginsPatreon extends _discourse.default {\n    model() {\n      return _rsvp.Promise.all([(0, _ajax.ajax)(\"/patreon/list.json\"), _group.default.findAll({\n        ignore_automatic: true\n      })]).then(([result, groups]) => {\n        groups = groups.map(g => {\n          return {\n            id: g.id,\n            name: g.name\n          };\n        });\n        return {\n          filters: result.filters,\n          rewards: result.rewards,\n          last_sync_at: result.last_sync_at,\n          groups\n        };\n      }).catch(_ajaxError.popupAjaxError);\n    }\n    setupController(controller, model) {\n      const rewards = model.rewards;\n      const groups = model.groups;\n      const filtersArray = Object.entries(model.filters).map(([k, v]) => {\n        const rewardsNames = v.map(r => rewards[r] ? ` $${rewards[r].amount_cents / 100} - ${rewards[r].title}` : \"\");\n        const group = groups.find(g => g.id === parseInt(k, 10));\n        return _filterRule.default.create({\n          group: group.name,\n          rewards: rewardsNames,\n          group_id: k,\n          reward_ids: v\n        });\n      });\n      controller.setProperties({\n        model: new _trackedBuiltIns.TrackedArray(filtersArray),\n        groups,\n        rewards,\n        last_sync_at: model.last_sync_at\n      });\n    }\n  }\n  _exports.default = AdminPluginsPatreon;\n});","define(\"discourse/plugins/discourse-patreon/discourse/templates/admin/plugins-patreon\", [\"exports\", \"@ember/template\", \"discourse/components/d-button\", \"discourse/helpers/format-date\", \"discourse/select-kit/components/combo-box\", \"discourse/select-kit/components/list-setting\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _template, _dButton, _formatDate, _comboBox, _listSetting, _discourseI18n, _component, _templateFactory, _templateOnly) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n  /*\n    \n    <section id=\"patreon\">\n      <h1>{{i18n \"patreon.header.rules\"}}</h1>\n      <table>\n        <thead>\n          <tr>\n            <th>{{i18n \"patreon.group\"}}</th>\n            <th>{{i18n \"patreon.rewards\"}}</th>\n            <th></th>\n          </tr>\n        </thead>\n  \n        <tbody>\n          {{#each @controller.model as |rule|}}\n            <tr class>\n              <td>{{rule.group}}</td>\n              <td>{{rule.rewards}}</td>\n              <td>\n                <div class=\"pull-right\">\n                  <DButton\n                    @action={{@controller.delete}}\n                    @actionParam={{rule}}\n                    @icon=\"far-trash-can\"\n                    @title=\"patreon.delete\"\n                    class=\"delete btn-danger\"\n                  />\n                </div>\n              </td>\n            </tr>\n          {{/each}}\n        </tbody>\n  \n        <tfoot>\n          <tr class=\"new-filter\">\n            <td><ComboBox\n                @value={{@controller.editing.group_id}}\n                @content={{@controller.groups}}\n                @nameProperty=\"name\"\n                @valueProperty=\"id\"\n                @none=\"patreon.select_group\"\n              /></td>\n            <td><ListSetting\n                @value={{@controller.editing.reward_list}}\n                @choices={{@controller.rewardsNames}}\n                class=\"rewards\"\n              /></td>\n            <td>\n              <div class=\"pull-right\">\n                <DButton\n                  @action={{@controller.save}}\n                  @icon=\"check\"\n                  @title=\"patreon.save\"\n                  class=\"save btn-primary\"\n                />\n              </div>\n            </td>\n          </tr>\n        </tfoot>\n      </table>\n  \n      <p>{{i18n \"patreon.help_text\"}}</p>\n  \n      <DButton\n        @action={{@controller.updateData}}\n        @icon=\"refresh\"\n        @disabled={{@controller.updatingData}}\n        @title=\"patreon.update_data\"\n        @label=\"patreon.update_data\"\n      />\n  \n      {{#if @controller.last_sync_at}}\n        <span class=\"last_synced\">\n          {{i18n \"patreon.last_synced\"}}:\n          {{htmlSafe (formatDate @controller.last_sync_at leaveAgo=\"true\")}}\n        </span>\n      {{/if}}\n    </section>\n  \n  */\n  {\n    \"id\": \"7ZtxqgXr\",\n    \"block\": \"[[[1,\\\"\\\\n  \\\"],[10,\\\"section\\\"],[14,1,\\\"patreon\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,[28,[32,0],[\\\"patreon.header.rules\\\"],null]],[13],[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,[28,[32,0],[\\\"patreon.group\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,[28,[32,0],[\\\"patreon.rewards\\\"],null]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"model\\\"]]],null]],null],null,[[[1,\\\"          \\\"],[10,\\\"tr\\\"],[14,0,\\\"\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"group\\\"]]],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"rewards\\\"]]],[13],[1,\\\"\\\\n            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[32,1],[[24,0,\\\"delete btn-danger\\\"]],[[\\\"@action\\\",\\\"@actionParam\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,1,[\\\"delete\\\"]],[30,2],\\\"far-trash-can\\\",\\\"patreon.delete\\\"]],null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,\\\"tfoot\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[14,0,\\\"new-filter\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[8,[32,2],null,[[\\\"@value\\\",\\\"@content\\\",\\\"@nameProperty\\\",\\\"@valueProperty\\\",\\\"@none\\\"],[[30,1,[\\\"editing\\\",\\\"group_id\\\"]],[30,1,[\\\"groups\\\"]],\\\"name\\\",\\\"id\\\",\\\"patreon.select_group\\\"]],null],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[8,[32,3],[[24,0,\\\"rewards\\\"]],[[\\\"@value\\\",\\\"@choices\\\"],[[30,1,[\\\"editing\\\",\\\"reward_list\\\"]],[30,1,[\\\"rewardsNames\\\"]]]],null],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[32,1],[[24,0,\\\"save btn-primary\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,1,[\\\"save\\\"]],\\\"check\\\",\\\"patreon.save\\\"]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,2],[12],[1,[28,[32,0],[\\\"patreon.help_text\\\"],null]],[13],[1,\\\"\\\\n\\\\n    \\\"],[8,[32,1],null,[[\\\"@action\\\",\\\"@icon\\\",\\\"@disabled\\\",\\\"@title\\\",\\\"@label\\\"],[[30,1,[\\\"updateData\\\"]],\\\"refresh\\\",[30,1,[\\\"updatingData\\\"]],\\\"patreon.update_data\\\",\\\"patreon.update_data\\\"]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"last_sync_at\\\"]],[[[1,\\\"      \\\"],[10,1],[14,0,\\\"last_synced\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[32,0],[\\\"patreon.last_synced\\\"],null]],[1,\\\":\\\\n        \\\"],[1,[28,[32,4],[[28,[32,5],[[30,1,[\\\"last_sync_at\\\"]]],[[\\\"leaveAgo\\\"],[\\\"true\\\"]]]],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@controller\\\",\\\"rule\\\"],[\\\"each\\\",\\\"-track-array\\\",\\\"if\\\"]]\",\n    \"moduleName\": \"/var/www/discourse/frontend/discourse/discourse/plugins/discourse-patreon/discourse/templates/admin/plugins-patreon.js\",\n    \"scope\": () => [_discourseI18n.i18n, _dButton.default, _comboBox.default, _listSetting.default, _template.htmlSafe, _formatDate.default],\n    \"isStrictMode\": true\n  }), (0, _templateOnly.default)(undefined, \"plugins-patreon\"));\n});"],"mappings":"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","ignoreList":[]}