diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index bb2bba0..a3690d8 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@maicol07/flarum-ext-sso/webpack/bootstrap","webpack://@maicol07/flarum-ext-sso/webpack/runtime/compat get default export","webpack://@maicol07/flarum-ext-sso/webpack/runtime/define property getters","webpack://@maicol07/flarum-ext-sso/webpack/runtime/hasOwnProperty shorthand","webpack://@maicol07/flarum-ext-sso/webpack/runtime/make namespace object","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['admin/app']\"","webpack://@maicol07/flarum-ext-sso/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['common/components/Button']\"","webpack://@maicol07/flarum-ext-sso/./src/admin/SettingsPage.tsx","webpack://@maicol07/flarum-ext-sso/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@maicol07/flarum-ext-sso/./src/admin/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","import ExtensionPage, { ExtensionPageAttrs } from 'flarum/admin/components/ExtensionPage';\nimport app from 'flarum/admin/app';\nimport Mithril from 'mithril';\nimport { SettingsComponentOptions } from 'flarum/admin/components/AdminPage';\nimport Button from 'flarum/common/components/Button';\n\nexport class SettingsPage extends ExtensionPage {\n content(vnode: Mithril.VnodeDOM): JSX.Element {\n const settings = app.extensionData.getSettings(this.extension.id);\n\n const flarumSettings = this.flarumClientSettings(1);\n\n return (\n
\n
\n
\n
\n {this.buildSettingComponent({\n type: 'checkbox',\n label: 'Provider mode',\n setting: 'maicol07-sso.provider_mode',\n help: app.translator.trans('maicol07-sso.admin.settings.provider_mode'),\n className: 'maicol07-sso--provider-mode',\n })}\n \n
\n\n
\n\n \n {settings?.map(this.buildSettingComponent.bind(this))}\n\n
\n\n
\n

{app.translator.trans('maicol07-sso.admin.settings.jwt_section_subtitle')}

\n {this.jwtSettings().map(this.buildSettingComponent.bind(this))}\n
\n
\n\n
{this.submitButton()}
\n
\n
\n \n );\n }\n\n oncreate(vnode: Mithril.VnodeDOM) {\n super.oncreate(vnode);\n this.setting('maicol07-sso.provider_mode').map(() => m.redraw());\n }\n\n addRow() {\n const next = this.clientRows().length + 1;\n app.data.settings[`maicol07-sso.client${next}_url`] = '';\n }\n\n clientRows() {\n const clientRows = [];\n\n let i = 1;\n while (`maicol07-sso.client${i}_url` in app.data.settings) {\n clientRows.push(\n \n {this.flarumClientSettings(i).map((setting) => {\n setting.label = undefined;\n setting.help = undefined;\n return {this.buildSettingComponent(setting)};\n })}\n ,\n );\n i++;\n }\n\n return clientRows;\n }\n\n flarumClientSettings(clientNumber: number): SettingsComponentOptions[] {\n return [\n {\n setting: `maicol07-sso.client${clientNumber}_name`,\n type: 'text',\n label: app.translator.trans('maicol07-sso.admin.settings.client_name'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_name_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_url`,\n type: 'text',\n label: app.translator.trans('maicol07-sso.admin.settings.client_url'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_url_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_api_key`,\n type: 'password',\n label: app.translator.trans('maicol07-sso.admin.settings.client_api_key'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_api_key_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_password_token`,\n type: 'password',\n label: app.translator.trans('maicol07-sso.admin.settings.client_password_token'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_password_token_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_verify_ssl`,\n type: 'checkbox',\n label: app.translator.trans('maicol07-sso.admin.settings.client_verify_ssl'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_verify_ssl_help'),\n },\n ];\n }\n\n generalClientSettings(): SettingsComponentOptions[] {\n return [\n {\n setting: 'maicol07-sso.login_url',\n label: app.translator.trans('maicol07-sso.admin.settings.login_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.signup_url',\n label: app.translator.trans('maicol07-sso.admin.settings.signup_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.manage_account_url',\n label: app.translator.trans('maicol07-sso.admin.settings.manage_account_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.cookies_prefix',\n label: app.translator.trans('maicol07-sso.admin.settings.cookies_prefix'),\n type: 'text',\n },\n ];\n }\n\n jwtSettings(): SettingsComponentOptions[] {\n return [\n {\n setting: 'maicol07-sso.jwt_iss',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_iss'),\n type: 'text',\n },\n {\n setting: 'maicol07-sso.jwt_signing_algorithm',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_signing_algorithm'),\n type: 'select',\n options: {\n Sha256: 'Sha256',\n Sha384: 'Sha384',\n Sha512: 'Sha512',\n },\n default: 'Sha256',\n },\n {\n setting: 'maicol07-sso.jwt_signer_key',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_signer_key'),\n type: 'text',\n },\n ];\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import app from 'flarum/admin/app';\nimport { SettingsPage } from './SettingsPage';\n\napp.initializers.add('maicol07-sso', () => {\n app.extensionData\n .for('maicol07-sso')\n .registerSetting({\n setting: 'maicol07-sso.manage_account_btn_open_in_new_tab',\n label: app.translator.trans('maicol07-sso.admin.settings.manage_account_btn_open_in_new_tab'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'maicol07-sso.remove_login_btn',\n label: app.translator.trans('maicol07-sso.admin.settings.remove_login_btn'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'maicol07-sso.remove_signup_btn',\n label: app.translator.trans('maicol07-sso.admin.settings.remove_signup_btn'),\n type: 'boolean',\n })\n .registerPage(SettingsPage);\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","__proto__","SettingsPage","subClass","superClass","create","constructor","content","vnode","settings","app","this","extension","id","flarumSettings","flarumClientSettings","className","buildSettingComponent","type","label","setting","help","hidden","map","style","fontWeight","clientRows","icon","onclick","addRow","bind","generalClientSettings","jwtSettings","submitButton","oncreate","m","redraw","next","length","i","push","undefined","clientNumber","options","Sha256","Sha384","Sha512","default","ExtensionPage","registerSetting","registerPage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@maicol07/flarum-ext-sso/webpack/bootstrap","webpack://@maicol07/flarum-ext-sso/webpack/runtime/compat get default export","webpack://@maicol07/flarum-ext-sso/webpack/runtime/define property getters","webpack://@maicol07/flarum-ext-sso/webpack/runtime/hasOwnProperty shorthand","webpack://@maicol07/flarum-ext-sso/webpack/runtime/make namespace object","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['admin/app']\"","webpack://@maicol07/flarum-ext-sso/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['common/components/Button']\"","webpack://@maicol07/flarum-ext-sso/./src/admin/SettingsPage.tsx","webpack://@maicol07/flarum-ext-sso/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@maicol07/flarum-ext-sso/./src/admin/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","import ExtensionPage, { ExtensionPageAttrs } from 'flarum/admin/components/ExtensionPage';\nimport app from 'flarum/admin/app';\nimport Mithril from 'mithril';\nimport { SettingsComponentOptions } from 'flarum/admin/components/AdminPage';\nimport Button from 'flarum/common/components/Button';\n\nexport class SettingsPage extends ExtensionPage {\n content(vnode: Mithril.VnodeDOM): JSX.Element {\n const settings = app.extensionData.getSettings(this.extension.id);\n\n const flarumSettings = this.flarumClientSettings(1);\n\n return (\n
\n
\n
\n
\n {this.buildSettingComponent({\n type: 'checkbox',\n label: 'Provider mode',\n setting: 'maicol07-sso.provider_mode',\n help: app.translator.trans('maicol07-sso.admin.settings.provider_mode'),\n className: 'maicol07-sso--provider-mode',\n })}\n \n
\n\n
\n\n \n\n
{this.submitButton()}
\n
\n
\n
\n );\n }\n\n oncreate(vnode: Mithril.VnodeDOM) {\n super.oncreate(vnode);\n this.setting('maicol07-sso.provider_mode').map(() => m.redraw());\n }\n\n addRow() {\n const next = this.clientRows().length + 1;\n app.data.settings[`maicol07-sso.client${next}_url`] = '';\n }\n\n clientRows() {\n const clientRows = [];\n\n let i = 1;\n while (`maicol07-sso.client${i}_url` in app.data.settings) {\n clientRows.push(\n \n {this.flarumClientSettings(i).map((setting) => {\n setting.label = undefined;\n setting.help = undefined;\n return {this.buildSettingComponent(setting)};\n })}\n \n );\n i++;\n }\n\n return clientRows;\n }\n\n flarumClientSettings(clientNumber: number): SettingsComponentOptions[] {\n return [\n {\n setting: `maicol07-sso.client${clientNumber}_name`,\n type: 'text',\n label: app.translator.trans('maicol07-sso.admin.settings.client_name'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_name_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_url`,\n type: 'text',\n label: app.translator.trans('maicol07-sso.admin.settings.client_url'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_url_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_api_key`,\n type: 'password',\n label: app.translator.trans('maicol07-sso.admin.settings.client_api_key'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_api_key_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_password_token`,\n type: 'password',\n label: app.translator.trans('maicol07-sso.admin.settings.client_password_token'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_password_token_help'),\n },\n {\n setting: `maicol07-sso.client${clientNumber}_verify_ssl`,\n type: 'checkbox',\n label: app.translator.trans('maicol07-sso.admin.settings.client_verify_ssl'),\n help: app.translator.trans('maicol07-sso.admin.settings.client_verify_ssl_help'),\n },\n ];\n }\n\n generalClientSettings(): SettingsComponentOptions[] {\n return [\n {\n setting: 'maicol07-sso.login_url',\n label: app.translator.trans('maicol07-sso.admin.settings.login_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.signup_url',\n label: app.translator.trans('maicol07-sso.admin.settings.signup_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.manage_account_url',\n label: app.translator.trans('maicol07-sso.admin.settings.manage_account_url'),\n type: 'url',\n },\n {\n setting: 'maicol07-sso.cookies_prefix',\n label: app.translator.trans('maicol07-sso.admin.settings.cookies_prefix'),\n type: 'text',\n },\n ];\n }\n\n jwtSettings(): SettingsComponentOptions[] {\n return [\n {\n setting: 'maicol07-sso.jwt_iss',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_iss'),\n type: 'text',\n },\n {\n setting: 'maicol07-sso.jwt_signing_algorithm',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_signing_algorithm'),\n type: 'select',\n options: {\n Sha256: 'Sha256',\n Sha384: 'Sha384',\n Sha512: 'Sha512',\n },\n default: 'Sha256',\n },\n {\n setting: 'maicol07-sso.jwt_signer_key',\n label: app.translator.trans('maicol07-sso.admin.settings.jwt_signer_key'),\n type: 'text',\n },\n ];\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import app from 'flarum/admin/app';\nimport { SettingsPage } from './SettingsPage';\n\napp.initializers.add('maicol07-sso', () => {\n app.extensionData\n .for('maicol07-sso')\n .registerSetting({\n setting: 'maicol07-sso.manage_account_btn_open_in_new_tab',\n label: app.translator.trans('maicol07-sso.admin.settings.manage_account_btn_open_in_new_tab'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'maicol07-sso.remove_login_btn',\n label: app.translator.trans('maicol07-sso.admin.settings.remove_login_btn'),\n type: 'boolean',\n })\n .registerSetting({\n setting: 'maicol07-sso.remove_signup_btn',\n label: app.translator.trans('maicol07-sso.admin.settings.remove_signup_btn'),\n type: 'boolean',\n })\n .registerPage(SettingsPage);\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","__proto__","SettingsPage","subClass","superClass","create","constructor","content","vnode","settings","app","this","extension","id","flarumSettings","flarumClientSettings","className","buildSettingComponent","type","label","setting","help","hidden","map","style","fontWeight","clientRows","icon","onclick","addRow","bind","generalClientSettings","jwtSettings","submitButton","oncreate","m","redraw","next","length","i","push","undefined","clientNumber","options","Sha256","Sha384","Sha512","default","ExtensionPage","registerSetting","registerPage"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index d0e3793..32b6db7 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,iBCAlD,EAA+BF,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,oC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,iC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,+B,aCaxD,SAASC,EAAQC,GACf,OAAOC,IAAAA,MAAAA,UAAA,gBAAoCD,EAC5C,CAKD,SAASE,IACP,MAAO,CACLC,MAAO,CACLC,IAAKL,EAAQ,aACbM,SAAU,QACVC,WAA4C,MAAhCP,EAAQ,oBACpBQ,KAAMN,IAAAA,WAAAA,MAAqB,kCAE7BO,OAAQ,CACNJ,IAAKL,EAAQ,cACbM,SAAU,SACVC,WAA6C,MAAjCP,EAAQ,qBACpBQ,KAAMN,IAAAA,WAAAA,MAAqB,mCAGhC,CAEDA,IAAAA,aAAAA,IAAqB,gBAAgB,WACnCQ,OAAOC,iBAAiB,QAAQ,WACzBX,EAAQ,oBACXY,EAAAA,EAAAA,UAASC,IAAAA,UAAsB,YAAY,WACzC,IAAMC,EAAQX,IAEd,MADAO,OAAOK,SAASC,KAAOF,EAAMV,MAAMC,IAC7B,IAAIY,MAAM,iBACjB,KAEDC,EAAAA,EAAAA,QAAOC,IAAAA,UAA2B,SAAS,SAACC,GAE1C,IADA,IAAMN,EAAQX,IACd,MAAwBlB,OAAOoC,QAAQP,GAAvC,eAA+C,CAA1C,IAASQ,EAAT,QACH,GAAIA,EAAMjB,IACR,GAAIiB,EAAMf,WACRa,EAAQG,OAAOD,EAAMhB,cAChB,CAEL,IAAKc,EAAQI,IAAIF,EAAMhB,UACrB,OAEFc,EAAQK,WACNH,EAAMhB,SACN,OAAGU,KAAMM,EAAMjB,IAAKqB,UAAU,uBAC3BJ,EAAMd,MAGZ,CAEJ,CACF,KAEDU,EAAAA,EAAAA,QAAOS,IAAAA,UAAwB,gBAAgB,SAACb,GACzCd,EAAQ,eAKbc,EAAMS,OAAO,eACbT,EAAMS,OAAO,kBAERvB,EAAQ,uBAIbc,EAAMc,IACJ,gBACA,OAAGC,MAAM,SAASb,KAAMhB,EAAQ,sBAC7B8B,OAA0D,MAAlD9B,EAAQ,sCAAgD,SAAW,IAC3EE,IAAAA,WAAAA,MAAqB,2CAG3B,KAEDgB,EAAAA,EAAAA,QAAOS,IAAAA,UAAwB,iBAAiB,SAACb,GAC3Cd,EAAQ,uBAKRc,EAAMU,IAAI,YAAuD,IAAzCV,EAAM1B,IAAI,WAAW2C,SAASC,QACxDlB,EAAMS,OAAO,UAEhB,IAEJ,GACF,G","sources":["webpack://@maicol07/flarum-ext-sso/webpack/bootstrap","webpack://@maicol07/flarum-ext-sso/webpack/runtime/compat get default export","webpack://@maicol07/flarum-ext-sso/webpack/runtime/define property getters","webpack://@maicol07/flarum-ext-sso/webpack/runtime/hasOwnProperty shorthand","webpack://@maicol07/flarum-ext-sso/webpack/runtime/make namespace object","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['common/extend']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/app']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/HeaderSecondary']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/SettingsPage']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@maicol07/flarum-ext-sso/./src/forum/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/LogInModal'];","import { extend, override } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/forum/components/HeaderSecondary';\nimport SettingsPage from 'flarum/forum/components/SettingsPage';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport { NestedStringArray } from '@askvortsov/rich-icu-message-formatter';\n\n/**\n * Returns a setting added by the extension\n *\n * @param {string} slug\n * @returns {any}\n */\nfunction setting(slug: string): any {\n return app.forum.attribute(`maicol07-sso.${slug}`);\n}\n\n/**\n * Returns login and signup props\n */\nfunction getItems(): Record {\n return {\n login: {\n url: setting('login_url'),\n itemName: 'logIn',\n removeItem: setting('remove_login_btn') === '1',\n text: app.translator.trans('core.forum.header.log_in_link'),\n },\n signup: {\n url: setting('signup_url'),\n itemName: 'signUp',\n removeItem: setting('remove_signup_btn') === '1',\n text: app.translator.trans('core.forum.header.sign_up_link'),\n },\n };\n}\n\napp.initializers.add('maicol07-sso', () => {\n window.addEventListener('load', () => {\n if (!setting('provider_mode')) {\n override(LogInModal.prototype, 'oncreate', () => {\n const items = getItems();\n window.location.href = items.login.url;\n throw new Error('Stop execution');\n });\n\n extend(HeaderSecondary.prototype, 'items', (buttons) => {\n const items = getItems();\n for (const [, props] of Object.entries(items)) {\n if (props.url) {\n if (props.removeItem) {\n buttons.remove(props.itemName);\n } else {\n // Remove login button\n if (!buttons.has(props.itemName)) {\n return;\n }\n buttons.setContent(\n props.itemName,\n \n {props.text}\n ,\n );\n }\n }\n }\n });\n\n extend(SettingsPage.prototype, 'accountItems', (items) => {\n if (!setting('login_url')) {\n return; // Do not add account items if no login url is set.\n }\n\n // Remove change email and password buttons\n items.remove('changeEmail');\n items.remove('changePassword');\n\n if (!setting('manage_account_url')) {\n return;\n }\n\n items.add(\n 'manageAccount',\n \n {app.translator.trans('maicol07-sso.forum.manage_account_btn')}\n ,\n );\n });\n\n extend(SettingsPage.prototype, 'settingsItems', (items) => {\n if (setting('manage_account_url')) {\n return; // Manage account link is added above\n }\n\n // Remove account section\n if (items.has('account') && items.get('account').children.length === 0) {\n items.remove('account');\n }\n });\n }\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","setting","slug","app","getItems","login","url","itemName","removeItem","text","signup","window","addEventListener","override","LogInModal","items","location","href","Error","extend","HeaderSecondary","buttons","entries","props","remove","has","setContent","className","SettingsPage","add","class","target","children","length"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,iBCAlD,EAA+BF,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,oC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,iC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,+B,aCaxD,SAASC,EAAQC,GACf,OAAOC,IAAAA,MAAAA,UAAA,gBAAoCD,EAC5C,CAKD,SAASE,IACP,MAAO,CACLC,MAAO,CACLC,IAAKL,EAAQ,aACbM,SAAU,QACVC,WAA4C,MAAhCP,EAAQ,oBACpBQ,KAAMN,IAAAA,WAAAA,MAAqB,kCAE7BO,OAAQ,CACNJ,IAAKL,EAAQ,cACbM,SAAU,SACVC,WAA6C,MAAjCP,EAAQ,qBACpBQ,KAAMN,IAAAA,WAAAA,MAAqB,mCAGhC,CAEDA,IAAAA,aAAAA,IAAqB,gBAAgB,WACnCQ,OAAOC,iBAAiB,QAAQ,WACzBX,EAAQ,oBACXY,EAAAA,EAAAA,UAASC,IAAAA,UAAsB,YAAY,WACzC,IAAMC,EAAQX,IAEd,MADAO,OAAOK,SAASC,KAAOF,EAAMV,MAAMC,IAC7B,IAAIY,MAAM,iBACjB,KAEDC,EAAAA,EAAAA,QAAOC,IAAAA,UAA2B,SAAS,SAACC,GAE1C,IADA,IAAMN,EAAQX,IACd,MAAwBlB,OAAOoC,QAAQP,GAAvC,eAA+C,CAA1C,IAASQ,EAAT,QACH,GAAIA,EAAMjB,IACR,GAAIiB,EAAMf,WACRa,EAAQG,OAAOD,EAAMhB,cAChB,CAEL,IAAKc,EAAQI,IAAIF,EAAMhB,UACrB,OAEFc,EAAQK,WACNH,EAAMhB,SACN,OAAGU,KAAMM,EAAMjB,IAAKqB,UAAU,uBAC3BJ,EAAMd,MAGZ,CAEJ,CACF,KAEDU,EAAAA,EAAAA,QAAOS,IAAAA,UAAwB,gBAAgB,SAACb,GACzCd,EAAQ,eAKbc,EAAMS,OAAO,eACbT,EAAMS,OAAO,kBAERvB,EAAQ,uBAIbc,EAAMc,IACJ,gBACA,OAAGC,MAAM,SAASb,KAAMhB,EAAQ,sBAAuB8B,OAA0D,MAAlD9B,EAAQ,sCAAgD,SAAW,IAC/HE,IAAAA,WAAAA,MAAqB,2CAG3B,KAEDgB,EAAAA,EAAAA,QAAOS,IAAAA,UAAwB,iBAAiB,SAACb,GAC3Cd,EAAQ,uBAKRc,EAAMU,IAAI,YAAuD,IAAzCV,EAAM1B,IAAI,WAAW2C,SAASC,QACxDlB,EAAMS,OAAO,UAEhB,IAEJ,GACF,G","sources":["webpack://@maicol07/flarum-ext-sso/webpack/bootstrap","webpack://@maicol07/flarum-ext-sso/webpack/runtime/compat get default export","webpack://@maicol07/flarum-ext-sso/webpack/runtime/define property getters","webpack://@maicol07/flarum-ext-sso/webpack/runtime/hasOwnProperty shorthand","webpack://@maicol07/flarum-ext-sso/webpack/runtime/make namespace object","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['common/extend']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/app']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/HeaderSecondary']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/SettingsPage']\"","webpack://@maicol07/flarum-ext-sso/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@maicol07/flarum-ext-sso/./src/forum/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/LogInModal'];","import { extend, override } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/forum/components/HeaderSecondary';\nimport SettingsPage from 'flarum/forum/components/SettingsPage';\nimport LogInModal from 'flarum/forum/components/LogInModal';\nimport { NestedStringArray } from '@askvortsov/rich-icu-message-formatter';\n\n/**\n * Returns a setting added by the extension\n *\n * @param {string} slug\n * @returns {any}\n */\nfunction setting(slug: string): any {\n return app.forum.attribute(`maicol07-sso.${slug}`);\n}\n\n/**\n * Returns login and signup props\n */\nfunction getItems(): Record {\n return {\n login: {\n url: setting('login_url'),\n itemName: 'logIn',\n removeItem: setting('remove_login_btn') === '1',\n text: app.translator.trans('core.forum.header.log_in_link'),\n },\n signup: {\n url: setting('signup_url'),\n itemName: 'signUp',\n removeItem: setting('remove_signup_btn') === '1',\n text: app.translator.trans('core.forum.header.sign_up_link'),\n },\n };\n}\n\napp.initializers.add('maicol07-sso', () => {\n window.addEventListener('load', () => {\n if (!setting('provider_mode')) {\n override(LogInModal.prototype, 'oncreate', () => {\n const items = getItems();\n window.location.href = items.login.url;\n throw new Error('Stop execution');\n });\n\n extend(HeaderSecondary.prototype, 'items', (buttons) => {\n const items = getItems();\n for (const [, props] of Object.entries(items)) {\n if (props.url) {\n if (props.removeItem) {\n buttons.remove(props.itemName);\n } else {\n // Remove login button\n if (!buttons.has(props.itemName)) {\n return;\n }\n buttons.setContent(\n props.itemName,\n \n {props.text}\n \n );\n }\n }\n }\n });\n\n extend(SettingsPage.prototype, 'accountItems', (items) => {\n if (!setting('login_url')) {\n return; // Do not add account items if no login url is set.\n }\n\n // Remove change email and password buttons\n items.remove('changeEmail');\n items.remove('changePassword');\n\n if (!setting('manage_account_url')) {\n return;\n }\n\n items.add(\n 'manageAccount',\n \n {app.translator.trans('maicol07-sso.forum.manage_account_btn')}\n \n );\n });\n\n extend(SettingsPage.prototype, 'settingsItems', (items) => {\n if (setting('manage_account_url')) {\n return; // Manage account link is added above\n }\n\n // Remove account section\n if (items.has('account') && items.get('account').children.length === 0) {\n items.remove('account');\n }\n });\n }\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","setting","slug","app","getItems","login","url","itemName","removeItem","text","signup","window","addEventListener","override","LogInModal","items","location","href","Error","extend","HeaderSecondary","buttons","entries","props","remove","has","setContent","className","SettingsPage","add","class","target","children","length"],"sourceRoot":""} \ No newline at end of file