{"version":3,"sources":["settings.js","discourse/initializers/theme-field-2-common-html-script-1.js"],"names":["window","require","registerSettings","immediate_reload","show_section_header","define","_exports","_pluginApi","Object","defineProperty","value","default","settings","getObjectForTheme","_default","name","after","initialize","withPluginApi","api","h","themeSelector","ajax","createWidget","buildKey","attrs","defaultState","currentThemeId","click","event","id","$","target","data","user","getCurrentUser","findDetails","then","seq","get","this","setTheme","themeId","arguments","length","undefined","setLocalTheme","state","location","reload","previewTheme","scheduleRerender","themeHtml","themes","listThemes","site","map","theme","push","attributes","html","sectionHeader","sectionHeaderText","I18n","t","sectionHeaderLink","href","style","decorateWidget","helper","widget","attach"],"mappings":"AACM,YAAaA,QACfC,QAAQ,sCAAsCC,iBAAiB,EAAG,CAACC,kBAAmB,EAAKC,qBAAsB,ICFjH,WAAYJ,QAChBK,OAAO,oEAAqE,CAAC,UAAW,6BAA6B,SAAUC,EAAUC,GACvI;AAEAC,OAAOC,eAAeH,EAAU,aAAc,CAC5CI,OAAO,IAETJ,EAASK,aAAU;AACnB,MAAMC,EAAWX,QAAQ,sCAAsCY,kBAAkB;AAEjF,IAAIC,EAAW,CACbC,KAAM,qCACNC,MAAO,iBACPC,cACE,EAAIV,EAAWW,eAAe,OAAOC,IACnC,IAAIC,EAAInB,QAAQ,eAAemB,EAE3BC,GADOpB,QAAQ,sBAAsBqB,KACrBrB,QAAQ;AAC5BkB,EAAII,aAAa,iBAAkB,CACjCC,SAAUC,GAAS,iBACnBC,aAAY,KACH,CACLC,eAAgBN,EAAcM,mBAGlCC,MAAMC,GACJ,IACIC,EADUC,EAAEF,EAAMG,QACLC,KAAK,MAClBC,EAAOf,EAAIgB;AAUf,OATID,EACFA,EAAKE,cAAcC,MAAKH,IACtB,IAAII,EAAMJ,EAAKK,IAAI;AACnBC,KAAKC,SAASX,EAAIQ,EAAI,IAGxBE,KAAKC,SAASX,IAGT,CACT,EACAW,SAASC,GACP,IAAIJ,EAAMK,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK;AAC/D,MAAXD,IAGJrB,EAAcyB,cAAc,CAACJ,GAAUJ,GACvCE,KAAKO,MAAMpB,eAAiBe,EACxB9B,EAAST,iBACXH,OAAOgD,SAASC,SAEhB5B,EAAc6B,aAAa,CAACR,IAE9BF,KAAKW,mBACP,EACAC,UAAUzB,GACR,IAAI0B,EAAShC,EAAciC,WAAWd,KAAKe;AAC3C,GAAIF,GAAUA,EAAOT,OAAS,EAC5B,OAAOS,EAAOG,KAAIC,IAChB,IAAI1C,EAAO,CAAC0C,EAAM1C;AAIlB,OAHI0C,EAAM3B,KAAOH,GACfZ,EAAK2C,KAAK,MAELtC,EAAE,KAAM,CACbuC,WAAY,CACV,YAAaF,EAAM1C,OAEpBK,EAAE,gBAAiB,CACpBuC,WAAY,CACV,UAAWF,EAAM3B,KAElBf,GAAM,GAGf,EACA6C,KAAKnC,EAAOsB,GACV,IAAIK,EAAYZ,KAAKY,UAAUL,EAAMpB,gBACjCkC,EAAgB;AACpB,MAAMC,EAAoBC,KAAKC,EApEd,wBAoE4B;AAC7C,GAAKZ,EAAL,CAGA,GAAIxC,EAASR,oBAAqB,CAChC,IAAI8B,EAAOf,EAAIgB,iBACX8B,EAAoB;AAEtBA,EADE/B,EACkBd,EAAE,gBAAiB,CACrC8C,KAAM,6BACLJ,GAEiB1C,EAAE,OAAQ,CAAC,EAAG0C,GAEpCD,EAAgBzC,EAAE,KAAM,CACtB+C,MAAO,gBAA0B,MAARjC,EAAe,yBAA2B,OAClE+B,EACL,CACA,MAAO,CAAC7C,EAAE,yBAA0B,CAACyC,EAAeT,IAAahC,EAAE,aAAcA,EAAE,MAfnF,CAgBF,IAEFD,EAAIiD,eAAe,qBAAqBC,IACtC,GAA0B,iBAAtBA,EAAO5C,MAAMV,KACf,MAAO,CAACsD,EAAOC,OAAOC,OAAO,kBAC/B,GACA,GAEN;AAEFjE,EAASK,QAAUG,CACrB","sourceRoot":"theme-4/","sourcesContent":["(function() {\n  if ('require' in window) {\n    require(\"discourse/lib/theme-settings-store\").registerSettings(4, {\"immediate_reload\":true,\"show_section_header\":false});\n  }\n})();\n","if ('define' in window) {\ndefine(\"discourse/theme-4/initializers/theme-field-2-common-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(4);\n  const themePrefix = key => `theme_translations.4.${key}`;\n  var _default = {\n    name: \"theme-field-2-common-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          buildKey: attrs => `theme-selector`,\n          defaultState() {\n            return {\n              currentThemeId: themeSelector.currentThemeId()\n            };\n          },\n          click(event) {\n            let $target = $(event.target);\n            let id = $target.data('id');\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(id, seq);\n              });\n            } else {\n              this.setTheme(id);\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            if (settings.immediate_reload) {\n              window.location.reload();\n            } else {\n              themeSelector.previewTheme([themeId]);\n            }\n            this.scheduleRerender();\n          },\n          themeHtml(currentThemeId) {\n            let themes = themeSelector.listThemes(this.site);\n            if (themes && themes.length > 1) {\n              return themes.map(theme => {\n                let name = [theme.name];\n                if (theme.id === currentThemeId) {\n                  name.push('\\xa0' + \"*\");\n                }\n                return h('li', {\n                  attributes: {\n                    \"data-name\": theme.name\n                  }\n                }, h('a.widget-link', {\n                  attributes: {\n                    \"data-id\": theme.id\n                  }\n                }, name));\n              });\n            }\n          },\n          html(attrs, state) {\n            let themeHtml = this.themeHtml(state.currentThemeId);\n            let sectionHeader = null;\n            const sectionHeaderText = I18n.t(themePrefix(\"hamburger_menu.theme_selector\"));\n            if (!themeHtml) {\n              return;\n            }\n            if (settings.show_section_header) {\n              let user = api.getCurrentUser();\n              let sectionHeaderLink = null;\n              if (user) {\n                sectionHeaderLink = h('a.widget-link', {\n                  href: \"/my/preferences/interface\"\n                }, sectionHeaderText);\n              } else {\n                sectionHeaderLink = h('span', {}, sectionHeaderText);\n              }\n              sectionHeader = h('li', {\n                style: \"width: 100%;\" + (user == null ? \"padding: 0.25em 0.5em;\" : null)\n              }, sectionHeaderLink);\n            }\n            return [h('ul.menu-links.columned', [sectionHeader, themeHtml]), h('.clearfix'), h('hr')];\n          }\n        });\n        api.decorateWidget('menu-links:before', 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"]}