diff --git a/js/dist/forum.js b/js/dist/forum.js index ed5b4ba..25071ea 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,2 @@ -(()=>{var t={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,o(t,e)}t.r(e);const r=flarum.core.compat["forum/components/IndexPage"];var a=t.n(r);const i=flarum.core.compat["common/helpers/icon"];var s=t.n(i);const c=flarum.core.compat["common/components/Page"];var p=t.n(c);const u=flarum.core.compat["common/components/LoadingIndicator"];var l=t.n(u);const d=flarum.core.compat["common/app"];var f=t.n(d);const h=flarum.core.compat["common/Component"];var g=t.n(h);const y=flarum.core.compat["common/components/Link"];var v=t.n(y);const b=flarum.core.compat["common/utils/ItemList"];var P=t.n(b);const w=flarum.core.compat["common/helpers/listItems"];var H=t.n(w),N=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.view=function(){return m("header",{className:"Hero PageHero"},m("div",{className:"container"},m("ul",{className:"PageHero-items"},H()(this.items().toArray()))))},o.items=function(){var t=new(P()),e=this.attrs.page;return t.add("title",m("h2",{className:"PageHero-title"},m(v(),{href:f().route.page(e)},e.title()))),t},e}(g()),O=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),this.page=null,this.loadPage(),this.bodyClass="App--page"},o.view=function(){var t=this.page;return m("div",{className:"Pages"},m("div",{className:"Pages-page"},t?[this.hero(),m("div",{className:"Pages-container container"},m("div",{className:"Post-body"},this.content()))]:l().component({className:"LoadingIndicator--block"})))},o.show=function(t){this.page=t,app.history.push("page",t.title()),app.setTitle(t.title()),m.redraw()},o.hero=function(){return N.component({page:this.page})},o.content=function(){return m.trust(this.page.contentHtml())},o.id=function(){var t=m.route.param("id").split("-")[0];return isNaN(parseInt(t))?m.route.param("id"):t},o.loadPage=function(){var t=this,e=this.id(),o=app.preloadedApiDocument(),n=!Array.isArray(o)&&o||app.store.getById("pages",e);n?this.show(n):Promise.all([app.store.find("pages",e).then((function(e){t.show(e)})),m.redraw()])},e}(p()),_=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),app.history.push("homePage",s()("fas fa-home")),app.drawer.hide(),app.modal.close()},o.show=function(t){this.page=t,app.setTitle(""),m.redraw()},o.hero=function(){return a().prototype.hero()},o.id=function(){return app.data["fof-pages.home"]},e}(O);const I=flarum.core.compat.app;var j=t.n(I);const A=flarum.core.compat["common/Model"];var T=t.n(A);const S=flarum.core.compat["common/utils/computed"];var L=t.n(S);const M=flarum.core.compat["common/utils/string"],C=flarum.core.compat["common/components/Badge"];var D=t.n(C),R=function(t){function e(){for(var e,o=arguments.length,n=new Array(o),r=0;r{var t={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,o(t,e)}t.r(e);const a=flarum.core.compat["forum/components/IndexPage"];var r=t.n(a);const i=flarum.core.compat["common/helpers/icon"];var s=t.n(i);const c=flarum.core.compat["common/components/Page"];var p=t.n(c);const u=flarum.core.compat["common/components/LoadingIndicator"];var l=t.n(u);const d=flarum.core.compat["common/utils/classList"];var f=t.n(d);const h=flarum.core.compat["common/app"];var g=t.n(h);const v=flarum.core.compat["common/Component"];var y=t.n(v);const b=flarum.core.compat["common/components/Link"];var P=t.n(b);const H=flarum.core.compat["common/utils/ItemList"];var w=t.n(H);const N=flarum.core.compat["common/helpers/listItems"];var O=t.n(N),_=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.view=function(){return m("header",{className:"Hero PageHero"},m("div",{className:"container"},m("ul",{className:"PageHero-items"},O()(this.items().toArray()))))},o.items=function(){var t=new(w()),e=this.attrs.page;return t.add("title",m("h1",{className:"PageHero-title"},m(P(),{href:g().route.page(e)},e.title()))),t},e}(y()),I=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),this.page=null,this.loadPage(),this.bodyClass="App--page"},o.view=function(){var t=this.page;return m("div",{className:f()("Pages",t.isHtml()&&"Pages--isHtml"),"data-id":t.id(),"data-slug":t.slug()},m("div",{className:"Pages-page"},t?[this.hero(),m("div",{className:"Pages-container container"},m("div",{className:"Post-body"},this.content()))]:l().component({className:"LoadingIndicator--block"})))},o.show=function(t){this.page=t,app.history.push("page",t.title()),app.setTitle(t.title()),m.redraw()},o.hero=function(){return _.component({page:this.page})},o.content=function(){return m.trust(this.page.contentHtml())},o.id=function(){var t=m.route.param("id").split("-")[0];return isNaN(parseInt(t))?m.route.param("id"):t},o.loadPage=function(){var t=this,e=this.id(),o=app.preloadedApiDocument(),n=!Array.isArray(o)&&o||app.store.getById("pages",e);n?this.show(n):Promise.all([app.store.find("pages",e).then((function(e){t.show(e)})),m.redraw()])},e}(p()),j=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var o=e.prototype;return o.oninit=function(e){t.prototype.oninit.call(this,e),app.history.push("homePage",s()("fas fa-home")),app.drawer.hide(),app.modal.close()},o.show=function(t){this.page=t,app.setTitle(""),m.redraw()},o.hero=function(){return r().prototype.hero()},o.id=function(){return app.data["fof-pages.home"]},e}(I);const A=flarum.core.compat.app;var T=t.n(A);const L=flarum.core.compat["common/Model"];var S=t.n(L);const M=flarum.core.compat["common/utils/computed"];var C=t.n(M);const D=flarum.core.compat["common/utils/string"],R=flarum.core.compat["common/components/Badge"];var k=t.n(R),x=function(t){function e(){for(var e,o=arguments.length,n=new Array(o),a=0;a {\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};","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}","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}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import app from 'flarum/common/app';\nimport Component from 'flarum/common/Component';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport listItems from 'flarum/common/helpers/listItems';\n\n/**\n * The `PageHero` component displays the hero on a page page.\n *\n * ### Props\n *\n * - `page`\n */\nexport default class PageHero extends Component {\n view() {\n return (\n
\n
\n
    {listItems(this.items().toArray())}
\n
\n
\n );\n }\n\n /**\n * Build an item list for the contents of the page hero.\n *\n * @return {ItemList}\n */\n items() {\n const items = new ItemList();\n const page = this.attrs.page;\n\n items.add(\n 'title',\n

\n {page.title()}\n

\n );\n\n return items;\n }\n}\n","import Page from 'flarum/common/components/Page';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\n\nimport PageHero from './PageHero';\n\nexport default class PagePage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n /**\n * The page that is being viewed.\n *\n * @type {fof/pages/models/Page}\n */\n this.page = null;\n\n this.loadPage();\n\n this.bodyClass = 'App--page';\n }\n\n view() {\n const page = this.page;\n\n return (\n
\n
\n {page\n ? [\n this.hero(),\n
\n
{this.content()}
\n
,\n ]\n : LoadingIndicator.component({ className: 'LoadingIndicator--block' })}\n
\n
\n );\n }\n\n /**\n * Initialize page.\n *\n * @param {fof/pages/models/Page} page\n * @protected\n */\n show(page) {\n this.page = page;\n\n app.history.push('page', page.title());\n app.setTitle(page.title());\n\n m.redraw();\n }\n\n /**\n * Get the hero of current page.\n */\n hero() {\n return PageHero.component({ page: this.page });\n }\n\n /**\n * Get the content of page.\n */\n content() {\n return m.trust(this.page.contentHtml());\n }\n\n /**\n * Get current page id from route.\n *\n * @return string\n */\n id() {\n const id = m.route.param('id').split('-')[0];\n if (!isNaN(parseInt(id))) {\n return id;\n } else {\n return m.route.param('id');\n }\n }\n\n /**\n * Load page from the store, or make a request\n * if we don't have it yet. Then initialize the page.\n */\n loadPage() {\n const id = this.id();\n\n const preloaded = app.preloadedApiDocument();\n const page = (!Array.isArray(preloaded) && preloaded) || app.store.getById('pages', id);\n\n if (page) {\n this.show(page);\n } else {\n Promise.all([\n app.store.find('pages', id).then((result) => {\n this.show(result);\n }),\n m.redraw(),\n ]);\n }\n }\n}\n","import IndexPage from 'flarum/forum/components/IndexPage';\nimport icon from 'flarum/common/helpers/icon';\n\nimport PagePage from './PagePage';\n\nexport default class HomePage extends PagePage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('homePage', icon('fas fa-home'));\n app.drawer.hide();\n app.modal.close();\n }\n\n show(page) {\n this.page = page;\n app.setTitle('');\n m.redraw();\n }\n\n hero() {\n return IndexPage.prototype.hero();\n }\n\n id() {\n return app.data['fof-pages.home'];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","import HomePage from './components/HomePage';\nimport PagePage from './components/PagePage';\nimport Page from '../common/models/Page';\n\napp.initializers.add('fof-pages', (app) => {\n app.routes.homePage = { path: '/pages/home', component: HomePage };\n\n app.routes.page = { path: '/p/:id', component: PagePage };\n app.store.models.pages = Page;\n\n /**\n * Generate a URL to a page.\n *\n * @param {../common/models/Page} page\n * @return {String}\n */\n app.route.page = (page) => {\n return app.route('page', {\n id: page.id() + '-' + page.slug(),\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","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","PageHero","view","className","listItems","this","items","toArray","ItemList","page","attrs","add","href","app","title","Component","PagePage","oninit","vnode","loadPage","bodyClass","hero","content","LoadingIndicator","show","history","push","setTitle","m","redraw","component","trust","contentHtml","id","route","param","split","isNaN","parseInt","preloaded","preloadedApiDocument","Array","isArray","store","getById","Promise","all","find","then","result","Page","HomePage","icon","drawer","hide","modal","close","IndexPage","data","Model","time","editTime","contentPlain","computed","getPlainContent","slug","isHidden","isRestricted","isHtml","badges","Badge","type","label","initializers","routes","homePage","path","models","pages"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/pages/webpack/bootstrap","webpack://@fof/pages/webpack/runtime/compat get default export","webpack://@fof/pages/webpack/runtime/define property getters","webpack://@fof/pages/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/pages/webpack/runtime/make namespace object","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/pages/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/pages/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/app']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/pages/./src/forum/components/PageHero.js","webpack://@fof/pages/./src/forum/components/PagePage.js","webpack://@fof/pages/./src/forum/components/HomePage.js","webpack://@fof/pages/external root \"flarum.core.compat['app']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/pages/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@fof/pages/./src/common/models/Page.js","webpack://@fof/pages/./src/forum/index.js"],"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};","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}","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}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","import app from 'flarum/common/app';\nimport Component from 'flarum/common/Component';\nimport Link from 'flarum/common/components/Link';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport listItems from 'flarum/common/helpers/listItems';\n\n/**\n * The `PageHero` component displays the hero on a page page.\n *\n * ### Props\n *\n * - `page`\n */\nexport default class PageHero extends Component {\n view() {\n return (\n
\n
\n
    {listItems(this.items().toArray())}
\n
\n
\n );\n }\n\n /**\n * Build an item list for the contents of the page hero.\n *\n * @return {ItemList}\n */\n items() {\n const items = new ItemList();\n const page = this.attrs.page;\n\n items.add(\n 'title',\n

\n {page.title()}\n

\n );\n\n return items;\n }\n}\n","import Page from 'flarum/common/components/Page';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport classList from 'flarum/common/utils/classList';\n\nimport PageHero from './PageHero';\n\nexport default class PagePage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n /**\n * The page that is being viewed.\n *\n * @type {fof/pages/models/Page}\n */\n this.page = null;\n\n this.loadPage();\n\n this.bodyClass = 'App--page';\n }\n\n view() {\n const page = this.page;\n\n return (\n
\n
\n {page\n ? [\n this.hero(),\n
\n
{this.content()}
\n
,\n ]\n : LoadingIndicator.component({ className: 'LoadingIndicator--block' })}\n
\n
\n );\n }\n\n /**\n * Initialize page.\n *\n * @param {fof/pages/models/Page} page\n * @protected\n */\n show(page) {\n this.page = page;\n\n app.history.push('page', page.title());\n app.setTitle(page.title());\n\n m.redraw();\n }\n\n /**\n * Get the hero of current page.\n */\n hero() {\n return PageHero.component({ page: this.page });\n }\n\n /**\n * Get the content of page.\n */\n content() {\n return m.trust(this.page.contentHtml());\n }\n\n /**\n * Get current page id from route.\n *\n * @return string\n */\n id() {\n const id = m.route.param('id').split('-')[0];\n if (!isNaN(parseInt(id))) {\n return id;\n } else {\n return m.route.param('id');\n }\n }\n\n /**\n * Load page from the store, or make a request\n * if we don't have it yet. Then initialize the page.\n */\n loadPage() {\n const id = this.id();\n\n const preloaded = app.preloadedApiDocument();\n const page = (!Array.isArray(preloaded) && preloaded) || app.store.getById('pages', id);\n\n if (page) {\n this.show(page);\n } else {\n Promise.all([\n app.store.find('pages', id).then((result) => {\n this.show(result);\n }),\n m.redraw(),\n ]);\n }\n }\n}\n","import IndexPage from 'flarum/forum/components/IndexPage';\nimport icon from 'flarum/common/helpers/icon';\n\nimport PagePage from './PagePage';\n\nexport default class HomePage extends PagePage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('homePage', icon('fas fa-home'));\n app.drawer.hide();\n app.modal.close();\n }\n\n show(page) {\n this.page = page;\n app.setTitle('');\n m.redraw();\n }\n\n hero() {\n return IndexPage.prototype.hero();\n }\n\n id() {\n return app.data['fof-pages.home'];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","import app from 'flarum/app';\nimport Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport { getPlainContent } from 'flarum/common/utils/string';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default class Page extends Model {\n title = Model.attribute('title');\n time = Model.attribute('time', Model.transformDate);\n editTime = Model.attribute('editTime', Model.transformDate);\n content = Model.attribute('content');\n contentHtml = Model.attribute('contentHtml');\n contentPlain = computed('contentHtml', getPlainContent);\n slug = Model.attribute('slug');\n isHidden = Model.attribute('isHidden');\n isRestricted = Model.attribute('isRestricted');\n isHtml = Model.attribute('isHtml');\n\n badges() {\n const items = new ItemList();\n\n if (this.isHidden()) {\n items.add(\n 'hidden',\n Badge.component({\n type: 'hidden',\n icon: 'fas fa-trash',\n label: app.translator.trans('fof-pages.admin.badges.hidden'),\n })\n );\n }\n\n if (this.isRestricted()) {\n items.add(\n 'restricted',\n Badge.component({\n type: 'restricted',\n icon: 'fas fa-user-shield',\n label: app.translator.trans('fof-pages.admin.badges.restricted'),\n })\n );\n }\n\n return items;\n }\n}\n","import HomePage from './components/HomePage';\nimport PagePage from './components/PagePage';\nimport Page from '../common/models/Page';\n\napp.initializers.add('fof-pages', (app) => {\n app.routes.homePage = { path: '/pages/home', component: HomePage };\n\n app.routes.page = { path: '/p/:id', component: PagePage };\n app.store.models.pages = Page;\n\n /**\n * Generate a URL to a page.\n *\n * @param {../common/models/Page} page\n * @return {String}\n */\n app.route.page = (page) => {\n return app.route('page', {\n id: page.id() + '-' + page.slug(),\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","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","flarum","core","compat","PageHero","view","className","listItems","this","items","toArray","ItemList","page","attrs","add","href","app","title","Component","PagePage","oninit","vnode","loadPage","bodyClass","classList","isHtml","id","slug","hero","content","LoadingIndicator","show","history","push","setTitle","m","redraw","component","trust","contentHtml","route","param","split","isNaN","parseInt","preloaded","preloadedApiDocument","Array","isArray","store","getById","Promise","all","find","then","result","Page","HomePage","icon","drawer","hide","modal","close","IndexPage","data","Model","time","editTime","contentPlain","computed","getPlainContent","isHidden","isRestricted","badges","Badge","type","label","initializers","routes","homePage","path","models","pages"],"sourceRoot":""} \ No newline at end of file