mirror of
https://github.com/flarum/framework.git
synced 2025-01-13 07:09:21 +08:00
1 line
34 KiB
Plaintext
1 line
34 KiB
Plaintext
{"version":3,"sources":["webpack://@flarum/flags/webpack/bootstrap","webpack://@flarum/flags/external \"flarum.core.compat['app']\"","webpack://@flarum/flags/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@flarum/flags/external \"flarum.core.compat['extend']\"","webpack://@flarum/flags/external \"flarum.core.compat['Model']\"","webpack://@flarum/flags/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/flags/external \"flarum.core.compat['components/Button']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/Post']\"","webpack://@flarum/flags/external \"flarum.core\"","webpack://@flarum/flags/external \"flarum.core.compat['utils/PostControls']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/Page']\"","webpack://@flarum/flags/external \"flarum.core.compat['Component']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/LoadingIndicator']\"","webpack://@flarum/flags/external \"flarum.core.compat['helpers/avatar']\"","webpack://@flarum/flags/external \"flarum.core.compat['helpers/username']\"","webpack://@flarum/flags/external \"flarum.core.compat['helpers/icon']\"","webpack://@flarum/flags/external \"flarum.core.compat['helpers/humanTime']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/Modal']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/HeaderSecondary']\"","webpack://@flarum/flags/external \"flarum.core.compat['components/NotificationsDropdown']\"","webpack://@flarum/flags/external \"flarum.core.compat['utils/ItemList']\"","webpack://@flarum/flags/external \"flarum.core.compat['utils/humanTime']\"","webpack://@flarum/flags/./src/forum/models/Flag.js","webpack://@flarum/flags/./src/forum/components/FlagList.js","webpack://@flarum/flags/./src/forum/components/FlagsPage.js","webpack://@flarum/flags/./src/forum/components/FlagPostModal.js","webpack://@flarum/flags/./src/forum/addFlagControl.js","webpack://@flarum/flags/./src/forum/components/FlagsDropdown.js","webpack://@flarum/flags/./src/forum/addFlagsDropdown.js","webpack://@flarum/flags/./src/forum/addFlagsToPosts.js","webpack://@flarum/flags/./src/forum/compat.js","webpack://@flarum/flags/./src/forum/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","_inheritsLoose","subClass","superClass","constructor","__proto__","__webpack_exports__","_extends","assign","target","arguments","length","source","apply","this","Flag","Model","esm_extends","type","attribute","reason","reasonDetail","createdAt","transformDate","post","hasOne","user","FlagList","init","loading","view","flags","app","cache","className","translator","trans","map","flag","href","route","config","element","isInitialized","$","on","flagIndex","avatar","icon","username","em","discussion","title","humanTime","contentPlain","LoadingIndicator","component","load","_this","session","redraw","store","find","then","pushAttributes","newFlagCount","sort","a","b","catch","Component","FlagsPage","_Page","history","push","list","bodyClass","render","Page","FlagPostModal","_Modal","success","prop","content","Button_default","onclick","hide","guidelinesUrl","forum","checked","withAttr","placeholder","oninput","undefined","disabled","onsubmit","e","preventDefault","createRecord","save","relationships","props","errorHandler","onerror","loaded","error","status","alert","children","Modal","addFlagControl","extend","PostControls","items","isHidden","contentType","canFlag","add","modal","show","FlagsDropdown","initProps","label","_NotificationsDropdow","goToRoute","getUnreadCount","getNewCount","NotificationsDropdown","addFlagsDropdown","HeaderSecondary","FlagsDropdown_FlagsDropdown","addFlagsToPosts","Post","attrs","dismissFlag","data","subtree","invalidate","some","splice","next","nextPost","request","url","apiEndpoint","method","flagActionItems","ItemList","controls","destructiveControls","keys","forEach","k","toArray","vdom","_this2","revealContent","unshift","flagReason","detail","time","flags/addFlagsToPosts","flags/addFlagControl","flags/addFlagsDropdown","flags/models/Flag","flags/components/FlagList","flags/components/FlagPostModal","flags/components/FlagsPage","flags/components/FlagsDropdown","initializers","models","posts","hasMany","routes","path","FlagsPage_FlagsPage","flagsCompat"],"mappings":"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","file":"forum.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","module.exports = flarum.core.compat['app'];","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['Model'];","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","module.exports = flarum.core.compat['components/Button'];","module.exports = flarum.core.compat['components/Post'];","module.exports = flarum.core;","module.exports = flarum.core.compat['utils/PostControls'];","module.exports = flarum.core.compat['components/Page'];","module.exports = flarum.core.compat['Component'];","module.exports = flarum.core.compat['components/LoadingIndicator'];","module.exports = flarum.core.compat['helpers/avatar'];","module.exports = flarum.core.compat['helpers/username'];","module.exports = flarum.core.compat['helpers/icon'];","module.exports = flarum.core.compat['helpers/humanTime'];","module.exports = flarum.core.compat['components/Modal'];","module.exports = flarum.core.compat['components/HeaderSecondary'];","module.exports = flarum.core.compat['components/NotificationsDropdown'];","module.exports = flarum.core.compat['utils/ItemList'];","module.exports = flarum.core.compat['utils/humanTime'];","import Model from 'flarum/Model';\n\nclass Flag extends Model {}\n\nObject.assign(Flag.prototype, {\n type: Model.attribute('type'),\n reason: Model.attribute('reason'),\n reasonDetail: Model.attribute('reasonDetail'),\n createdAt: Model.attribute('createdAt', Model.transformDate),\n\n post: Model.hasOne('post'),\n user: Model.hasOne('user')\n});\n\nexport default Flag;\n","import Component from 'flarum/Component';\nimport LoadingIndicator from 'flarum/components/LoadingIndicator';\nimport avatar from 'flarum/helpers/avatar';\nimport username from 'flarum/helpers/username';\nimport icon from 'flarum/helpers/icon';\nimport humanTime from 'flarum/helpers/humanTime';\n\nexport default class FlagList extends Component {\n init() {\n /**\n * Whether or not the notifications are loading.\n *\n * @type {Boolean}\n */\n this.loading = false;\n }\n\n view() {\n const flags = app.cache.flags || [];\n\n return (\n <div className=\"NotificationList FlagList\">\n <div className=\"NotificationList-header\">\n <h4 className=\"App-titleControl App-titleControl--text\">{app.translator.trans('flarum-flags.forum.flagged_posts.title')}</h4>\n </div>\n <div className=\"NotificationList-content\">\n <ul className=\"NotificationGroup-content\">\n {flags.length\n ? flags.map(flag => {\n const post = flag.post();\n\n return (\n <li>\n <a href={app.route.post(post)} className=\"Notification Flag\" config={function(element, isInitialized) {\n m.route.apply(this, arguments);\n\n if (!isInitialized) $(element).on('click', () => app.cache.flagIndex = post);\n }}>\n {avatar(post.user())}\n {icon('fas fa-flag', {className: 'Notification-icon'})}\n <span className=\"Notification-content\">\n {app.translator.trans('flarum-flags.forum.flagged_posts.item_text', {username: username(post.user()), em: <em/>, discussion: post.discussion().title()})}\n </span>\n {humanTime(flag.createdAt())}\n <div className=\"Notification-excerpt\">\n {post.contentPlain()}\n </div>\n </a>\n </li>\n );\n })\n : !this.loading\n ? <div className=\"NotificationList-empty\">{app.translator.trans('flarum-flags.forum.flagged_posts.empty_text')}</div>\n : LoadingIndicator.component({className: 'LoadingIndicator--block'})}\n </ul>\n </div>\n </div>\n );\n }\n\n /**\n * Load flags into the application's cache if they haven't already\n * been loaded.\n */\n load() {\n if (app.cache.flags && !app.session.user.attribute('newFlagCount')) {\n return;\n }\n\n this.loading = true;\n m.redraw();\n\n app.store.find('flags')\n .then(flags => {\n app.session.user.pushAttributes({newFlagCount: 0});\n app.cache.flags = flags.sort((a, b) => b.createdAt() - a.createdAt());\n })\n .catch(() => {})\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n}\n","import Page from 'flarum/components/Page';\n\nimport FlagList from './FlagList';\n\n/**\n * The `FlagsPage` component shows the flags list. It is only\n * used on mobile devices where the flags dropdown is within the drawer.\n */\nexport default class FlagsPage extends Page {\n init() {\n super.init();\n\n app.history.push('flags');\n\n this.list = new FlagList();\n this.list.load();\n\n this.bodyClass = 'App--flags';\n }\n\n view() {\n return <div className=\"FlagsPage\">{this.list.render()}</div>;\n }\n}\n","import Modal from 'flarum/components/Modal';\nimport Button from 'flarum/components/Button';\n\nexport default class FlagPostModal extends Modal {\n init() {\n super.init();\n\n this.success = false;\n\n this.reason = m.prop('');\n this.reasonDetail = m.prop('');\n }\n\n className() {\n return 'FlagPostModal Modal--medium';\n }\n\n title() {\n return app.translator.trans('flarum-flags.forum.flag_post.title');\n }\n\n content() {\n if (this.success) {\n return (\n <div className=\"Modal-body\">\n <div className=\"Form Form--centered\">\n <p className=\"helpText\">{app.translator.trans('flarum-flags.forum.flag_post.confirmation_message')}</p>\n <div className=\"Form-group\">\n <Button className=\"Button Button--primary Button--block\" onclick={this.hide.bind(this)}>\n {app.translator.trans('flarum-flags.forum.flag_post.dismiss_button')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n const guidelinesUrl = app.forum.attribute('guidelinesUrl');\n\n return (\n <div className=\"Modal-body\">\n <div className=\"Form Form--centered\">\n <div className=\"Form-group\">\n <div>\n <label className=\"checkbox\">\n <input type=\"radio\" name=\"reason\" checked={this.reason() === 'off_topic'} value=\"off_topic\" onclick={m.withAttr('value', this.reason)}/>\n <strong>{app.translator.trans('flarum-flags.forum.flag_post.reason_off_topic_label')}</strong>\n {app.translator.trans('flarum-flags.forum.flag_post.reason_off_topic_text')}\n {this.reason() === 'off_topic' ? (\n <textarea className=\"FormControl\" placeholder={app.translator.trans('flarum-flags.forum.flag_post.optional_details')} value={this.reasonDetail()} oninput={m.withAttr('value', this.reasonDetail)}></textarea>\n ) : ''}\n </label>\n\n <label className=\"checkbox\">\n <input type=\"radio\" name=\"reason\" checked={this.reason() === 'inappropriate'} value=\"inappropriate\" onclick={m.withAttr('value', this.reason)}/>\n <strong>{app.translator.trans('flarum-flags.forum.flag_post.reason_inappropriate_label')}</strong>\n {app.translator.trans('flarum-flags.forum.flag_post.reason_inappropriate_text', {\n a: guidelinesUrl ? <a href={guidelinesUrl} target=\"_blank\"/> : undefined\n })}\n {this.reason() === 'inappropriate' ? (\n <textarea className=\"FormControl\" placeholder={app.translator.trans('flarum-flags.forum.flag_post.optional_details')} value={this.reasonDetail()} oninput={m.withAttr('value', this.reasonDetail)}></textarea>\n ) : ''}\n </label>\n\n <label className=\"checkbox\">\n <input type=\"radio\" name=\"reason\" checked={this.reason() === 'spam'} value=\"spam\" onclick={m.withAttr('value', this.reason)}/>\n <strong>{app.translator.trans('flarum-flags.forum.flag_post.reason_spam_label')}</strong>\n {app.translator.trans('flarum-flags.forum.flag_post.reason_spam_text')}\n {this.reason() === 'spam' ? (\n <textarea className=\"FormControl\" placeholder={app.translator.trans('flarum-flags.forum.flag_post.optional_details')} value={this.reasonDetail()} oninput={m.withAttr('value', this.reasonDetail)}></textarea>\n ) : ''}\n </label>\n\n <label className=\"checkbox\">\n <input type=\"radio\" name=\"reason\" checked={this.reason() === 'other'} value=\"other\" onclick={m.withAttr('value', this.reason)}/>\n <strong>{app.translator.trans('flarum-flags.forum.flag_post.reason_other_label')}</strong>\n {this.reason() === 'other' ? (\n <textarea className=\"FormControl\" value={this.reasonDetail()} oninput={m.withAttr('value', this.reasonDetail)}></textarea>\n ) : ''}\n </label>\n </div>\n </div>\n\n <div className=\"Form-group\">\n <Button\n className=\"Button Button--primary Button--block\"\n type=\"submit\"\n loading={this.loading}\n disabled={!this.reason()}>\n {app.translator.trans('flarum-flags.forum.flag_post.submit_button')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n app.store.createRecord('flags').save({\n reason: this.reason() === 'other' ? null : this.reason(),\n reasonDetail: this.reasonDetail(),\n relationships: {\n user: app.session.user,\n post: this.props.post\n }\n }, {errorHandler: this.onerror.bind(this)})\n .then(() => this.success = true)\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n\n onerror(error) {\n if (error.status === 422) {\n error.alert.props.children = app.translator.trans('flarum-flags.forum.flag_post.reason-needed');\n }\n\n super.onerror(error);\n }\n}\n","import { extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport PostControls from 'flarum/utils/PostControls';\nimport Button from 'flarum/components/Button';\n\nimport FlagPostModal from './components/FlagPostModal';\n\nexport default function() {\n extend(PostControls, 'userControls', function(items, post) {\n if (post.isHidden() || post.contentType() !== 'comment' || !post.canFlag()) return;\n\n items.add('flag',\n <Button icon=\"fas fa-flag\" onclick={() => app.modal.show(new FlagPostModal({post}))}>{app.translator.trans('flarum-flags.forum.post_controls.flag_button')}</Button>\n );\n });\n}\n","import NotificationsDropdown from 'flarum/components/NotificationsDropdown';\n\nimport FlagList from './FlagList';\n\nexport default class FlagsDropdown extends NotificationsDropdown {\n static initProps(props) {\n props.label = props.label || app.translator.trans('flarum-flags.forum.flagged_posts.tooltip');\n props.icon = props.icon || 'fas fa-flag';\n\n super.initProps(props);\n }\n\n init() {\n super.init();\n\n this.list = new FlagList();\n }\n\n goToRoute() {\n m.route(app.route('flags'));\n }\n\n getUnreadCount() {\n return app.cache.flags ? app.cache.flags.length : app.forum.attribute('flagCount');\n }\n\n getNewCount() {\n return app.session.user.attribute('newFlagCount');\n }\n}\n","import { extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport HeaderSecondary from 'flarum/components/HeaderSecondary';\nimport FlagsDropdown from './components/FlagsDropdown';\n\nexport default function() {\n extend(HeaderSecondary.prototype, 'items', function(items) {\n if (app.forum.attribute('canViewFlags')) {\n items.add('flags', <FlagsDropdown/>, 15);\n }\n });\n}\n","import { extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport Post from 'flarum/components/Post';\nimport Button from 'flarum/components/Button';\nimport ItemList from 'flarum/utils/ItemList';\nimport PostControls from 'flarum/utils/PostControls';\nimport humanTime from 'flarum/utils/humanTime';\n\nexport default function() {\n extend(Post.prototype, 'attrs', function(attrs) {\n if (this.props.post.flags().length) {\n attrs.className += ' Post--flagged';\n }\n });\n\n Post.prototype.dismissFlag = function(data) {\n const post = this.props.post;\n\n delete post.data.relationships.flags;\n\n this.subtree.invalidate();\n\n if (app.cache.flags) {\n app.cache.flags.some((flag, i) => {\n if (flag.post() === post) {\n app.cache.flags.splice(i, 1);\n\n if (app.cache.flagIndex === post) {\n let next = app.cache.flags[i];\n\n if (!next) next = app.cache.flags[0];\n\n if (next) {\n const nextPost = next.post();\n app.cache.flagIndex = nextPost;\n m.route(app.route.post(nextPost));\n }\n }\n\n return true;\n }\n });\n }\n\n return app.request({\n url: app.forum.attribute('apiUrl') + post.apiEndpoint() + '/flags',\n method: 'DELETE',\n data\n });\n };\n\n Post.prototype.flagActionItems = function() {\n const items = new ItemList();\n\n const controls = PostControls.destructiveControls(this.props.post);\n\n Object.keys(controls.items).forEach(k => {\n const props = controls.get(k).props;\n\n props.className = 'Button';\n\n extend(props, 'onclick', () => this.dismissFlag());\n });\n\n items.add('controls', (\n <div className=\"ButtonGroup\">\n {controls.toArray()}\n </div>\n ));\n\n items.add('dismiss', (\n <Button className=\"Button\" icon=\"far fa-eye-slash\" onclick={this.dismissFlag.bind(this)}>\n {app.translator.trans('flarum-flags.forum.post.dismiss_flag_button')}\n </Button>\n ), -100);\n\n return items;\n };\n\n extend(Post.prototype, 'content', function(vdom) {\n const post = this.props.post;\n const flags = post.flags();\n\n if (!flags.length) return;\n\n if (post.isHidden()) this.revealContent = true;\n\n vdom.unshift(\n <div className=\"Post-flagged\">\n <div className=\"Post-flagged-flags\">\n {flags.map(flag =>\n <div className=\"Post-flagged-flag\">\n {this.flagReason(flag)}\n </div>\n )}\n </div>\n <div className=\"Post-flagged-actions\">\n {this.flagActionItems().toArray()}\n </div>\n </div>\n );\n });\n\n Post.prototype.flagReason = function(flag) {\n if (flag.type() === 'user') {\n const user = flag.user();\n const reason = flag.reason();\n const detail = flag.reasonDetail();\n const time = humanTime(flag.createdAt());\n\n return [\n app.translator.trans(reason ? 'flarum-flags.forum.post.flagged_by_with_reason_text' : 'flarum-flags.forum.post.flagged_by_text', {time, user, reason}),\n detail ? <span className=\"Post-flagged-detail\">{detail}</span> : ''\n ];\n }\n };\n}\n","import addFlagsToPosts from './addFlagsToPosts';\nimport addFlagControl from './addFlagControl';\nimport addFlagsDropdown from './addFlagsDropdown';\nimport Flag from './models/Flag';\nimport FlagList from './components/FlagList';\nimport FlagPostModal from './components/FlagPostModal';\nimport FlagsPage from './components/FlagsPage';\nimport FlagsDropdown from './components/FlagsDropdown';\n\nexport default {\n 'flags/addFlagsToPosts': addFlagsToPosts,\n 'flags/addFlagControl': addFlagControl,\n 'flags/addFlagsDropdown': addFlagsDropdown,\n 'flags/models/Flag': Flag,\n 'flags/components/FlagList': FlagList,\n 'flags/components/FlagPostModal': FlagPostModal,\n 'flags/components/FlagsPage': FlagsPage,\n 'flags/components/FlagsDropdown': FlagsDropdown,\n};\n","import app from 'flarum/app';\nimport Model from 'flarum/Model';\n\nimport Flag from './models/Flag';\nimport FlagsPage from './components/FlagsPage';\nimport addFlagControl from './addFlagControl';\nimport addFlagsDropdown from './addFlagsDropdown';\nimport addFlagsToPosts from './addFlagsToPosts';\n\napp.initializers.add('flarum-flags', () => {\n app.store.models.posts.prototype.flags = Model.hasMany('flags');\n app.store.models.posts.prototype.canFlag = Model.attribute('canFlag');\n\n app.store.models.flags = Flag;\n\n app.routes.flags = {path: '/flags', component: <FlagsPage/>};\n\n addFlagControl();\n addFlagsDropdown();\n addFlagsToPosts();\n});\n\n// Expose compat API\nimport flagsCompat from './compat';\nimport { compat } from '@flarum/core/forum';\n\nObject.assign(compat, flagsCompat);\n"],"sourceRoot":""} |