{"version":3,"file":"virtual_main.js","sources":["theme-6/virtual:init-settings","theme-6/virtual:theme","theme-6/discourse/components/custom-header-links.gjs","theme-6/discourse/initializers/discourse-custom-header-links.js","theme-6/virtual:main"],"sourcesContent":["import { registerSettings } from \"discourse/lib/theme-settings-store\";\n\nregisterSettings(6, {\n  \"custom_header_links\": [\n    {\n      \"url\": \"https://www.graphhopper.com/\",\n      \"text\": \"GraphHopper.com\",\n      \"view\": \"vdo\"\n    },\n    {\n      \"url\": \"https://graphhopper.com/maps/\",\n      \"text\": \"Maps\",\n      \"view\": \"vdo\"\n    },\n    {\n      \"url\": \"https://graphhopper.com/dashboard/\",\n      \"text\": \"Dashboard\",\n      \"view\": \"vdo\"\n    },\n    {\n      \"url\": \"https://github.com/graphhopper/\",\n      \"text\": \"GitHub\",\n      \"view\": \"vdo\"\n    }\n  ],\n  \"links_position\": \"right\"\n});\n","import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(6);\n\nexport function themePrefix(key) {\n  return `theme_translations.6.${key}`;\n}\n","import Component from \"@glimmer/component\";\nimport { dasherize } from \"@ember/string\";\nimport concatClass from \"discourse/helpers/concat-class\";\n\nfunction normalizeLocale(locale) {\n  return locale?.trim().toLowerCase().replace(/[-_]/g, \"_\");\n}\n\nexport default class CustomHeaderLinks extends Component {\n  get shouldShow() {\n    return settings.custom_header_links?.length > 0;\n  }\n\n  get links() {\n    return settings.custom_header_links.reduce((result, link) => {\n      const linkText = link.text;\n      const linkTitle = link.title;\n      const linkHref = link.url;\n      const target = link.target;\n      const hideOnScroll = link.hide_on_scroll;\n      const locale = link.locale;\n      const device = link.view;\n\n      const currentLocale = normalizeLocale(document.documentElement.lang);\n\n      if (!linkText || (locale && normalizeLocale(locale) !== currentLocale)) {\n        return result;\n      }\n\n      const linkClass = `${dasherize(linkText)}-custom-header-links`; // legacy name\n\n      const anchorAttributes = {\n        title: linkTitle,\n        href: linkHref,\n        target: target === \"self\" ? \"\" : \"_blank\",\n      };\n\n      result.push({\n        device: `headerLink--${device}`,\n        hideOnScroll: `headerLink--${hideOnScroll}`,\n        locale: locale ? `headerLink--${locale}` : null,\n        linkClass,\n        anchorAttributes,\n        linkText,\n      });\n\n      return result;\n    }, []);\n  }\n\n  <template>\n    {{#if this.shouldShow}}\n      <ul\n        class=\"custom-header-links\n          {{if @outletArgs.topicInfoVisible 'custom-header-links--hide-links'}}\"\n      >\n        {{#each this.links as |link|}}\n          <li\n            class={{concatClass\n              \"headerLink\"\n              link.device\n              link.locale\n              link.linkClass\n              link.hideOnScroll\n            }}\n          >\n            <a\n              title={{link.anchorAttributes.title}}\n              href={{link.anchorAttributes.href}}\n              target={{link.anchorAttributes.target}}\n            >\n              {{link.linkText}}\n            </a>\n          </li>\n        {{/each}}\n      </ul>\n    {{/if}}\n  </template>\n}\n","import { apiInitializer } from \"discourse/lib/api\";\nimport CustomHeaderLinks from \"../components/custom-header-links\";\n\nexport default apiInitializer((api) => {\n  api.renderInOutlet(\"before-header-panel\", CustomHeaderLinks);\n});\n","import \"virtual:init-settings\";\n\nconst themeCompatModules = {};\nimport * as Mod1 from \"./discourse/components/custom-header-links\";\nthemeCompatModules[\"discourse/components/custom-header-links\"] = Mod1;\n\nimport * as Mod2 from \"./discourse/initializers/discourse-custom-header-links\";\nthemeCompatModules[\"discourse/initializers/discourse-custom-header-links\"] = Mod2;\n\nexport default themeCompatModules;\n"],"names":["registerSettings","custom_header_links","url","text","view","links_position","settings","getObjectForTheme","normalizeLocale","locale","trim","toLowerCase","replace","CustomHeaderLinks","Component","shouldShow","length","links","reduce","result","link","linkText","linkTitle","title","linkHref","target","hideOnScroll","hide_on_scroll","device","currentLocale","document","documentElement","lang","linkClass","dasherize","anchorAttributes","href","push","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","concatClass","isStrictMode","this","discourseCustomHeaderLinks","apiInitializer","api","renderInOutlet","themeCompatModules","Mod1","Mod2"],"mappings":";AAEAA,EAAiB,EAAG,CAClBC,oBAAuB,CACrB,CACEC,IAAO,+BACPC,KAAQ,kBACRC,KAAQ,OAEV,CACEF,IAAO,gCACPC,KAAQ,OACRC,KAAQ,OAEV,CACEF,IAAO,qCACPC,KAAQ,YACRC,KAAQ,OAEV,CACEF,IAAO,kCACPC,KAAQ,SACRC,KAAQ,QAGZC,eAAkB;ACvBb,MAAMC,EAAWC,EAAkB;ACE1C,SAASC,EAAgBC,GACvB,OAAOA,GAAQC,OAAOC,cAAcC,QAAQ,QAAS,IACvD,CAEe,MAAMC,UAA0BC,EAC7C,cAAIC,GACF,OAAOT,EAASL,qBAAqBe,OAAS,CAChD,CAEA,SAAIC,GACF,OAAOX,EAASL,oBAAoBiB,OAAO,CAACC,EAAQC,KAClD,MAAMC,EAAWD,EAAKjB,KAChBmB,EAAYF,EAAKG,MACjBC,EAAWJ,EAAKlB,IAChBuB,EAASL,EAAKK,OACdC,EAAeN,EAAKO,eACpBlB,EAASW,EAAKX,OACdmB,EAASR,EAAKhB,KAEdyB,EAAgBrB,EAAgBsB,SAASC,gBAAgBC;AAE/D,IAAKX,GAAaZ,GAAUD,EAAgBC,KAAYoB,EACtD,OAAOV;AAGT,MAAMc,EAAY,GAAGC,EAAUb,yBAEzBc,EAAmB,CACvBZ,MAAOD,EACPc,KAAMZ,EACNC,OAAmB,SAAXA,EAAoB,GAAK;AAYnC,OATAN,EAAOkB,KAAK,CACVT,OAAQ,eAAeA,IACvBF,aAAc,eAAeA,IAC7BjB,OAAQA,EAAS,eAAeA,IAAW,KAC3CwB,YACAE,mBACAd,aAGKF,GACN,GACL,QAEAmB,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,2vBAAAC,WAAA,wDAAAC,MAAAA,KAAAC,GAAAC,cAAA,IA2BAC,KAAU,kDC1EZC,EAAeC,EAAgBC,IAC7BA,EAAIC,eAAe,sBAAuBrC;ACFvC,MAACsC,EAAqB,CAAA;AAE3BA,EAAmB,4CAA8CC,EAGjED,EAAmB,wDAA0DE;"}