{"version":3,"sources":["discourse/initializers/theme-field-8-desktop-html-script-1.js"],"names":["window","define","_exports","_pluginApi","Object","defineProperty","value","default","require","getObjectForTheme","_default","name","after","initialize","withPluginApi","api","h","themeSelector","ajax","createWidget","click","event","key","$","target","data","user","getCurrentUser","findDetails","then","seq","get","this","setTheme","themeId","arguments","length","undefined","setLocalTheme","state","currentThemeId","location","reload","themeHtml","themes","listThemes","site","currentThemeKey","map","theme","id","push","attributes","html","decorateWidget","helper","attrs","widget","attach"],"mappings":"AAAI,WAAYA,QAChBC,OAAO,qEAAsE,CAAC,UAAW,6BAA6B,SAAUC,EAAUC,GACxI;AAEAC,OAAOC,eAAeH,EAAU,aAAc,CAC5CI,OAAO,IAETJ,EAASK,aAAU;AACFC,QAAQ,sCAAsCC,kBAAkB;AAEjF,IAAIC,EAAW,CACbC,KAAM,sCACNC,MAAO,iBACPC,cACE,EAAIV,EAAWW,eAAe,OAAOC,IACnC,IAAIC,EAAIR,QAAQ,eAAeQ,EAE3BC,GADOT,QAAQ,sBAAsBU,KACrBV,QAAQ;AAC5BO,EAAII,aAAa,iBAAkB,CACjCC,MAAMC,GACJ,IACIC,EADUC,EAAEF,EAAMG,QACJC,KAAK,OACnBC,EAAOX,EAAIY;AAUf,OATID,EACFA,EAAKE,cAAcC,MAAKH,IACtB,IAAII,EAAMJ,EAAKK,IAAI;AACnBC,KAAKC,SAASX,EAAKQ,EAAI,IAGzBE,KAAKC,SAASX,IAGT,CACT,EACAW,SAASC,GACP,IAAIJ,EAAMK,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK;AAC/D,MAAXD,IAGJjB,EAAcqB,cAAc,CAACJ,GAAUJ,GACvCE,KAAKO,MAAMC,eAAiBN,EAC5BlC,OAAOyC,SAASC,SAClB,EACAC,YACE,IAAIC,EAAS3B,EAAc4B,WAAWb,KAAKc,MACvCC,EAAkB9B,EAAcuB;AACpC,GAAII,GAAUA,EAAOR,OAAS,EAC5B,OAAOQ,EAAOI,KAAIC,IAChB,IAAItC,EAAO,CAACsC,EAAMtC;AAIlB,OAHIsC,EAAMC,KAAOH,GACfpC,EAAKwC,KAAK,MAELnC,EAAE,KAAMA,EAAE,gBAAiB,CAChCoC,WAAY,CACV,WAAYH,EAAMC,KAEnBvC,GAAM,GAGf,EACA0C,OACE,IAAIV,EAAYX,KAAKW;AACrB,GAAIA,EACF,MAAO,CAAC3B,EAAE,aAAcA,EAAE,MAAOA,EAAE,wBAAyBA,EAAE,yBAA0B2B,GAE5F,IAEF5B,EAAIuC,eAAe,oBAAoBC,IACrC,GAA0B,iBAAtBA,EAAOC,MAAM7C,KACf,MAAO,CAAC4C,EAAOE,OAAOC,OAAO,kBAC/B,GACA,GAEN;AAEFxD,EAASK,QAAUG,CACrB","sourceRoot":"theme-2/","sourcesContent":["if ('define' in window) {\ndefine(\"discourse/theme-2/initializers/theme-field-8-desktop-html-script-1\", [\"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 settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(2);\n  const themePrefix = key => \"theme_translations.2.\".concat(key);\n  var _default = {\n    name: \"theme-field-8-desktop-html-script-1\",\n    after: \"inject-objects\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(\"0.8\", api => {\n        var h = require('virtual-dom').h;\n        var ajax = require('discourse/lib/ajax').ajax;\n        var themeSelector = require('discourse/lib/theme-selector');\n        api.createWidget(\"theme-selector\", {\n          click(event) {\n            let $target = $(event.target);\n            let key = $target.data('key');\n            let user = api.getCurrentUser();\n            if (user) {\n              user.findDetails().then(user => {\n                let seq = user.get(\"user_option.theme_key_seq\");\n                this.setTheme(key, seq);\n              });\n            } else {\n              this.setTheme(key);\n            }\n            ;\n            return true;\n          },\n          setTheme(themeId) {\n            let seq = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n            if (themeId == null) {\n              return;\n            }\n            themeSelector.setLocalTheme([themeId], seq);\n            this.state.currentThemeId = themeId;\n            window.location.reload();\n          },\n          themeHtml() {\n            let themes = themeSelector.listThemes(this.site);\n            let currentThemeKey = themeSelector.currentThemeId();\n            if (themes && themes.length > 1) {\n              return themes.map(theme => {\n                let name = [theme.name];\n                if (theme.id === currentThemeKey) {\n                  name.push('\\xa0' + \"*\");\n                }\n                return h('li', h('a.widget-link', {\n                  attributes: {\n                    \"data-key\": theme.id\n                  }\n                }, name));\n              });\n            }\n          },\n          html() {\n            let themeHtml = this.themeHtml();\n            if (themeHtml) {\n              return [h('.clearfix'), h('hr'), h('.theme-picker-header'), h('ul.menu-links.columned', themeHtml)];\n            }\n          }\n        });\n        api.decorateWidget('menu-links:after', helper => {\n          if (helper.attrs.name === 'footer-links') {\n            return [helper.widget.attach('theme-selector')];\n          }\n        });\n      });\n    }\n  };\n  _exports.default = _default;\n});\n}\n"]}