{"version":3,"file":"waze-header.js","names":["define","_exports","_component","_component2","_object","_service","_templateFactory","Object","defineProperty","value","default","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","WazeAppLauncher","static","dt7948","g","this","prototype","service","site","i","windowOpenTargetBlank","path","window","open","n","action","setComponentTemplate","_url","WazeUserBox","currentUser","siteSettings","replaceWindowWithUserPage","page","routeTo","waze_header_relative_url_root","username","windowOpen","target","arguments","length","undefined","avatarUrl","avatar_template","replace","handleLogout","fetch","lookup","allCookies","document","cookie","split","find","c","startsWith","substr","Promise","all","destroySession","method","headers","then","location","reload","__WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__","__WEBPACK_EXTERNAL_MODULE__components_waze_user_box_896b658e__","__WEBPACK_EXTERNAL_MODULE__components_waze_app_launcher_3ac18906__","__webpack_require__","exports","definition","key","o","enumerable","get","obj","prop","hasOwnProperty","call","__webpack_exports__","d","A","plugin_api_namespaceObject","y","x","withPluginApi","waze_user_box_namespaceObject","waze_user_box_x","waze_app_launcher_namespaceObject","waze_app_launcher_x","waze_header_initializer","name","initialize","api","headerIcons","add"],"sources":["discourse/plugins/waze-header/discourse/components/waze-app-launcher.js","discourse/plugins/waze-header/discourse/components/waze-user-box.js","discourse/plugins/waze-header/discourse/initializers/waze-header-initializer.js","discourse/plugins/waze-header/discourse/templates/connectors/user-dropdown-notifications__before/user-dropdown-bell-icon.js"],"sourcesContent":["define(\"discourse/plugins/waze-header/discourse/components/waze-app-launcher\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#unless this.site.mobileView}}\n    <wz-app-launcher\n      class=\"icon wz-app-launcher\"\n      title={{I18n \"waze.app_launcher.title\"}}\n    >\n      <wz-app-launcher-item\n        icon=\"livemap\"\n        {{on \"click\" (fn this.windowOpenTargetBlank \"/live-map\")}}\n      >\n        {{I18n \"waze.app_launcher.livemap\"}}\n      </wz-app-launcher-item>\n      <wz-app-launcher-item\n        icon=\"editor\"\n        {{on \"click\" (fn this.windowOpenTargetBlank \"/editor\")}}\n      >\n        {{I18n \"waze.app_launcher.map_editor\"}}\n      </wz-app-launcher-item>\n      <wz-app-launcher-item\n        icon=\"forums\"\n        {{on \"click\" (fn this.windowOpenTargetBlank \"/forum\")}}\n      >\n        {{I18n \"waze.app_launcher.forums\"}}\n      </wz-app-launcher-item>\n      <wz-app-launcher-item\n        icon=\"wazeopedia\"\n        {{on \"click\" (fn this.windowOpenTargetBlank \"/wiki\")}}\n      >\n        {{I18n \"waze.app_launcher.wazeopedia\"}}\n      </wz-app-launcher-item>\n      <wz-app-launcher-item\n        icon=\"partners\"\n        {{on \"click\" (fn this.windowOpenTargetBlank \"/partnerhub\")}}\n      >\n        {{I18n \"waze.app_launcher.partner_hub\"}}\n      </wz-app-launcher-item>\n    </wz-app-launcher>\n  {{/unless}}\n  */\n  {\n    \"id\": \"e7qmkJKI\",\n    \"block\": \"[[[41,[51,[30,0,[\\\"site\\\",\\\"mobileView\\\"]]],[[[1,\\\"  \\\"],[10,\\\"wz-app-launcher\\\"],[14,0,\\\"icon wz-app-launcher\\\"],[15,\\\"title\\\",[28,[37,2],[\\\"waze.app_launcher.title\\\"],null]],[12],[1,\\\"\\\\n    \\\"],[11,\\\"wz-app-launcher-item\\\"],[24,\\\"icon\\\",\\\"livemap\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"windowOpenTargetBlank\\\"]],\\\"/live-map\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"waze.app_launcher.livemap\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-app-launcher-item\\\"],[24,\\\"icon\\\",\\\"editor\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"windowOpenTargetBlank\\\"]],\\\"/editor\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"waze.app_launcher.map_editor\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-app-launcher-item\\\"],[24,\\\"icon\\\",\\\"forums\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"windowOpenTargetBlank\\\"]],\\\"/forum\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"waze.app_launcher.forums\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-app-launcher-item\\\"],[24,\\\"icon\\\",\\\"wazeopedia\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"windowOpenTargetBlank\\\"]],\\\"/wiki\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"waze.app_launcher.wazeopedia\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-app-launcher-item\\\"],[24,\\\"icon\\\",\\\"partners\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"windowOpenTargetBlank\\\"]],\\\"/partnerhub\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,2],[\\\"waze.app_launcher.partner_hub\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],false,[\\\"unless\\\",\\\"wz-app-launcher\\\",\\\"I18n\\\",\\\"wz-app-launcher-item\\\",\\\"on\\\",\\\"fn\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-header/discourse/components/waze-app-launcher.hbs\",\n    \"isStrictMode\": false\n  });\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  class WazeAppLauncher extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n    #site = (() => (dt7948.i(this, \"site\"), void 0))();\n    windowOpenTargetBlank(path) {\n      window.open(path, \"_blank\");\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"windowOpenTargetBlank\", [_object.action]))();\n  }\n  _exports.default = WazeAppLauncher;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, WazeAppLauncher);\n});","define(\"discourse/plugins/waze-header/discourse/components/waze-user-box\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/lib/url\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _url, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.currentUser}}\n    <wz-user-box\n      class=\"icon wz-user-box\"\n      userName={{this.currentUser.username}}\n      avatarUrl={{this.avatarUrl}}\n      title={{this.currentUser.username}}\n    >\n      <wz-menu-title>\n        {{I18n \"waze.user_box.waze_discuss\"}}\n      </wz-menu-title>\n      <wz-menu-item {{on \"click\" (fn this.replaceWindowWithUserPage \"/summary\")}}>\n        {{I18n \"waze.user_box.summary\"}}\n      </wz-menu-item>\n      <wz-menu-item\n        {{on \"click\" (fn this.replaceWindowWithUserPage \"/activity\")}}\n      >\n        {{I18n \"waze.user_box.activity\"}}\n      </wz-menu-item>\n      {{#if this.currentUser.can_invite_to_forum}}\n        <wz-menu-item\n          {{on \"click\" (fn this.replaceWindowWithUserPage \"/invited/pending\")}}\n        >\n          {{I18n \"waze.user_box.invites\"}}\n        </wz-menu-item>\n      {{/if}}\n      <wz-menu-item\n        {{on \"click\" (fn this.replaceWindowWithUserPage \"/activity/drafts\")}}\n      >\n        {{I18n \"waze.user_box.drafts\"}}\n      </wz-menu-item>\n      <wz-menu-item\n        {{on \"click\" (fn this.replaceWindowWithUserPage \"/preferences/account\")}}\n      >\n        {{I18n \"waze.user_box.preferences\"}}\n      </wz-menu-item>\n      <wz-menu-divider></wz-menu-divider>\n      <wz-menu-title>{{I18n \"waze.user_box.general\"}}</wz-menu-title>\n      <wz-menu-item {{on \"click\" (fn this.windowOpen \"/account\")}}>\n        {{I18n \"waze.user_box.waze_account_settings\"}}\n      </wz-menu-item>\n      <wz-menu-item {{on \"click\" (fn this.windowOpen \"/help\")}}>\n        {{I18n \"waze.user_box.help_center\"}}\n      </wz-menu-item>\n      <wz-menu-item {{on \"click\" (fn this.windowOpen \"/support\")}}>\n        {{I18n \"waze.user_box.report_an_issue\"}}\n      </wz-menu-item>\n      <wz-menu-item {{on \"click\" (fn this.handleLogout)}}>\n        {{I18n \"waze.user_box.logout\"}}\n      </wz-menu-item>\n    </wz-user-box>\n  {{/if}}\n  */\n  {\n    \"id\": \"rQsqcFT4\",\n    \"block\": \"[[[41,[30,0,[\\\"currentUser\\\"]],[[[1,\\\"  \\\"],[10,\\\"wz-user-box\\\"],[14,0,\\\"icon wz-user-box\\\"],[15,\\\"userName\\\",[30,0,[\\\"currentUser\\\",\\\"username\\\"]]],[15,\\\"avatarUrl\\\",[30,0,[\\\"avatarUrl\\\"]]],[15,\\\"title\\\",[30,0,[\\\"currentUser\\\",\\\"username\\\"]]],[12],[1,\\\"\\\\n    \\\"],[10,\\\"wz-menu-title\\\"],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.waze_discuss\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"replaceWindowWithUserPage\\\"]],\\\"/summary\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.summary\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"replaceWindowWithUserPage\\\"]],\\\"/activity\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.activity\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\",\\\"can_invite_to_forum\\\"]],[[[1,\\\"      \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"replaceWindowWithUserPage\\\"]],\\\"/invited/pending\\\"],null]],null],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,3],[\\\"waze.user_box.invites\\\"],null]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"replaceWindowWithUserPage\\\"]],\\\"/activity/drafts\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.drafts\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"replaceWindowWithUserPage\\\"]],\\\"/preferences/account\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.preferences\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"wz-menu-divider\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[10,\\\"wz-menu-title\\\"],[12],[1,[28,[35,3],[\\\"waze.user_box.general\\\"],null]],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"windowOpen\\\"]],\\\"/account\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.waze_account_settings\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"windowOpen\\\"]],\\\"/help\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.help_center\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"windowOpen\\\"]],\\\"/support\\\"],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.report_an_issue\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"wz-menu-item\\\"],[4,[38,5],[\\\"click\\\",[28,[37,6],[[30,0,[\\\"handleLogout\\\"]]],null]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,3],[\\\"waze.user_box.logout\\\"],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],false,[\\\"if\\\",\\\"wz-user-box\\\",\\\"wz-menu-title\\\",\\\"I18n\\\",\\\"wz-menu-item\\\",\\\"on\\\",\\\"fn\\\",\\\"wz-menu-divider\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-header/discourse/components/waze-user-box.hbs\",\n    \"isStrictMode\": false\n  });\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  const avatarSize = 64;\n  const CSRF_TOKEN_COOKIE_KEY = \"_csrf_token\";\n  class WazeUserBox extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    replaceWindowWithUserPage(page) {\n      _url.default.routeTo(`${this.siteSettings.waze_header_relative_url_root}u/${this.currentUser.username}${page}`);\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"replaceWindowWithUserPage\", [_object.action]))();\n    windowOpen(path) {\n      let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n      window.open(path, target);\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"windowOpen\", [_object.action]))();\n    get avatarUrl() {\n      const avatarTemplate = this.currentUser.avatar_template;\n      return avatarTemplate.replace(/\\{size\\}/, avatarSize);\n    }\n    async handleLogout() {\n      const currentUser = this.currentUser;\n      if (!currentUser) {\n        return;\n      }\n      // refresh the CSRF token and make sure it is `httpOnly: false`\n      await fetch(\"/login/get\");\n      const lookup = `${CSRF_TOKEN_COOKIE_KEY}=`;\n      const allCookies = document.cookie.split(\"; \");\n      const cookie = allCookies.find(c => c.startsWith(lookup))?.substr(lookup.length) ?? \"\";\n      Promise.all([currentUser.destroySession(),\n      // Destroys Waze session.\n      fetch(\"/login/destroy\", {\n        method: \"POST\",\n        headers: {\n          \"x-csrf-token\": cookie\n        }\n      })]).then(() => location.reload());\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"handleLogout\", [_object.action]))();\n  }\n  _exports.default = WazeUserBox;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, WazeUserBox);\n});","define(\"discourse/plugins/waze-header/discourse/initializers/waze-header-initializer\", [\"exports\", \"discourse/lib/plugin-api\", \"discourse/plugins/waze-header/discourse/components/waze-user-box\", \"discourse/plugins/waze-header/discourse/components/waze-app-launcher\"], function (_exports, __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__, __WEBPACK_EXTERNAL_MODULE__components_waze_user_box_896b658e__, __WEBPACK_EXTERNAL_MODULE__components_waze_app_launcher_3ac18906__) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  /******/ // The require scope\n  /******/var __webpack_require__ = {};\n  /******/\n  /************************************************************************/\n  /******/ /* webpack/runtime/define property getters */\n  /******/\n  (() => {\n    /******/ // define getter functions for harmony exports\n    /******/__webpack_require__.d = (exports, definition) => {\n      /******/for (var key in definition) {\n        /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n          /******/Object.defineProperty(exports, key, {\n            enumerable: true,\n            get: definition[key]\n          });\n          /******/\n        }\n        /******/\n      }\n      /******/\n    };\n    /******/\n  })();\n  /******/\n  /******/ /* webpack/runtime/hasOwnProperty shorthand */\n  /******/\n  (() => {\n    /******/__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n    /******/\n  })();\n  /******/\n  /************************************************************************/\n  var __webpack_exports__ = {};\n\n  // EXPORTS\n  __webpack_require__.d(__webpack_exports__, {\n    A: () => (/* binding */waze_header_initializer)\n  });\n  ; // external \"discourse/lib/plugin-api\"\n  var x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var y = x => () => x;\n  const plugin_api_namespaceObject = x({\n    [\"withPluginApi\"]: () => __WEBPACK_EXTERNAL_MODULE_discourse_lib_plugin_api_dfe1d9c2__.withPluginApi\n  });\n  ; // external \"../components/waze-user-box\"\n  var waze_user_box_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var waze_user_box_y = x => () => x;\n  const waze_user_box_namespaceObject = waze_user_box_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__components_waze_user_box_896b658e__[\"default\"]\n  });\n  ; // external \"../components/waze-app-launcher\"\n  var waze_app_launcher_x = y => {\n    var x = {};\n    __webpack_require__.d(x, y);\n    return x;\n  };\n  var waze_app_launcher_y = x => () => x;\n  const waze_app_launcher_namespaceObject = waze_app_launcher_x({\n    [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__components_waze_app_launcher_3ac18906__[\"default\"]\n  });\n  ; // ./src/plugin/assets/javascripts/discourse/initializers/waze-header-initializer.ts\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  // @ts-expect-error no types\n\n  /* harmony default export */\n  const waze_header_initializer = {\n    name: \"wz-header\",\n    initialize() {\n      (0, plugin_api_namespaceObject.withPluginApi)(\"1.34.0\", api => {\n        api.headerIcons.add(\"waze-app-launcher\", waze_app_launcher_namespaceObject[\"default\"]);\n        api.headerIcons.add(\"waze-user-box\", waze_user_box_namespaceObject[\"default\"]);\n      });\n    }\n  };\n  var __webpack_exports__default = _exports.default = __webpack_exports__.A;\n});","define(\"discourse/plugins/waze-header/discourse/templates/connectors/user-dropdown-notifications__before/user-dropdown-bell-icon\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <a title={{I18n \"waze.user_dropdown.title\"}}>\n    {{dIcon \"w-bell\"}}\n  </a>\n  */\n  {\n    \"id\": \"5pKkV8i3\",\n    \"block\": \"[[[10,3],[15,\\\"title\\\",[28,[37,1],[\\\"waze.user_dropdown.title\\\"],null]],[12],[1,\\\"\\\\n  \\\"],[1,[28,[35,2],[\\\"w-bell\\\"],null]],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"a\\\",\\\"I18n\\\",\\\"dIcon\\\"]]\",\n    \"moduleName\": \"discourse/plugins/waze-header/discourse/templates/connectors/user-dropdown-notifications__before/user-dropdown-bell-icon.hbs\",\n    \"isStrictMode\": false\n  });\n});"],"mappings":"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","ignoreList":[]}