{"version":3,"file":"virtual_main.js","sources":["theme-8/virtual:init-settings","theme-8/virtual:theme","theme-8/discourse/initializers/theme-field-22-common-html-script-1.js","theme-8/virtual:main"],"sourcesContent":["import { registerSettings } from \"discourse/lib/theme-settings-store\";\n\nregisterSettings(8, {\n  \"immediate_reload\": true,\n  \"show_section_header\": true\n});\n","import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(8);\n\nexport function themePrefix(key) {\n  return `theme_translations.8.${key}`;\n}\n","import { withPluginApi } from \"discourse/lib/plugin-api\";\nimport deprecated from \"discourse/lib/deprecated\";\n\nexport default {\n  name: \"theme-field-22-common-html-script-1\",\n  after: \"inject-objects\",\n\n  initialize() {\n    deprecated(\n      \"Adding JS code using <script type='text/discourse-plugin'> is deprecated. Move this code to a dedicated JavaScript file.\",\n      {\n        id: \"discourse.script-tag-discourse-plugin\",\n        url: \"https://meta.discourse.org/t/366482\",\n      }\n    )\n    withPluginApi(\"0.8\", (api) => {\n      \n  var h = require('virtual-dom').h;\n  var ajax = require('discourse/lib/ajax').ajax;\n\n  var themeSelector = require('discourse/lib/theme-selector');\n\n  api.createWidget(\"theme-selector\", {\n      buildKey: attrs => `theme-selector`,\n\n      defaultState() {\n          return { 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\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\n      setTheme(themeId, seq = 0){\n          if (themeId == null) { return; }\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\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', {attributes: {\"data-name\": theme.name}}, h('a.widget-link', {attributes: {\"data-id\": theme.id}}, name));\n              });\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\n          if (!themeHtml) { 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', { href: \"/my/preferences/interface\" }, sectionHeaderText);\n              } else {\n                  sectionHeaderLink= h('span', {}, sectionHeaderText);\n              }\n              sectionHeader = h('li', { style: \"width: 100%;\" + (user == null ? \"padding: 0.25em 0.5em;\" : null) }, sectionHeaderLink);\n          }\n\n          return [h('ul.menu-links.columned', [sectionHeader, themeHtml]), h('.clearfix'),  h('hr')];\n      }\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};\n","import \"virtual:init-settings\";\n\nconst themeCompatModules = {};\nimport * as Mod1 from \"./discourse/initializers/theme-field-22-common-html-script-1\";\nthemeCompatModules[\"discourse/initializers/theme-field-22-common-html-script-1\"] = Mod1;\n\nexport default themeCompatModules;\n"],"names":["registerSettings","immediate_reload","show_section_header","settings","getObjectForTheme","themeField22CommonHtmlScript1","name","after","initialize","deprecated","id","url","withPluginApi","api","h","require","ajax","themeSelector","createWidget","buildKey","attrs","defaultState","currentThemeId","click","event","$","target","data","user","getCurrentUser","findDetails","then","seq","get","this","setTheme","themeId","setLocalTheme","state","window","location","reload","previewTheme","scheduleRerender","themeHtml","themes","listThemes","site","length","map","theme","push","attributes","html","sectionHeader","sectionHeaderText","I18n","t","sectionHeaderLink","href","style","decorateWidget","helper","widget","attach","themeCompatModules","Mod1"],"mappings":";AAEAA,EAAiB,EAAG,CAClBC,kBAAoB,EACpBC,qBAAuB;ACFlB,MAAMC,EAAWC,EAAkB;ACC1C,IAAAC,EAAe,CACbC,KAAM,sCACNC,MAAO,iBAEPC,UAAAA,GACEC,EACE,2HACA,CACEC,GAAI,wCACJC,IAAK,wCAGTC,EAAc,MAAQC,IAExB,IAAIC,EAAIC,QAAQ,eAAeD;AACpBC,QAAQ,sBAAsBC;AAEzC,IAAIC,EAAgBF,QAAQ;AAE5BF,EAAIK,aAAa,iBAAkB,CAC/BC,SAAUC,GAAS,iBAEnBC,aAAYA,KACD,CAAEC,eAAiBL,EAAcK,mBAG5CC,KAAAA,CAAMC,GACF,IACId,EADUe,EAAED,EAAME,QACLC,KAAK,MAClBC,EAAOf,EAAIgB;AAWf,OATID,EACAA,EAAKE,cAAcC,KAAKH,IACpB,IAAII,EAAMJ,EAAKK,IAAI;AACnBC,KAAKC,SAASzB,EAAIsB,KAGtBE,KAAKC,SAASzB,IAGX,CACX,EAEAyB,QAAAA,CAASC,EAASJ,EAAM,GACL,MAAXI,IACJnB,EAAcoB,cAAc,CAACD,GAAUJ,GACvCE,KAAKI,MAAMhB,eAAiBc,EACzBjC,EAASF,iBACRsC,OAAOC,SAASC,SAEhBxB,EAAcyB,aAAa,CAACN,IAEhCF,KAAKS,mBACT,EAEAC,SAAAA,CAAUtB,GACN,IAAIuB,EAAS5B,EAAc6B,WAAWZ,KAAKa;AAC3C,GAAIF,GAAUA,EAAOG,OAAS,EAC1B,OAAOH,EAAOI,IAAIC,IACd,IAAI5C,EAAO,CAAC4C,EAAM5C;AAIlB,OAHI4C,EAAMxC,KAAOY,GACbhB,EAAK6C,KAAK,MAEPrC,EAAE,KAAM,CAACsC,WAAY,CAAC,YAAaF,EAAM5C,OAAQQ,EAAE,gBAAiB,CAACsC,WAAY,CAAC,UAAWF,EAAMxC,KAAMJ,KAG5H,EAEA+C,IAAAA,CAAKjC,EAAOkB,GACR,IAAIM,EAAYV,KAAKU,UAAUN,EAAMhB,gBACjCgC,EAAgB;AACpB,MAAMC,EAAoBC,KAAKC,EDrEhC,wBCqE8C;AAE7C,GAAKb,EAAL,CAEA,GAAIzC,EAASD,oBAAqB,CAC9B,IAAI0B,EAAOf,EAAIgB,iBACX6B,EAAoB;AAEpBA,EADA9B,EACoBd,EAAE,gBAAiB,CAAE6C,KAAM,6BAA+BJ,GAE3DzC,EAAE,OAAQ,CAAA,EAAIyC,GAErCD,EAAgBxC,EAAE,KAAM,CAAE8C,MAAO,gBAA0B,MAARhC,EAAe,yBAA2B,OAAS8B,EAC1G,CAEA,MAAO,CAAC5C,EAAE,yBAA0B,CAACwC,EAAeV,IAAa9B,EAAE,aAAeA,EAAE,MAb1D,CAc9B,IAGJD,EAAIgD,eAAe,oBAAsBC,IACrC,GAA0B,iBAAtBA,EAAO1C,MAAMd,KACf,MAAO,CAACwD,EAAOC,OAAOC,OAAO,sBAKnC;AClGG,MAACC,EAAqB,CAAA;AAE3BA,EAAmB,8DAAgEC;"}