Rafał Pitoń 8 лет назад
Родитель
Сommit
ecce5e816f

+ 3 - 2
frontend/src/components/posts-list/event/index.js

@@ -3,6 +3,7 @@ import React from 'react';
 import Icon from './icon';
 import Info from './info';
 import Message from './message';
+import Waypoint from '../waypoint';
 
 export default function(props) {
   let className = 'event';
@@ -17,10 +18,10 @@ export default function(props) {
       <div className="post-border">
 
         <Icon {...props} />
-        <div className="post-body">
+        <Waypoint className="post-body" post={props.post}>
           <Message {...props} />
           <Info {...props} />
-        </div>
+        </Waypoint>
 
       </div>
     </li>

+ 1 - 1
frontend/src/components/posts-list/post/body.js

@@ -1,6 +1,6 @@
 /* jshint ignore:start */
 import React from 'react';
-import Waypoint from './waypoint';
+import Waypoint from '../waypoint';
 import MisagoMarkup from 'misago/components/misago-markup';
 import escapeHtml from 'misago/utils/escape-html';
 

+ 0 - 0
frontend/src/components/posts-list/post/waypoint.js → frontend/src/components/posts-list/waypoint.js


+ 3 - 3
misago/static/misago/js/misago.js

@@ -2,9 +2,9 @@
 return u["default"].createElement("div",{className:"avatars-gallery"},u["default"].createElement("h3",null,this.props.name),u["default"].createElement("div",{className:"avatars-gallery-images"},(0,g["default"])(this.props.images,4,null).map(function(t,a){return u["default"].createElement("div",{className:"row",key:a},t.map(function(t,a){return u["default"].createElement("div",{className:"col-xs-3",key:a},t?u["default"].createElement(_,{image:t,disabled:e.props.disabled,select:e.props.select,selection:e.props.selection}):u["default"].createElement("div",{className:"blank-avatar"}))}))})))}}]),t}(u["default"].Component),w=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.select=function(e){a.setState({selection:e})},a.save=function(){return a.state.isLoading?!1:(a.setState({isLoading:!0}),void m["default"].post(a.props.user.api_url.avatar,{avatar:"galleries",image:a.state.selection}).then(function(e){a.setState({isLoading:!1}),y["default"].success(e.detail),a.props.onComplete(e.avatar_hash,e.options)},function(e){400===e.status?(y["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))},a.state={selection:null,isLoading:!1},a}return s(t,e),l(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("div",null,u["default"].createElement("div",{className:"modal-body modal-avatar-gallery"},this.props.options.galleries.map(function(t,a){return u["default"].createElement(E,{name:t.name,images:t.images,selection:e.state.selection,disabled:e.state.isLoading,select:e.select,key:a})})),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(d["default"],{onClick:this.save,loading:this.state.isLoading,disabled:!this.state.selection,className:"btn-primary btn-block"},this.state.selection?gettext("Save choice"):gettext("Select avatar")),u["default"].createElement(d["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel"))))))}}]),t}(u["default"].Component);a["default"]=w},{"../../index":170,"../../services/ajax":221,"../../services/snackbar":231,"../../utils/batch":235,"../button":4,react:"react"}],15:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=e("../button"),p=n(f),h=e("../loader"),m=n(h),b=e("../../services/ajax"),y=n(b),v=e("../../services/snackbar"),g=n(v),_=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.setGravatar=function(){a.callApi("gravatar")},a.setGenerated=function(){a.callApi("generated")},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"callApi",value:function(e){var t=this;return this.state.isLoading?!1:(this.setState({isLoading:!0}),void y["default"].post(this.props.user.api_url.avatar,{avatar:e}).then(function(e){t.setState({isLoading:!1}),g["default"].success(e.detail),t.props.onComplete(e.avatar_hash,e.options)},function(e){400===e.status?(g["default"].error(e.detail),t.setState({isLoading:!1})):t.props.showError(e)}))}},{key:"getGravatarButton",value:function(){return this.props.options.gravatar?u["default"].createElement(p["default"],{onClick:this.setGravatar,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gravatar"},gettext("Download my Gravatar")):null}},{key:"getCropButton",value:function(){return this.props.options.crop_org?u["default"].createElement(p["default"],{onClick:this.props.showCrop,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-crop"},gettext("Re-crop uploaded image")):null}},{key:"getUploadButton",value:function(){return this.props.options.upload?u["default"].createElement(p["default"],{onClick:this.props.showUpload,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-upload"},gettext("Upload new image")):null}},{key:"getGalleryButton",value:function(){return this.props.options.galleries?u["default"].createElement(p["default"],{onClick:this.props.showGallery,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-gallery"},gettext("Pick avatar from gallery")):null}},{key:"getAvatarPreview",value:function(){var e={id:this.props.user.id,avatar_hash:this.props.options.avatar_hash};return this.state.isLoading?u["default"].createElement("div",{className:"avatar-preview preview-loading"},u["default"].createElement(d["default"],{user:e,size:"200"}),u["default"].createElement(m["default"],null)):u["default"].createElement("div",{className:"avatar-preview"},u["default"].createElement(d["default"],{user:e,size:"200"}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-index"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-5"},this.getAvatarPreview()),u["default"].createElement("div",{className:"col-md-7"},this.getGravatarButton(),u["default"].createElement(p["default"],{onClick:this.setGenerated,disabled:this.state.isLoading,className:"btn-default btn-block btn-avatar-generate"},gettext("Generate my individual avatar")),this.getCropButton(),this.getUploadButton(),this.getGalleryButton())))}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":221,"../../services/snackbar":231,"../avatar":2,"../button":4,"../loader":24,react:"react"}],16:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.ChangeAvatarError=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=l;var u=e("react"),c=n(u),d=e("./index"),f=n(d),p=e("./crop"),h=n(p),m=e("./upload"),b=n(m),y=e("./gallery"),v=n(y),g=e("../modal-loader"),_=n(g),E=e("../../reducers/users"),w=e("../../services/ajax"),O=n(w),k=e("../../services/store"),N=n(k),x=a.ChangeAvatarError=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getErrorReason",value:function(){return this.props.reason?c["default"].createElement("p",{dangerouslySetInnerHTML:{__html:this.props.reason}}):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"remove_circle_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.props.message),this.getErrorReason()))}}]),t}(c["default"].Component),j=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showError=function(e){n.setState({error:e})},n.showIndex=function(){n.setState({component:f["default"]})},n.showUpload=function(){n.setState({component:b["default"]})},n.showCrop=function(){n.setState({component:h["default"]})},n.showGallery=function(){n.setState({component:v["default"]})},n.completeFlow=function(e,t){N["default"].dispatch((0,E.updateAvatar)(n.props.user,e)),n.setState({component:f["default"],options:t})},s=a,o(n,s)}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;O["default"].get(this.props.user.api_url.avatar).then(function(t){e.setState({component:f["default"],options:t,error:null})},function(t){e.showError(t)})}},{key:"getBody",value:function(){return this.state?this.state.error?c["default"].createElement(x,{message:this.state.error.detail,reason:this.state.error.reason}):c["default"].createElement(this.state.component,{options:this.state.options,user:this.props.user,onComplete:this.completeFlow,showError:this.showError,showIndex:this.showIndex,showCrop:this.showCrop,showUpload:this.showUpload,showGallery:this.showGallery}):c["default"].createElement(_["default"],null)}},{key:"getClassName",value:function(){return this.state&&this.state.error?"modal-dialog modal-message modal-change-avatar":"modal-dialog modal-change-avatar"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change your avatar"))),this.getBody()))}}]),t}(c["default"].Component);a["default"]=j},{"../../reducers/users":220,"../../services/ajax":221,"../../services/store":232,"../modal-loader":26,"./crop":13,"./gallery":14,"./index":15,"./upload":17,react:"react"}],17:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./crop"),d=n(c),f=e("../button"),p=n(f),h=e("../../services/ajax"),m=n(h),b=e("../../services/snackbar"),y=n(b),v=e("../../utils/file-size"),g=n(v),_=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.pickFile=function(){document.getElementById("avatar-hidden-upload").click()},a.uploadFile=function(){var e=document.getElementById("avatar-hidden-upload").files[0],t=a.validateFile(e);if(t)return void y["default"].error(t);a.setState({image:e,preview:URL.createObjectURL(e),progress:0});var n=new FormData;n.append("avatar","upload"),n.append("image",e),m["default"].upload(a.props.user.api_url.avatar,n,function(e){a.setState({progress:e})}).then(function(e){a.setState({options:e.options,uploaded:e.detail}),y["default"].info(gettext("Your image has been uploaded and you may now crop it."))},function(e){400===e.status?(y["default"].error(e.detail),a.setState({isLoading:!1,image:null,progress:0})):a.props.showError(e)})},a.state={image:null,preview:null,progress:0,uploaded:null},a}return s(t,e),l(t,[{key:"validateFile",value:function(e){if(e.size>this.props.options.upload.limit)return interpolate(gettext("Selected file is too big. (%(filesize)s)"),{filesize:(0,g["default"])(e.size)},!0);var t=gettext("Selected file type is not supported.");if(-1===this.props.options.upload.allowed_mime_types.indexOf(e.type))return t;var a=!1,n=e.name.toLowerCase();return this.props.options.upload.allowed_extensions.map(function(e){n.substr(-1*e.length)===e&&(a=!0)}),a?!1:t}},{key:"getUploadRequirements",value:function(e){var t=e.allowed_extensions.map(function(e){return e.substr(1)});return interpolate(gettext("%(files)s files smaller than %(limit)s"),{files:t.join(", "),limit:(0,g["default"])(e.limit)},!0)}},{key:"getUploadButton",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement(p["default"],{className:"btn-pick-file",onClick:this.pickFile},u["default"].createElement("div",{className:"material-icon"},"input"),gettext("Select file")),u["default"].createElement("p",{className:"text-muted"},this.getUploadRequirements(this.props.options.upload)))}},{key:"getUploadProgressLabel",value:function(){return interpolate(gettext("%(progress)s % complete"),{progress:this.state.progress},!0)}},{key:"getUploadProgress",value:function(){return u["default"].createElement("div",{className:"modal-body modal-avatar-upload"},u["default"].createElement("div",{className:"upload-progress"},u["default"].createElement("img",{src:this.state.preview}),u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar",role:"progressbar","aria-valuenow":"{this.state.progress}","aria-valuemin":"0","aria-valuemax":"100",style:{width:this.state.progress+"%"}},u["default"].createElement("span",{className:"sr-only"},this.getUploadProgressLabel())))))}},{key:"renderUpload",value:function(){return u["default"].createElement("div",null,u["default"].createElement("input",{type:"file",id:"avatar-hidden-upload",className:"hidden-file-upload",onChange:this.uploadFile}),this.state.image?this.getUploadProgress():this.getUploadButton(),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(p["default"],{onClick:this.props.showIndex,disabled:!!this.state.image,className:"btn-default btn-block"},gettext("Cancel")))))}},{key:"renderCrop",value:function(){return u["default"].createElement(d["default"],{options:this.state.options,user:this.props.user,upload:this.state.uploaded,onComplete:this.props.onComplete,showError:this.props.showError,showIndex:this.props.showIndex})}},{key:"render",value:function(){return this.state.uploaded?this.renderCrop():this.renderUpload()}}]),t}(u["default"].Component);a["default"]=_},{"../../services/ajax":221,"../../services/snackbar":231,"../../utils/file-size":239,"../button":4,"./crop":13,react:"react"}],18:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.dropdown?"btn btn-default btn-aligned btn-icon btn-dropdown-toggle open hidden-md hidden-lg":"btn btn-default btn-aligned btn-icon btn-dropdown-toggle hidden-md hidden-lg"}},{key:"render",value:function(){return u["default"].createElement("button",{className:this.getClassName(),type:"button",onClick:this.props.toggleNav,"aria-haspopup":"true","aria-expanded":this.props.dropdown?"true":"false"},u["default"].createElement("i",{className:"material-icon"},"menu"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],19:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return e.canProtect?c["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",disabled:e.disabled,onClick:e.protect?e.onUnprotect:e.onProtect,title:e.protect?gettext("Protected"):gettext("Protect"),type:"button"},c["default"].createElement("span",{className:"material-icon"},e.protect?"lock":"lock_outline")):null}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Protect=l;var u=e("react"),c=n(u),d=e("./markup-preview"),f=n(d),p=e("../button"),h=n(p),m=e("../.."),b=n(m),y=e("../../services/ajax"),v=n(y),g=e("../../services/modal"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.onPreviewClick=function(){a.state.isPreviewLoading||(a.setState({isPreviewLoading:!0}),v["default"].post(b["default"].get("PARSE_MARKUP_API"),{post:a.props.value}).then(function(e){_["default"].show(c["default"].createElement(f["default"],{markup:e.parsed})),a.setState({isPreviewLoading:!1})},function(e){400===e.status?w["default"].error(e.detail):w["default"].apiError(e),a.setState({isPreviewLoading:!1})}))},a.state={isPreviewLoading:!1},a}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"editor-border"},c["default"].createElement("textarea",{className:"form-control",disabled:this.props.loading,onChange:this.props.onChange,rows:"7",value:this.props.value}),c["default"].createElement("div",{className:"editor-footer"},c["default"].createElement(h["default"],{className:"btn-default btn-sm pull-left",disabled:this.props.loading||this.state.isPreviewLoading,onClick:this.onPreviewClick,type:"button"},gettext("Preview")),c["default"].createElement(h["default"],{className:"btn-primary btn-sm pull-right",loading:this.props.loading},this.props.submitLabel||gettext("Post")),c["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",disabled:this.props.loading,onClick:this.props.onCancel,type:"button"},gettext("Cancel")),c["default"].createElement(l,{canProtect:this.props.canProtect,disabled:this.props.loading,onProtect:this.props.onProtect,onUnprotect:this.props.onUnprotect,protect:this.props.protect})))}}]),t}(c["default"].Component);a["default"]=O},{"../..":170,"../../services/ajax":221,"../../services/modal":227,"../../services/snackbar":231,"../button":4,"./markup-preview":20,react:"react"}],20:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"modal-dialog",role:"document"},o["default"].createElement("div",{className:"modal-content"},o["default"].createElement("div",{className:"modal-header"},o["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},o["default"].createElement("span",{"aria-hidden":"true"},"×")),o["default"].createElement("h4",{className:"modal-title"},gettext("Preview message"))),o["default"].createElement("div",{className:"modal-body markup-preview"},o["default"].createElement(l["default"],{markup:e.markup}))))};var r=e("react"),o=n(r),s=e("../misago-markup"),l=n(s)},{"../misago-markup":25,react:"react"}],21:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"isValidated",value:function(){return"undefined"!=typeof this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",e+=null===this.props.validation?" has-success":" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?u["default"].createElement("div",{className:"help-block errors"},this.props.validation.map(function(t,a){return u["default"].createElement("p",{key:e.props["for"]+"FeedbackItem"+a},t)})):null}},{key:"getFeedbackIcon",value:function(){return this.isValidated()?u["default"].createElement("span",{className:"material-icon form-control-feedback","aria-hidden":"true",key:this.props["for"]+"FeedbackIcon"},this.props.validation?"clear":"check"):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?u["default"].createElement("span",{id:this.props["for"]+"_status",className:"sr-only"},this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props["for"]||""},this.props.label+":"),u["default"].createElement("div",{className:this.props.controlClass||""},this.props.children,this.getFeedbackIcon(),this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],22:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../utils/validators"),f=e("../services/snackbar"),p=n(f),h=(0,d.required)(),m=function(e){function t(){var e,a,n,l;o(this,t);for(var i=arguments.length,u=Array(i),c=0;i>c;c++)u[c]=arguments[c];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),n.bindInput=function(e){return function(t){n.changeValue(e,t.target.value)}},n.changeValue=function(e,t){var a=r({},e,t),o=n.state.errors||{};o[e]=n.validateField(e,a[e]),a.errors=o,n.setState(a)},n.handleSubmit=function(e){if(e.preventDefault(),!n.state.isLoading&&n.clean()){n.setState({isLoading:!0});var t=n.send();t?t.then(function(e){n.setState({isLoading:!1}),n.handleSuccess(e)},function(e){n.setState({isLoading:!1}),n.handleError(e)}):n.setState({isLoading:!1})}},l=a,s(n,l)}return l(t,e),i(t,[{key:"validate",value:function(){var e={};if(!this.state.validators)return e;var t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},a=[];for(var n in t.required)t.required.hasOwnProperty(n)&&t.required[n]&&a.push(n);for(var r in t.optional)t.optional.hasOwnProperty(r)&&t.optional[r]&&a.push(r);for(var o in a){var s=a[o],l=this.validateField(s,this.state[s]);null===l?e[s]=null:l&&(e[s]=l)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var a=[];if(!this.state.validators)return a;var n={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},r=h(t)||!1;if(n.required){if(r)a=[r];else for(var o in n.required){var s=n.required[o](t);s&&a.push(s)}return a.length?a:null}if(r===!1&&n.optional){for(var l in n.optional){var i=n.optional[l](t);i&&a.push(i)}return a.length?a:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){p["default"].apiError(e)}}]),t}(c["default"].Component);a["default"]=m},{"../services/snackbar":231,"../utils/validators":247,react:"react"}],23:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"isActive",value:function(){return this.props.isControlled?this.props.isActive:this.props.path?0===document.location.pathname.indexOf(this.props.path):!1}},{key:"getClassName",value:function(){return this.isActive()?(this.props.className||"")+" "+(this.props.activeClassName||"active"):this.props.className||""}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],24:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:this.props.className||"loader"},u["default"].createElement("div",{className:"loader-spinning-wheel"}))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],25:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:e.markup}})};var r=e("react"),o=n(r)},{react:"react"}],26:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body modal-loader"},u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);
 a["default"]=f},{"./loader":24,react:"react"}],27:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(d["default"]);a["default"]=f},{"./panel-message":40,react:"react"}],28:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../panel-loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],null))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-loader":39,react:"react"}],29:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../panel-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.options.next_on?interpolate(gettext("You will be able to change your username %(next_change)s."),{next_change:this.props.options.next_on.fromNow()},!0):gettext("You have used up available name changes.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),u["default"].createElement(d["default"],{message:gettext("You can't change your username at the moment."),helpText:this.getHelpText()}))}}]),t}(u["default"].Component);a["default"]=f},{"../../panel-message":40,react:"react"}],30:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),h=r(p),m=e("../../form-group"),b=r(m),y=e("../../../services/ajax"),v=r(y),g=e("../../../services/snackbar"),_=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={username:"",validators:{username:[w.usernameContent(),w.usernameMinLength({username_length_min:e.options.length_min}),w.usernameMaxLength({username_length_max:e.options.length_max})]},isLoading:!1},a}return l(t,e),i(t,[{key:"getHelpText",value:function(){var e=[];if(this.props.options.changes_left>0){var t=ngettext("You can change your username %(changes_left)s more time.","You can change your username %(changes_left)s more times.",this.props.options.changes_left);e.push(interpolate(t,{changes_left:this.props.options.changes_left},!0))}if(this.props.user.acl.name_changes_expire>0){var a=ngettext("Used changes redeem after %(name_changes_expire)s day.","Used changes redeem after %(name_changes_expire)s days.",this.props.user.acl.name_changes_expire);e.push(interpolate(a,{name_changes_expire:this.props.user.acl.name_changes_expire},!0))}return e.length?e.join(" "):null}},{key:"clean",value:function(){var e=this.validate();return e.username?(_["default"].error(e.username[0]),!1):this.state.username.trim()===this.props.user.username?(_["default"].info(gettext("Your new username is same as current one.")),!1):!0}},{key:"send",value:function(){return v["default"].post(this.props.user.api_url.username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),this.props.complete(e.username,e.slug,e.options)}},{key:"handleError",value:function(e){_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change username"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username",labelClass:"col-sm-4",controlClass:"col-sm-8",helpText:this.getHelpText()},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username")))))))}}]),t}(h["default"]);a["default"]=O},{"../../../services/ajax":221,"../../../services/snackbar":231,"../../../utils/validators":247,"../../button":4,"../../form":22,"../../form-group":21,react:"react"}],31:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("./form-loading"),p=n(f),h=e("./form-locked"),m=n(h),b=e("./form"),y=n(b),v=e("../../username-history/root"),g=n(v),_=e("../../../index"),E=n(_),w=e("../../../reducers/username-history"),O=e("../../../reducers/users"),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/page-title"),j=n(x),P=e("../../../services/snackbar"),C=n(P),S=e("../../../services/store"),T=n(S),M=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.onComplete=function(e,t,n){a.setState({options:n}),T["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),T["default"].dispatch((0,O.updateUsername)(a.props.user,e,t)),C["default"].success(gettext("Your username has been changed successfully."))},a.state={isLoaded:!1,options:null},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;j["default"].set({title:gettext("Change username"),parent:gettext("Change your options")}),Promise.all([N["default"].get(this.props.user.api_url.username),N["default"].get(E["default"].get("USERNAME_CHANGES_API"),{user:this.props.user.id})]).then(function(t){T["default"].dispatch((0,w.hydrate)(t[1].results)),e.setState({isLoaded:!0,options:{changes_left:t[0].changes_left,length_min:t[0].length_min,length_max:t[0].length_max,next_on:t[0].next_on?(0,u["default"])(t[0].next_on):null}})})}},{key:"getChangeForm",value:function(){return this.state.isLoaded?this.state.options.changes_left>0?d["default"].createElement(y["default"],{user:this.props.user,options:this.state.options,complete:this.onComplete}):d["default"].createElement(m["default"],{options:this.state.options}):d["default"].createElement(p["default"],null)}},{key:"render",value:function(){return d["default"].createElement("div",null,this.getChangeForm(),d["default"].createElement(g["default"],{isLoaded:this.state.isLoaded,changes:this.props["username-history"]}))}}]),t}(d["default"].Component);a["default"]=M},{"../../../index":170,"../../../reducers/username-history":219,"../../../reducers/users":220,"../../../services/ajax":221,"../../../services/page-title":228,"../../../services/snackbar":231,"../../../services/store":232,"../../username-history/root":152,"./form":30,"./form-loading":28,"./form-locked":29,moment:"moment",react:"react"}],32:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../form"),p=n(f),h=e("../form-group"),m=n(h),b=e("../select"),y=n(b),v=e("../yes-no-switch"),g=n(v),_=e("../../reducers/auth"),E=e("../../services/ajax"),w=n(E),O=e("../../services/page-title"),k=n(O),N=e("../../services/snackbar"),x=n(N),j=e("../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,is_hiding_presence:e.user.is_hiding_presence,limits_private_thread_invites_to:e.user.limits_private_thread_invites_to,subscribe_to_started_threads:e.user.subscribe_to_started_threads,subscribe_to_replied_threads:e.user.subscribe_to_replied_threads,errors:{}},a.privateThreadInvitesChoices=[{value:0,icon:"help_outline",label:gettext("Everybody")},{value:1,icon:"done_all",label:gettext("Users I follow")},{value:2,icon:"highlight_off",label:gettext("Nobody")}],a.subscribeToChoices=[{value:0,icon:"star_border",label:gettext("No")},{value:1,icon:"star_half",label:gettext("Notify")},{value:2,icon:"star",label:gettext("Notify with e-mail")}],a}return s(t,e),l(t,[{key:"send",value:function(){return w["default"].post(this.props.user.api_url.options,{is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})}},{key:"handleSuccess",value:function(){P["default"].dispatch((0,_.patch)({is_hiding_presence:this.state.is_hiding_presence,limits_private_thread_invites_to:this.state.limits_private_thread_invites_to,subscribe_to_started_threads:this.state.subscribe_to_started_threads,subscribe_to_replied_threads:this.state.subscribe_to_replied_threads})),x["default"].success(gettext("Your forum options have been changed."))}},{key:"handleError",value:function(e){400===e.status?x["default"].error(gettext("Please reload page and try again.")):x["default"].apiError(e)}},{key:"componentDidMount",value:function(){k["default"].set({title:gettext("Forum options"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},u["default"].createElement("div",{className:"panel panel-default panel-form"},u["default"].createElement("div",{className:"panel-heading"},u["default"].createElement("h3",{className:"panel-title"},gettext("Change forum options"))),u["default"].createElement("div",{className:"panel-body"},u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Privacy settings")),u["default"].createElement(m["default"],{label:gettext("Hide my presence"),helpText:gettext("If you hide your presence, only members with permission to see hidden users will see when you are online."),"for":"id_is_hiding_presence",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(g["default"],{id:"id_is_hiding_presence",disabled:this.state.isLoading,iconOn:"visibility_off",iconOff:"visibility",labelOn:gettext("Hide my presence from other users"),labelOff:gettext("Show my presence to other users"),onChange:this.bindInput("is_hiding_presence"),value:this.state.is_hiding_presence})),u["default"].createElement(m["default"],{label:gettext("Private thread invitations"),"for":"id_limits_private_thread_invites_to",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(y["default"],{id:"id_limits_private_thread_invites_to",disabled:this.state.isLoading,onChange:this.bindInput("limits_private_thread_invites_to"),value:this.state.limits_private_thread_invites_to,choices:this.privateThreadInvitesChoices}))),u["default"].createElement("fieldset",null,u["default"].createElement("legend",null,gettext("Automatic subscriptions")),u["default"].createElement(m["default"],{label:gettext("Threads I start"),"for":"id_subscribe_to_started_threads",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(y["default"],{id:"id_subscribe_to_started_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_started_threads"),value:this.state.subscribe_to_started_threads,choices:this.subscribeToChoices})),u["default"].createElement(m["default"],{label:gettext("Threads I reply to"),"for":"id_subscribe_to_replied_threads",labelClass:"col-sm-4",controlClass:"col-sm-8"},u["default"].createElement(y["default"],{id:"id_subscribe_to_replied_threads",disabled:this.state.isLoading,onChange:this.bindInput("subscribe_to_replied_threads"),value:this.state.subscribe_to_replied_threads,choices:this.subscribeToChoices})))),u["default"].createElement("div",{className:"panel-footer"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes")))))))}}]),t}(p["default"]);a["default"]=C},{"../../reducers/auth":210,"../../services/ajax":221,"../../services/page-title":228,"../../services/snackbar":231,"../../services/store":232,"../button":4,"../form":22,"../form-group":21,"../select":89,"../yes-no-switch":169,react:"react"}],33:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactNav=a.SideNav=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-router"),d=e("../li"),f=n(d),p=e("../../index");n(p),a.SideNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"list-group nav-side"},this.props.options.map(function(t){return u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(u["default"].Component),a.CompactNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},this.props.options.map(function(t){return u["default"].createElement(f["default"],{path:e.props.baseUrl+t.component+"/",key:t.component},u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",onClick:e.props.hideNav},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))}}]),t}(u["default"].Component)},{"../../index":170,"../li":23,react:"react","react-router":"react-router"}],34:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function i(){return[{path:N["default"].get("USERCP_URL")+"forum-options/",component:(0,f.connect)(l)(y["default"])},{path:N["default"].get("USERCP_URL")+"change-username/",component:(0,f.connect)(l)(g["default"])},{path:N["default"].get("USERCP_URL")+"sign-in-credentials/",component:(0,f.connect)(l)(E["default"])}]}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=l,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),h=n(p),m=e("./navs"),b=e("./forum-options"),y=n(b),v=e("./change-username/root"),g=n(v),_=e("./sign-in-credentials/root"),E=n(_),w=e("../with-dropdown"),O=n(w),k=e("../../index"),N=n(k),x=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-options"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",{className:"pull-left"},gettext("Change your options")),d["default"].createElement(h["default"],{toggleNav:this.toggleNav,dropdown:this.state.dropdown}))),d["default"].createElement("div",{className:this.getCompactNavClassName()},d["default"].createElement(m.CompactNav,{options:N["default"].get("USER_OPTIONS"),baseUrl:N["default"].get("USERCP_URL"),hideNav:this.hideNav})),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement(m.SideNav,{options:N["default"].get("USER_OPTIONS"),baseUrl:N["default"].get("USERCP_URL")})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(O["default"]);a["default"]=x},{"../../index":170,"../dropdown-toggle":18,"../with-dropdown":168,"./change-username/root":31,"./forum-options":32,"./navs":33,"./sign-in-credentials/root":37,react:"react","react-redux":"react-redux"}],35:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),h=r(p),m=e("../../form-group"),b=r(m),y=e("../../../services/ajax"),v=r(y),g=e("../../../services/snackbar"),_=r(g),E=e("../../../utils/validators"),w=n(E),O=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={new_email:"",password:"",validators:{new_email:[w.email()],password:[]},isLoading:!1},a}return l(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_email.trim().length,this.state.password.trim().length];return-1!==t.indexOf(0)?(_["default"].error(gettext("Fill out all fields.")),!1):e.new_email?(_["default"].error(e.new_email[0]),!1):!0}},{key:"send",value:function(){return v["default"].post(this.props.user.api_url.change_email,{new_email:this.state.new_email,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_email:"",password:""}),_["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_email?_["default"].error(e.new_email):_["default"].error(e.password):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change e-mail address"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New e-mail"),"for":"id_new_email",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"text",id:"id_new_email",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_email"),value:this.state.new_email})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{label:gettext("Your current password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change e-mail")))))))}}]),t}(h["default"]);a["default"]=O},{"../../../services/ajax":221,"../../../services/snackbar":231,"../../../utils/validators":247,"../../button":4,"../../form":22,"../../form-group":21,react:"react"}],36:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),h=r(p),m=e("../../form-group"),b=r(m),y=e("../../../index"),v=r(y),g=e("../../../services/ajax"),_=r(g),E=e("../../../services/snackbar"),w=r(E),O=e("../../../utils/validators"),k=n(O),N=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={new_password:"",repeat_password:"",password:"",validators:{new_password:[k.passwordMinLength(v["default"].get("SETTINGS"))],repeat_password:[],password:[]},isLoading:!1},a}return l(t,e),i(t,[{key:"clean",value:function(){var e=this.validate(),t=[this.state.new_password.trim().length,this.state.repeat_password.trim().length,this.state.password.trim().length];return-1!==t.indexOf(0)?(w["default"].error(gettext("Fill out all fields.")),!1):e.new_password?(w["default"].error(e.new_password[0]),!1):this.state.new_password.trim()!==this.state.repeat_password.trim()?(w["default"].error(gettext("New passwords are different.")),!1):!0}},{key:"send",value:function(){return _["default"].post(this.props.user.api_url.change_password,{new_password:this.state.new_password,password:this.state.password})}},{key:"handleSuccess",value:function(e){this.setState({new_password:"",repeat_password:"",password:""}),w["default"].success(e.detail)}},{key:"handleError",value:function(e){400===e.status?e.new_password?w["default"].error(e.new_password):w["default"].error(e.password):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"panel panel-default panel-form"},c["default"].createElement("div",{className:"panel-heading"},c["default"].createElement("h3",{className:"panel-title"},gettext("Change password"))),c["default"].createElement("div",{className:"panel-body"},c["default"].createElement(b["default"],{label:gettext("New password"),"for":"id_new_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_new_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("new_password"),value:this.state.new_password})),c["default"].createElement(b["default"],{label:gettext("Repeat password"),"for":"id_repeat_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_repeat_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("repeat_password"),value:this.state.repeat_password})),c["default"].createElement("hr",null),c["default"].createElement(b["default"],{
 label:gettext("Your current password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement("div",{className:"panel-footer"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-sm-8 col-sm-offset-4"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change password")))))))}}]),t}(h["default"]);a["default"]=N},{"../../../index":170,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../utils/validators":247,"../../button":4,"../../form":22,"../../form-group":21,react:"react"}],37:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change-email"),d=n(c),f=e("./change-password"),p=n(f),h=e("../../../index"),m=n(h),b=e("../../../services/page-title"),y=n(b),v=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"componentDidMount",value:function(){y["default"].set({title:gettext("Change email or password"),parent:gettext("Change your options")})}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{user:this.props.user}),u["default"].createElement(p["default"],{user:this.props.user}),u["default"].createElement("p",{className:"message-line"},u["default"].createElement("span",{className:"material-icon"},"warning"),u["default"].createElement("a",{href:m["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Change forgotten password"))))}}]),t}(u["default"].Component);a["default"]=v},{"../../../index":170,"../../../services/page-title":228,"./change-email":35,"./change-password":36,react:"react"}],38:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../utils/string-count"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.copy&&this.props.copy.length&&1===(0,d["default"])(this.props.copy,"<p")&&-1===this.props.copy.indexOf("<br")?"page-lead lead":"page-lead"}},{key:"render",value:function(){return this.props.copy&&this.props.copy.length?u["default"].createElement("div",{className:this.getClassName(),dangerouslySetInnerHTML:{__html:this.props.copy}}):null}}]),t}(u["default"].Component);a["default"]=f},{"../utils/string-count":246,react:"react"}],39:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-body-loading"},u["default"].createElement(d["default"],{className:"loader loader-spaced"}))}}]),t}(u["default"].Component);a["default"]=f},{"./loader":24,react:"react"}],40:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelpText",value:function(){return this.props.helpText?u["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"panel-body panel-message-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},this.props.icon||"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.props.message),this.getHelpText()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],41:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LABELS=a.STYLES=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../services/zxcvbn"),d=n(c),f=a.STYLES=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],p=a.LABELS=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],h=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a._score=0,a._password=null,a._inputs=[],a}return s(t,e),l(t,[{key:"getScore",value:function(e,t){var a=this,n=!1;return e.trim()!==this._password&&(n=!0),t.length!==this._inputs.length?n=!0:t.map(function(e,t){e.trim()!==a._inputs[t]&&(n=!0)}),n&&(this._score=d["default"].scorePassword(e,t),this._password=e.trim(),this._inputs=t.map(function(e){return e.trim()})),this._score}},{key:"render",value:function(){var e=this.getScore(this.props.password,this.props.inputs);return u["default"].createElement("div",{className:"help-block password-strength"},u["default"].createElement("div",{className:"progress"},u["default"].createElement("div",{className:"progress-bar "+f[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},u["default"].createElement("span",{className:"sr-only"},p[e]))),u["default"].createElement("p",{className:"text-small"},p[e]))}}]),t}(u["default"].Component);a["default"]=h},{"../services/zxcvbn":233,react:"react"}],42:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../editor"),d=n(c),f=e("../form"),p=n(f),h=e("./utils/container"),m=n(h),b=e("./utils/loader"),y=n(b),v=e("./utils/message"),g=n(v),_=e("./utils/validators"),E=e("../../services/ajax"),w=n(E),O=e("../../services/posting"),k=n(O),N=e("../../services/snackbar"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post,protect:e.is_protected,canProtect:e.can_protect})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard changes?"));e&&k["default"].close()},a.onProtect=function(){a.setState({protect:!0})},a.onUnprotect=function(){a.setState({protect:!1})},a.onPostchange=function(e){a.changeValue("post",e.target.value)},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",protect:!1,canProtect:!1,validators:{post:(0,_.getPostValidators)()},errors:{}},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){w["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return x["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.post?(x["default"].error(e.post[0]),!1):!0}},{key:"send",value:function(){return w["default"].put(this.props.submit,{post:this.state.post,protect:this.state.protect})}},{key:"handleSuccess",value:function(e){x["default"].success(gettext("Reply has been edited.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?e.category?x["default"].error(e.category[0]):e.title?x["default"].error(e.title[0]):e.post&&x["default"].error(e.post[0]):x["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?u["default"].createElement(m["default"],{className:"posting-form"},u["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-12"},u["default"].createElement(d["default"],{canProtect:this.state.canProtect,loading:this.state.isLoading,onCancel:this.onCancel,onChange:this.onPostchange,onProtect:this.onProtect,onUnprotect:this.onUnprotect,protect:this.state.protect,submitLabel:gettext("Edit reply"),value:this.state.post}))))):this.state.isErrored?u["default"].createElement(g["default"],{message:this.state.isErrored}):u["default"].createElement(y["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":221,"../../services/posting":230,"../../services/snackbar":231,"../editor":19,"../form":22,"./utils/container":46,"./utils/loader":48,"./utils/message":49,"./utils/validators":51,react:"react"}],43:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return"START"===e.mode?o["default"].createElement(l["default"],e):"REPLY"===e.mode?o["default"].createElement(u["default"],e):"EDIT"===e.mode?o["default"].createElement(d["default"],e):null};var r=e("react"),o=n(r),s=e("./start"),l=n(s),i=e("./reply"),u=n(i),c=e("./edit"),d=n(c)},{"./edit":42,"./reply":44,"./start":45,react:"react"}],44:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../editor"),d=n(c),f=e("../form"),p=n(f),h=e("./utils/container"),m=n(h),b=e("./utils/loader"),y=n(b),v=e("./utils/message"),g=n(v),_=e("./utils/validators"),E=e("../../services/ajax"),w=n(E),O=e("../../services/posting"),k=n(O),N=e("../../services/snackbar"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.loadSuccess=function(e){a.setState({isReady:!0,post:e.post?"[quote]\n"+e.post+"\n[/quote]":""})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard your reply?"));e&&k["default"].close()},a.onPostchange=function(e){a.changeValue("post",e.target.value)},a.state={isReady:!1,isLoading:!1,isErrored:!1,post:"",validators:{post:(0,_.getPostValidators)()},errors:{}},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){w["default"].get(this.props.config,this.props.context||null).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.post.trim().length)return x["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.post?(x["default"].error(e.post[0]),!1):!0}},{key:"send",value:function(){return w["default"].post(this.props.submit,{post:this.state.post})}},{key:"handleSuccess",value:function(e){x["default"].success(gettext("Your reply has been posted.")),window.location=e.url.index,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?e.category?x["default"].error(e.category[0]):e.title?x["default"].error(e.title[0]):e.post&&x["default"].error(e.post[0]):x["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?u["default"].createElement(m["default"],{className:"posting-form"},u["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-12"},u["default"].createElement(d["default"],{loading:this.state.isLoading,onCancel:this.onCancel,onChange:this.onPostchange,submitLabel:gettext("Post reply"),value:this.state.post}))))):this.state.isErrored?u["default"].createElement(g["default"],{message:this.state.isErrored}):u["default"].createElement(y["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":221,"../../services/posting":230,"../../services/snackbar":231,"../editor":19,"../form":22,"./utils/container":46,"./utils/loader":48,"./utils/message":49,"./utils/validators":51,react:"react"}],45:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../category-select"),d=n(c),f=e("../editor"),p=n(f),h=e("../form"),m=n(h),b=e("./utils/container"),y=n(b),v=e("./utils/loader"),g=n(v),_=e("./utils/message"),E=n(_),w=e("./utils/options"),O=n(w),k=e("./utils/validators"),N=e("../../services/ajax"),x=n(N),j=e("../../services/posting"),P=n(j),C=e("../../services/snackbar"),S=n(C),T=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.loadSuccess=function(e){var t=null,n=!1,r=null,o=e.map(function(e){return e.post===!1||t&&e.id!=a.state.category||(t=e.id,r=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(n=!0),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});a.setState({isReady:!0,showOptions:n,categories:o,category:t,categoryOptions:r})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard thread?"));e&&P["default"].close()},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onCategoryChange=function(e){var t=a.state.categories.find(function(t){return e.target.value==t.value}),n=a.state.pin;t.post.pin&&t.post.pin<n&&(n=t.post.pin),a.setState({category:t.id,categoryOptions:t.post,pin:n})},a.onPostchange=function(e){a.changeValue("post",e.target.value)},a.onClose=function(){a.changeValue("close",!0)},a.onOpen=function(){a.changeValue("close",!1)},a.onPinGlobally=function(){a.changeValue("pin",2)},a.onPinLocally=function(){a.changeValue("pin",1)},a.onUnpin=function(){a.changeValue("pin",0)},a.onHide=function(){a.changeValue("hide",1)},a.onUnhide=function(){a.changeValue("hide",0)},a.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",close:!1,hide:!1,pin:0,validators:{title:(0,k.getTitleValidators)(),post:(0,k.getPostValidators)()},errors:{}},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){x["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return S["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return S["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(S["default"].error(e.title[0]),!1):e.post?(S["default"].error(e.post[0]),!1):!0}},{key:"send",value:function(){return x["default"].post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){S["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?e.category?S["default"].error(e.category[0]):e.title?S["default"].error(e.title[0]):e.post&&S["default"].error(e.post[0]):S["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?u["default"].createElement(y["default"],{className:"posting-form",withFirstRow:!0},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"row first-row"},u["default"].createElement("div",{className:this.state.showOptions?"col-md-6":"col-md-8"},u["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),u["default"].createElement("div",{className:"col-md-4"},u["default"].createElement(d["default"],{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),u["default"].createElement(O["default"],{close:this.state.close,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-12"},u["default"].createElement(p["default"],{loading:this.state.isLoading,onCancel:this.onCancel,onChange:this.onPostchange,submitLabel:gettext("Post thread"),value:this.state.post}))))):this.state.isErrored?u["default"].createElement(E["default"],{message:this.state.isErrored}):u["default"].createElement(g["default"],null)}}]),t}(m["default"]);a["default"]=T},{"../../services/ajax":221,"../../services/posting":230,"../../services/snackbar":231,"../category-select":12,"../editor":19,"../form":22,"./utils/container":46,"./utils/loader":48,"./utils/message":49,"./utils/options":50,"./utils/validators":51,react:"react"}],46:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className},o["default"].createElement(l["default"],{withFirstRow:e.withFirstRow}),o["default"].createElement("div",{className:"posting-overlay"},o["default"].createElement("div",{className:"posting-cover"},o["default"].createElement("div",{className:"posting-inner"},o["default"].createElement("div",{className:"container"},e.children)))))};var r=e("react"),o=n(r),s=e("./filler"),l=n(s)},{"./filler":47,react:"react"}],47:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.visible?s["default"].createElement("div",{className:"row first-row"},s["default"].createElement("div",{className:"col-md-8"},s["default"].createElement("input",{className:"form-control",type:"text",disabled:!0})),s["default"].createElement("div",{className:"col-md-4"},s["default"].createElement("input",{className:"form-control",type:"text",disabled:!0}))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("div",{className:"posting-height-filler container"},s["default"].createElement(r,{visible:e.withFirstRow}),s["default"].createElement("div",{className:"row"},s["default"].createElement("div",{className:"col-md-12"},s["default"].createElement(i["default"],null))))},a.FirstRow=r;var o=e("react"),s=n(o),l=e("../../editor"),i=n(l)},{"../../editor":19,react:"react"}],48:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(l["default"],{className:"posting-loader"},o["default"].createElement(u["default"],null))};var r=e("react"),o=n(r),s=e("./container"),l=n(s),i=e("../../loader"),u=n(i)},{"../../loader":24,"./container":46,react:"react"}],49:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(l["default"],{className:"posting-message"},o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",null,o["default"].createElement("span",{className:"material-icon"},"error_outline"),e.message),o["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:u["default"].close},gettext("Dismiss"))))};var r=e("react"),o=n(r),s=e("./container"),l=n(s),i=e("../../../services/posting"),u=n(i)},{"../../../services/posting":230,"./container":46,react:"react"}],50:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.show?i["default"].createElement("button",{className:"btn btn-default",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:e.close?gettext("Closed"):gettext("Open"),type:"button"},i["default"].createElement("span",{className:"material-icon"},e.close?"lock":"lock_outline")):null}function o(e){return e.show?i["default"].createElement("button",{className:"btn btn-default",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:e.hide?gettext("Hidden"):gettext("Not hidden"),type:"button"},i["default"].createElement("span",{className:"material-icon"},e.hide?"visibility_off":"visibility")):null}function s(e){if(e.show){var t=null,a=null,n=null;switch(e.pin){case 0:t="radio_button_unchecked",a=e.onPinLocally,n=gettext("Unpinned");break;case 1:t="info_outline",a=e.onPinGlobally,n=gettext("Pinned locally"),a=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="info",a=e.onUnpin,n=gettext("Pinned globally")}return i["default"].createElement("button",{className:"btn btn-default",disabled:e.disabled,onClick:a,title:n,type:"button"},i["default"].createElement("span",{className:"material-icon"},t))}return null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.showOptions?i["default"].createElement("div",{className:"col-md-2 posting-options"},i["default"].createElement(s,{disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin}),i["default"].createElement(o,{disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide}),i["default"].createElement(r,{close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close})):null},a.CloseOptions=r,a.HideOptions=o,a.PinOptions=s;var l=e("react"),i=n(l)},{react:"react"}],51:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){return[s(),l()]}function o(){return f["default"].get("SETTINGS").post_length_max?[i(),u()]:[i()]}function s(){return(0,c.minLength)(f["default"].get("SETTINGS").thread_title_length_min,function(e,t){var a=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function l(){return(0,c.maxLength)(f["default"].get("SETTINGS").thread_title_length_max,function(e,t){var a=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function i(){return(0,c.minLength)(f["default"].get("SETTINGS").post_length_min,function(e,t){var a=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function u(){return(0,c.maxLength)(f["default"].get("SETTINGS").post_length_max||1e6,function(e,t){var a=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}Object.defineProperty(a,"__esModule",{value:!0}),a.getTitleValidators=r,a.getPostValidators=o,a.getTitleLengthMin=s,a.getTitleLengthMax=l,a.validatePostLengthMin=i,a.validatePostLengthMax=u;var c=e("../../../utils/validators"),d=e("../../.."),f=n(d)},{"../../..":170,"../../../utils/validators":247}],52:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.can_hide}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return i(e.post.acl)?d["default"].createElement("li",{className:"event-controls"},d["default"].createElement(w,e),d["default"].createElement(O,e),d["default"].createElement(k,e)):null},a.isVisible=i;var c=e("react"),d=r(c),f=e("moment"),p=r(f),h=e("../../../reducers/post"),m=n(h),b=e("../../../services/ajax"),y=r(b),v=e("../../../services/snackbar"),g=r(v),_=e("../../../services/store"),E=r(_),w=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(m.patch(n.props.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:n.props.user.username,
-url:Object.assign(n.props.post.url,{hidden_by:n.props.user.absolute_url})}));var e={op:"replace",path:"is-hidden",value:!0};y["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(m.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{is_hidden:!1}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?null:d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))}}]),t}(d["default"].Component),O=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(m.patch(n.props.post,{is_hidden:!1}));var e={op:"replace",path:"is-hidden",value:!1};y["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(m.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{is_hidden:!0}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide")):null}}]),t}(d["default"].Component),k=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"));e&&n["delete"]()},n["delete"]=function(){E["default"].dispatch(m.patch(n.props.post,{isDeleted:!0})),y["default"]["delete"](n.props.post.api.index).then(function(){g["default"].success(gettext("Event has been deleted."))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{isDeleted:!1}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))}}]),t}(d["default"].Component)},{"../../../reducers/post":211,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,moment:"moment",react:"react"}],53:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"post-avatar"},o["default"].createElement("span",{className:"material-icon"},s[e.post.event_type]))};var r=e("react"),o=n(r),s={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpoinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off"}},{react:"react"}],54:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="event post-hidden"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement("div",{className:"post-border"},o["default"].createElement(l["default"],e),o["default"].createElement("div",{className:"post-body"},o["default"].createElement(d["default"],e),o["default"].createElement(u["default"],e))))};var r=e("react"),o=n(r),s=e("./icon"),l=n(s),i=e("./info"),u=n(i),c=e("./message"),d=n(c)},{"./icon":53,"./info":55,"./message":56,react:"react"}],55:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e.post.is_hidden){var t=null;t=e.post.url.hidden_by?interpolate(b,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(m,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(p,{absolute:(0,c["default"])(e.post.hidden_on.format("LLL")),relative:(0,c["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(b,{url:(0,c["default"])(e.post.poster.absolute_url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(m,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(h,{url:(0,c["default"])(e.post.url.index),absolute:(0,c["default"])(e.post.posted_on.format("LLL")),relative:(0,c["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function s(e){return e.user.acl.can_see_users_ips?i["default"].createElement("li",{className:"event-ip"},i["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("ul",{className:"list-inline event-info"},i["default"].createElement(r,e),i["default"].createElement(o,e),i["default"].createElement(s,e),i["default"].createElement(f["default"],e))},a.Hidden=r,a.Poster=o,a.Ip=s;var l=e("react"),i=n(l),u=e("../../../utils/escape-html"),c=n(u),d=e("./controls"),f=n(d),p='<abbr title="%(absolute)s">%(relative)s</abbr>',h='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',m='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":238,"./controls":52,react:"react"}],56:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,c["default"])(gettext("Thread title has been changed from %(old_title)s.")),a=interpolate(p,{old_title:(0,c["default"])(e.post.event_context.old_title)},!0),n=interpolate(t,{old_title:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,c["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(f,{url:(0,c["default"])(e.post.event_context.from_category.url),name:(0,c["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function s(e){var t=(0,c["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(h,{merged_thread:(0,c["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d[e.post.event_type]?i["default"].createElement("p",{className:"event-message"},d[e.post.event_type]):"changed_title"===e.post.event_type?i["default"].createElement(r,e):"moved"===e.post.event_type?i["default"].createElement(o,e):"merged"===e.post.event_type?i["default"].createElement(s,e):null},a.ChangedTitle=r,a.Moved=o,a.Merged=s;var l=e("react"),i=n(l),u=e("../../../utils/escape-html"),c=n(u),d={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden.")},f='<a href="%(url)s" class="item-title">%(name)s</a>',p='<span class="item-title">%(old_title)s</span>',h='<span class="item-title">%(merged_thread)s</span>'},{"../../../utils/escape-html":238,react:"react"}],57:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?l["default"].createElement(u["default"],e):l["default"].createElement(d["default"],e)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.posts.isLoaded?l["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return l["default"].createElement(r,o({key:t.id,post:t},e))})):l["default"].createElement("ul",{className:"posts-list ui-preview"},l["default"].createElement(p["default"],null))},a.ListItem=r;var s=e("react"),l=n(s),i=e("./event"),u=n(i),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":54,"./post":67,"./post/preview":68,react:"react"}],58:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement(c["default"],{className:"panel-body",post:e.post},i["default"].createElement(f["default"],{markup:e.post.parsed}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(m,{url:(0,h["default"])(e.post.url.hidden_by),user:(0,h["default"])(e.post.hidden_by_name)},!0):interpolate(b,{user:(0,h["default"])(e.post.hidden_by_name)},!0);var a=interpolate(y,{absolute:(0,h["default"])(e.post.hidden_on.format("LLL")),relative:(0,h["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,h["default"])(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement(c["default"],{className:"panel-body panel-body-hidden",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot not see its contents.")),i["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function s(e){return i["default"].createElement(c["default"],{className:"panel-body panel-body-invalid",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),i["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?i["default"].createElement(o,e):e.post.parsed?i["default"].createElement(r,e):i["default"].createElement(s,e)},a.Default=r,a.Hidden=o,a.Invalid=s;var l=e("react"),i=n(l),u=e("./waypoint"),c=n(u),d=e("../../misago-markup"),f=n(d),p=e("../../../utils/escape-html"),h=n(p),m='<a href="%(url)s" class="item-title">%(user)s</a>',b='<span class="item-title">%(user)s</span>',y='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":238,"../../misago-markup":25,"./waypoint":70,react:"react"}],59:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){E["default"].dispatch(m.patch(e.post,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.post.is_unapproved};c(e,t,a)}function s(e){E["default"].dispatch(m.patch(e.post,{is_protected:!0}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.post.is_protected};c(e,t,a)}function l(e){E["default"].dispatch(m.patch(e.post,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.post.is_protected};c(e,t,a)}function i(e){E["default"].dispatch(m.patch(e.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.absolute_url})}));var t=[{op:"replace",path:"is-hidden",value:!0}],a={is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url};c(e,t,a)}function u(e){E["default"].dispatch(m.patch(e.post,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.post.is_hidden};c(e,t,a)}function c(e,t,a){y["default"].patch(e.post.api.index,t).then(function(t){E["default"].dispatch(m.patch(e.post,t))},function(t){400===t.status?g["default"].error(t.detail[0]):g["default"].apiError(t),E["default"].dispatch(m.patch(e.post,a))})}function d(e){var t=confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"));t&&(E["default"].dispatch(m.patch(e.post,{isDeleted:!0})),y["default"]["delete"](e.post.api.index).then(function(){g["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?g["default"].error(t.detail):g["default"].apiError(t),E["default"].dispatch(m.patch(e.post,{isDeleted:!1}))}))}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=s,a.unprotect=l,a.hide=i,a.unhide=u,a.patch=c,a.remove=d;var f=e("moment"),p=r(f),h=e("../../../../reducers/post"),m=n(h),b=e("../../../../services/ajax"),y=r(b),v=e("../../../../services/snackbar"),g=r(v),_=e("../../../../services/store"),E=r(_)},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/snackbar":231,"../../../../services/store":232,moment:"moment"}],60:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Approve=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),h=n(p),m=e("./move"),b=r(m),y=e("./split"),v=r(y),g=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.approve(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(b["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Move"))):null}}]),t}(c["default"].Component),E=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(v["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Split"))):null}}]),t}(c["default"].Component),w=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.protect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&!this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Protect"))):null}}]),t}(c["default"].Component),O=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unprotect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Remove protection"))):null}}]),t}(c["default"].Component),k=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.hide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_hide&&!this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))):null}}]),t}(c["default"].Component),N=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unhide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide"))):null}}]),t}(c["default"].Component),x=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.remove(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":227,"./actions":59,"./move":62,"./split":63,react:"react"}],61:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.can_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return r(e.post.acl)?s["default"].createElement("div",{className:"pull-right dropdown"},s["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},s["default"].createElement("span",{className:"material-icon"},"expand_more")),s["default"].createElement(i["default"],e)):null},a.isVisible=r;var o=e("react"),s=n(o),l=e("./dropdown"),i=n(l)},{"./dropdown":60,react:"react"}],62:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move post")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),h=r(p),m=e("../../../form-group"),b=r(m),y=e("../../../../reducers/post"),v=n(y),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return l(t,e),u(t,[{key:"clean",value:function(){return this.state.url.trim().length?!0:(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(v.patch(this.props.post,{isDeleted:!0})),w["default"].hide(),k["default"].success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move post to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move post"))))))}}]),t}(h["default"]);a["default"]=j},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../button":4,"../../../form":22,"../../../form-group":21,react:"react"}],63:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement(k["default"],null))}function u(e){return h["default"].createElement(c,{className:"modal-dialog modal-message"},h["default"].createElement("div",{className:"message-icon"},h["default"].createElement("span",{className:"material-icon"},"info_outline")),h["default"].createElement("div",{className:"message-body"},h["default"].createElement("p",{className:"lead"},gettext("You can't move this post at the moment.")),h["default"].createElement("p",null,e.message)))}function c(e){return h["default"].createElement("div",{className:e.className,role:"document"},h["default"].createElement("div",{className:"modal-content"},h["default"].createElement("div",{className:"modal-header"},h["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},h["default"].createElement("span",{"aria-hidden":"true"},"×")),h["default"].createElement("h4",{className:"modal-title"},gettext("Split post into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return h["default"].createElement(H,f({},e,{Form:B}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),h=r(p),m=e("../../../button"),b=r(m),y=e("../../../form"),v=r(y),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),S=r(C),T=e("../../../../services/modal"),M=r(T),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),U=e("../../../../utils/validators"),D=n(U),H=a.PostingConfig=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return l(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_URL")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?h["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?h["default"].createElement(B,f({},this.props,{categories:this.state.categories})):h["default"].createElement(i,null)}}]),t}(h["default"].Component),B=a.ModerationForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[D.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return l(t,e),d(t,[{key:"clean",value:function(){return this.isValid()?!0:(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){I["default"].dispatch(P.patch(this.props.post,{isDeleted:!0})),M["default"].hide(),R["default"].success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?M["default"].show(h["default"].createElement(ErrorsModal,{errors:e})):R["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?h["default"].createElement(_["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?h["default"].createElement(_["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?h["default"].createElement(_["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement("form",{onSubmit:this.handleSubmit},h["default"].createElement("div",{className:"modal-body"},h["default"].createElement(_["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},h["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title
-})),h["default"].createElement("div",{className:"clearfix"}),h["default"].createElement(_["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},h["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),h["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),h["default"].createElement("div",{className:"modal-footer"},h["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(v["default"])},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../../utils/validators":247,"../../../button":4,"../../../category-select":12,"../../../form":22,"../../../form-group":21,"../../../modal-loader":26,"../../../select":89,react:"react"}],64:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s(e.post)&&e.post.is_hidden?i["default"].createElement("div",{className:"post-status-message post-status-hidden"},i["default"].createElement("span",{className:"material-icon"},"visibility_off"),i["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function o(e){return s(e.post)&&e.post.is_unapproved?i["default"].createElement("div",{className:"post-status-message post-status-unapproved"},i["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),i["default"].createElement("p",null,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function s(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagHidden=r,a.FlagUnapproved=o,a.isVisible=s;var l=e("react"),i=n(l)},{react:"react"}],65:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes||e.acl.can_like)}function i(e){return e.post.acl.can_see_likes?f["default"].createElement("button",{type:"button",className:"btn btn-likes pull-left",disabled:"disabled"},"Likes"):null}function u(e){return e.post.acl.can_like?f["default"].createElement("button",{type:"button",className:"btn btn-like pull-left",disabled:"disabled"},gettext("Like")):null}Object.defineProperty(a,"__esModule",{value:!0}),a.Edit=a.Reply=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return l(e.post)?f["default"].createElement("div",{className:"panel-footer post-footer"},f["default"].createElement(i,e),f["default"].createElement(u,e),f["default"].createElement(m,e),f["default"].createElement(b,e)):null},a.isVisible=l,a.Likes=i,a.Like=u;var d=e("react"),f=n(d),p=e("../../../services/posting"),h=n(p),m=a.Reply=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index,context:{reply:n.props.post.id}})},s=a,o(n,s)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_reply?f["default"].createElement("button",{type:"button",className:"btn btn-primary pull-right",onClick:this.onClick},gettext("Reply")):null}}]),t}(f["default"].Component),b=a.Edit=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h["default"].open({mode:"EDIT",config:n.props.post.api.editor,submit:n.props.post.api.index})},s=a,o(n,s)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?f["default"].createElement("button",{type:"button",className:"btn btn-default pull-right",onClick:this.onClick},gettext("Edit")):null}}]),t}(f["default"].Component)},{"../../../services/posting":230,react:"react"}],66:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?d["default"].createElement("div",{className:(0,b.getStatusClassName)(e.post.poster.status),title:(0,b.getStatusDescription)(e.post.poster,e.post.poster.status)},d["default"].createElement(b.StatusIcon,{status:e.post.poster.status,user:e.post.poster})):null}function o(e){return e.post.poster?d["default"].createElement("a",{className:"item-title",href:e.post.poster.absolute_url},e.post.poster.username):d["default"].createElement("strong",{className:"item-title"},e.post.poster_name)}function s(e){if(e.post.poster){if(e.post.poster.rank.is_default)return null;var t="label-"+(e.post.poster.rank.css_class||"default");return e.post.poster.rank.is_tab?d["default"].createElement("a",{href:e.post.poster.rank.absolute_url,className:"label "+t},e.post.poster.short_title):d["default"].createElement("span",{className:"label "+t},e.post.poster.short_title)}return d["default"].createElement("span",{className:"rank-name item-title"},gettext("Unregistered"))}function l(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0),a=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.fromNow()},!0);return d["default"].createElement("a",{href:e.post.url.index,className:"posted-on",title:t},a)}function i(e){return e.post.is_read?null:d["default"].createElement("span",{className:"label label-warning pull-right"},gettext("New"))}function u(e){var t=e.post.poster&&e.post.poster.id===e.user.id,a=e.post.acl.can_protect,n=e.user.id&&e.post.is_protected&&(t||a);return n?d["default"].createElement("span",{className:"label label-default pull-right",title:gettext("This post is protected and may not be edited.")},gettext("Protected")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("div",{className:"panel-heading post-heading"},d["default"].createElement(r,e),d["default"].createElement(o,e),d["default"].createElement(s,e),d["default"].createElement(l,e),d["default"].createElement(m["default"],e),d["default"].createElement(p["default"],e),d["default"].createElement(u,e),d["default"].createElement(i,e))},a.PosterStatus=r,a.Poster=o,a.PosterRank=s,a.PostedOn=l,a.UnreadLabel=i,a.ProtectedLabel=u;var c=e("react"),d=n(c),f=e("./controls"),p=n(f),h=e("./select"),m=n(h),b=e("../../user-status")},{"../../user-status":146,"./controls":61,"./select":69,react:"react"}],67:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?s["default"].createElement("a",{href:e.post.poster.absolute_url},s["default"].createElement(i["default"],{size:100,user:e.post.poster})):s["default"].createElement(i["default"],{size:100})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.is_read||(t+=" post-new"),s["default"].createElement("li",{id:"post-"+e.post.id,className:t},s["default"].createElement("div",{className:"post-border"},s["default"].createElement("div",{className:"post-avatar"},s["default"].createElement(r,{post:e.post})),s["default"].createElement("div",{className:"post-body"},s["default"].createElement("div",{className:"panel panel-default panel-post"},s["default"].createElement(m["default"],e),s["default"].createElement(d.FlagHidden,e),s["default"].createElement(d.FlagUnapproved,e),s["default"].createElement(c["default"],e),s["default"].createElement(p["default"],e)))))},a.PosterAvatar=r;var o=e("react"),s=n(o),l=e("../../avatar"),i=n(l),u=e("./body"),c=n(u),d=e("./flags"),f=e("./footer"),p=n(f),h=e("./header"),m=n(h)},{"../../avatar":2,"./body":58,"./flags":64,"./footer":65,"./header":66,react:"react"}],68:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("li",{"class":"post"},s["default"].createElement("div",{className:"post-border"},s["default"].createElement("div",{className:"post-avatar"},s["default"].createElement(i["default"],{size:"100"})),s["default"].createElement("div",{className:"post-body"},s["default"].createElement("div",{className:"panel panel-default panel-post"},s["default"].createElement("div",{className:"panel-heading post-heading"},s["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," "),s["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," ")),s["default"].createElement("div",{className:"panel-body"},s["default"].createElement("article",{className:"misago-markup"},s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," ")))))))};var o=e("react"),s=r(o),l=e("../../avatar"),i=r(l),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":242,"../../avatar":2,react:"react"}],69:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./controls"),f=e("../../../reducers/posts"),p=n(f),h=e("../../../services/store"),m=r(h),b=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.post.isSelected?m["default"].dispatch(p.deselect(n.props.post)):m["default"].dispatch(p.select(n.props.post))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||(0,d.isVisible)(this.props.post.acl)?c["default"].createElement("div",{className:"pull-right"},c["default"].createElement("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null}}]),t}(c["default"].Component);a["default"]=b},{"../../../reducers/posts":212,"../../../services/store":232,"./controls":61,react:"react"}],70:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../../reducers/post"),f=n(d),p=e("../../../services/ajax"),h=r(p),m=e("../../../services/store"),b=r(m),y=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||$("#post-"+this.props.post.id).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout(function(){b["default"].dispatch(f.patch(e.props.post,{is_read:!0})),h["default"].post(e.props.post.api.read)},1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.props.className},c["default"].createElement("div",{style:{borderColor:"#f00"}},this.props.children))}}]),t}(c["default"].Component);a["default"]=y},{"../../../reducers/post":211,"../../../services/ajax":221,"../../../services/store":232,react:"react"}],71:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("../panel-loader"),p=n(f),h=e("../panel-message"),m=n(h),b=e("../../index"),y=n(b),v=e("../../services/polls"),g=n(v),_=e("../../services/page-title"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),a.setState({isLoaded:!0,error:null,ban:e})},a.error=function(e){a.setState({isLoaded:!0,error:e.detail,ban:null})},y["default"].has("PROFILE_BAN")?a.initWithPreloadedData(y["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api_url.ban),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){g["default"].start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){E["default"].set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){g["default"].stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?d["default"].createElement("div",{className:"panel-body ban-message ban-user-message"},d["default"].createElement("h4",null,gettext("User-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?d["default"].createElement("div",{className:"panel-body ban-message ban-staff-message"},d["default"].createElement("h4",null,gettext("Team-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?d["default"].createElement("div",null,this.getUserMessage(),this.getStaffMessage(),d["default"].createElement("div",{className:"panel-body ban-expires"},d["default"].createElement("h4",null,gettext("Ban expiration")),d["default"].createElement("p",{className:"lead"},this.getExpirationMessage()))):d["default"].createElement("div",null,d["default"].createElement(m["default"],{message:gettext("No ban is active at the moment.")})):this.state.error?d["default"].createElement("div",null,d["default"].createElement(m["default"],{icon:"error_outline",message:this.state.error})):d["default"].createElement("div",null,d["default"].createElement(p["default"],null))}},{key:"render",value:function(){return d["default"].createElement("div",{className:"profile-ban-details"},d["default"].createElement("div",{className:"panel panel-default"},d["default"].createElement("div",{className:"panel-heading"},d["default"].createElement("h3",{className:"panel-title"},gettext("Ban details"))),this.getPanelBody()))}}]),t}(d["default"].Component);a["default"]=w},{"../../index":170,"../../services/page-title":228,"../../services/polls":229,"../panel-loader":39,"../panel-message":40,moment:"moment",react:"react"}],72:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../reducers/profile"),p=e("../../services/ajax"),h=n(p),m=e("../../services/snackbar"),b=n(m),y=e("../../services/store"),v=n(y),g=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?v["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):v["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),h["default"].post(a.props.profile.api_url.follow).then(function(e){a.setState({isLoading:!1}),v["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),b["default"].apiError(e)})},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":213,"../../services/ajax":221,"../../services/snackbar":231,"../../services/store":232,"../button":4,react:"react"}],73:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../button"),f=n(d),p=e("../search"),h=n(p),m=e("../users-list/root"),b=n(m),y=e("../../index"),v=n(y),g=e("../../reducers/users"),_=e("../../services/ajax"),E=n(_),w=e("../../services/snackbar"),O=n(w),k=e("../../services/store"),N=n(k),x=e("../../services/page-title"),j=n(x),P=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),v["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(v["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),i(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},N["default"].dispatch((0,g.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e,t=this,a=arguments.length<=0||void 0===arguments[0]?1:arguments[0],n=arguments.length<=1||void 0===arguments[1]?null:arguments[1];E["default"].get(v["default"].get("USERS_API"),(e={},r(e,this.API_FILTER,this.props.profile.id),r(e,"name",n),r(e,"page",a||1),e),"user-"+this.API_FILTER).then(function(e){1===a?N["default"].dispatch((0,g.hydrate)(e.results)):N["default"].dispatch((0,g.append)(e.results)),t.setState({isLoaded:!0,isBusy:!1,count:e.count,more:e.more,page:e.page,pages:e.pages})},function(e){O["default"].apiError(e)})}},{key:"componentDidMount",value:function(){j["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?c["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):c["default"].createElement("div",null,c["default"].createElement(b["default"],{isLoaded:this.state.isLoaded,users:this.props.users,showRank:!0,cols:2}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("nav",{className:"toolbar"},c["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),c["default"].createElement(h["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),this.getListBody())}}]),t}(c["default"].Component);a["default"]=P},{"../../index":170,"../../reducers/users":220,"../../services/ajax":221,"../../services/page-title":228,"../../services/snackbar":231,"../../services/store":232,"../button":4,"../search":88,"../users-list/root":153,react:"react"}],74:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=(n(i),e("./followers")),c=n(u),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":73,react:"react"}],75:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=e("../dropdown-toggle"),p=n(f),h=e("./follow-button"),m=n(h),b=e("./moderation/nav"),y=n(b),v=e("../user-status"),g=n(v),_=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getUserStatus",value:function(){return u["default"].createElement("li",{className:"user-status-display"},u["default"].createElement(g["default"],{user:this.props.profile,status:this.props.profile.status},u["default"].createElement(v.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),u["default"].createElement(v.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?u["default"].createElement("li",{className:"user-rank"},u["default"].createElement("a",{href:this.props.profile.rank.absolute_url,className:"item-title"},this.props.profile.rank.name)):u["default"].createElement("li",{className:"user-rank"},u["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?u["default"].createElement("li",{className:"user-title"},this.props.profile.title):this.props.profile.rank.title?u["default"].createElement("li",{
-className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return u["default"].createElement("li",{className:"user-joined-on"},u["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?u["default"].createElement("li",{className:"user-email"},u["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?u["default"].createElement(m["default"],{className:"btn btn-aligned hidden-xs hidden-sm",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?u["default"].createElement("div",{className:"btn-group btn-aligned hidden-xs hidden-sm"},u["default"].createElement("button",{className:"btn btn-default btn-moderate dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),u["default"].createElement(y["default"],{profile:this.props.profile})):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page-header"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},u["default"].createElement("h1",{className:"pull-left"},u["default"].createElement(d["default"],{user:this.props.profile,size:"100"}),u["default"].createElement("span",{className:"user-name"},this.props.profile.username)),this.getFollowButton(),this.getModerationButton(),u["default"].createElement(p["default"],{toggleNav:this.props.toggleNav,dropdown:this.props.dropdown})))),u["default"].createElement("div",{className:"header-stats"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},u["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))))}}]),t}(u["default"].Component);a["default"]=_},{"../avatar":2,"../dropdown-toggle":18,"../user-status":146,"./follow-button":72,"./moderation/nav":79,react:"react"}],76:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),y=n(b),v=e("../../yes-no-switch"),g=n(v),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api_url.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return this.isValid()?!0:(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api_url.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(m["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(m["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(m["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":220,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,"../../yes-no-switch":169,react:"react"}],77:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),h=r(p),m=e("../../form-group"),b=r(m),y=e("../../modal-loader"),v=r(y),g=e("../../modal-message"),_=r(g),E=e("../../../index"),w=r(E),O=e("../../../reducers/username-history"),k=e("../../../reducers/users"),N=e("../../../services/ajax"),x=r(N),j=e("../../../services/snackbar"),P=r(j),C=e("../../../services/store"),S=r(C),T=e("../../../utils/validators"),M=n(T),L=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[M.usernameContent(),M.usernameMinLength(w["default"].get("SETTINGS")),M.usernameMaxLength(w["default"].get("SETTINGS"))]}},a}return l(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;x["default"].get(this.props.profile.api_url.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return this.isValid()?!0:(P["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return x["default"].post(this.props.profile.api_url.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),S["default"].dispatch((0,O.addNameChange)(e,this.props.profile,this.props.user)),S["default"].dispatch((0,k.updateUsername)(this.props.profile,e.username,e.slug)),P["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username"},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(h["default"]);a["default"]=L},{"../../../index":170,"../../../reducers/username-history":219,"../../../reducers/users":220,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,"../../../utils/validators":247,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,react:"react"}],78:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),y=n(b),v=e("../../modal-message"),g=n(v),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api_url["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api_url["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(m["default"],{label:gettext("User content"),labelClass:"col-sm-4",controlClass:"col-sm-8","for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":170,"../../../services/ajax":221,"../../../services/polls":229,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,"../../yes-no-switch":169,react:"react"}],79:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),h=n(p),m=e("./delete-account"),b=n(m),y=e("../../../services/modal"),v=n(y),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showAvatarDialog=function(){v["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){v["default"].show((0,c.connect)(g)(h["default"]))},n.showDeleteDialog=function(){v["default"].show((0,c.connect)(g)(b["default"]))},s=a,o(n,s)}return s(t,e),l(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton(),u["default"].createElement("li",{className:"divider hidden-md hidden-lg"}),u["default"].createElement("li",{className:"dropdown-buttons hidden-md hidden-lg"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.props.toggleNav},u["default"].createElement("span",{className:"material-icon"},"menu"),gettext("Menu"))))}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":227,"./avatar-controls":76,"./change-username":77,"./delete-account":78,react:"react","react-redux":"react-redux"}],80:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactNav=a.SideNav=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-router"),d=e("../li"),f=n(d),p=e("./follow-button"),h=n(p),m=e("../../index"),b=(n(m),a.SideNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getMeta",value:function(e){return e?u["default"].createElement("span",{className:"badge"},this.props.profile[e.attr]):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name,e.getMeta(t.meta))}))}}]),t}(u["default"].Component));a.CompactNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"showSpecialOptions",value:function(){return this.props.profile.acl.can_follow||this.props.profile.acl.can_moderate}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?u["default"].createElement(h["default"],{className:"btn btn-block",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.props.toggleModeration},u["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")):null}},{key:"getSpecialOptions",value:function(){return this.showSpecialOptions()?u["default"].createElement("li",{className:"dropdown-buttons"},this.getFollowButton(),this.getModerationButton()):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},this.getSpecialOptions(),this.showSpecialOptions()?u["default"].createElement("li",{className:"divider"}):null,this.props.pages.map(function(t){return u["default"].createElement(f["default"],{path:e.props.baseUrl+t.component+"/",key:t.component},u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",onClick:e.props.hideNav},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name,e.getMeta(t.meta)))}))}}]),t}(b)},{"../../index":170,"../li":23,"./follow-button":72,react:"react","react-router":"react-router"}],81:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users,profile:e.profile,"username-history":e["username-history"]}}function i(){var e=[];return T["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:T["default"].get("PROFILE").absolute_url+t.component+"/",component:(0,f.connect)(l)(H[t.component])}))}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=l,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../avatar"),h=n(p),m=e("./ban-details"),b=n(m),y=e("./followers"),v=n(y),g=e("./follows"),_=n(g),E=e("./username-history"),w=n(E),O=e("./header"),k=n(O),N=e("./moderation/nav"),x=n(N),j=e("./navs"),P=e("../with-dropdown"),C=n(P),S=e("../../index"),T=n(S),M=e("../../reducers/profile"),L=e("../../services/polls"),R=n(L),A=e("../../services/store"),I=n(A),U=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){I["default"].dispatch((0,M.hydrate)(e))},a.toggleNav=function(){"pages"===a.state.dropdown?a.setState({dropdown:!1}):a.setState({dropdown:"pages"})},a.toggleModeration=function(){"moderation"===a.state.dropdown?a.setState({dropdown:!1}):a.setState({dropdown:"moderation"})},a.startPolling(e.profile.api_url.root),a}return s(t,e),u(t,[{key:"startPolling",value:function(e){R["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"getNavDropdown",value:function(){return"pages"===this.state.dropdown?d["default"].createElement(j.CompactNav,{pages:T["default"].get("PROFILE_PAGES"),baseUrl:T["default"].get("PROFILE").absolute_url,profile:this.props.profile,toggleModeration:this.toggleModeration,hideNav:this.hideNav}):"moderation"===this.state.dropdown?d["default"].createElement(x["default"],{profile:this.props.profile,toggleNav:this.toggleNav,hideNav:this.hideNav}):null}},{key:"getClassName",value:function(){var e="page page-user-profile";return e}},{key:"render",value:function(){return d["default"].createElement("div",{className:this.getClassName()},d["default"].createElement(k["default"],{user:this.props.user,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration}),d["default"].createElement("div",{className:this.getCompactNavClassName()},this.getNavDropdown()),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement("div",{className:"profile-side-avatar"},d["default"].createElement(h["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{pages:T["default"].get("PROFILE_PAGES"),baseUrl:T["default"].get("PROFILE").absolute_url,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(C["default"]);a["default"]=U;var D=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"container"},d["default"].createElement("p",null,"Hello, I'm placeholder for "+this.props.route.name))}}]),t}(d["default"].Component),H={posts:D,threads:D,followers:v["default"],follows:_["default"],"username-history":w["default"],"ban-details":b["default"]}},{"../../index":170,"../../reducers/profile":213,"../../services/polls":229,"../../services/store":232,"../avatar":2,"../with-dropdown":168,"./ban-details":71,"./followers":73,"./follows":74,"./header":75,"./moderation/nav":79,"./navs":80,"./username-history":82,react:"react","react-redux":"react-redux"}],82:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../search"),p=n(f),h=e("../username-history/root"),m=n(h),b=e("../../index"),y=n(b),v=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},y["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(y["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,v.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]?1:arguments[0],a=arguments.length<=1||void 0===arguments[1]?null:arguments[1];
+url:Object.assign(n.props.post.url,{hidden_by:n.props.user.absolute_url})}));var e={op:"replace",path:"is-hidden",value:!0};y["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(m.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{is_hidden:!1}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?null:d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))}}]),t}(d["default"].Component),O=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(m.patch(n.props.post,{is_hidden:!1}));var e={op:"replace",path:"is-hidden",value:!1};y["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(m.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{is_hidden:!0}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide")):null}}]),t}(d["default"].Component),k=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"));e&&n["delete"]()},n["delete"]=function(){E["default"].dispatch(m.patch(n.props.post,{isDeleted:!0})),y["default"]["delete"](n.props.post.api.index).then(function(){g["default"].success(gettext("Event has been deleted."))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(m.patch(n.props.post,{isDeleted:!1}))})},r=a,s(n,r)}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))}}]),t}(d["default"].Component)},{"../../../reducers/post":211,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,moment:"moment",react:"react"}],53:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"post-avatar"},o["default"].createElement("span",{className:"material-icon"},s[e.post.event_type]))};var r=e("react"),o=n(r),s={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpoinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off"}},{react:"react"}],54:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="event post-hidden"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement("div",{className:"post-border"},o["default"].createElement(l["default"],e),o["default"].createElement(p["default"],{className:"post-body",post:e.post},o["default"].createElement(d["default"],e),o["default"].createElement(u["default"],e))))};var r=e("react"),o=n(r),s=e("./icon"),l=n(s),i=e("./info"),u=n(i),c=e("./message"),d=n(c),f=e("../waypoint"),p=n(f)},{"../waypoint":70,"./icon":53,"./info":55,"./message":56,react:"react"}],55:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e.post.is_hidden){var t=null;t=e.post.url.hidden_by?interpolate(b,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(m,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(p,{absolute:(0,c["default"])(e.post.hidden_on.format("LLL")),relative:(0,c["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(b,{url:(0,c["default"])(e.post.poster.absolute_url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(m,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(h,{url:(0,c["default"])(e.post.url.index),absolute:(0,c["default"])(e.post.posted_on.format("LLL")),relative:(0,c["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function s(e){return e.user.acl.can_see_users_ips?i["default"].createElement("li",{className:"event-ip"},i["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("ul",{className:"list-inline event-info"},i["default"].createElement(r,e),i["default"].createElement(o,e),i["default"].createElement(s,e),i["default"].createElement(f["default"],e))},a.Hidden=r,a.Poster=o,a.Ip=s;var l=e("react"),i=n(l),u=e("../../../utils/escape-html"),c=n(u),d=e("./controls"),f=n(d),p='<abbr title="%(absolute)s">%(relative)s</abbr>',h='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',m='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":238,"./controls":52,react:"react"}],56:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,c["default"])(gettext("Thread title has been changed from %(old_title)s.")),a=interpolate(p,{old_title:(0,c["default"])(e.post.event_context.old_title)},!0),n=interpolate(t,{old_title:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,c["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(f,{url:(0,c["default"])(e.post.event_context.from_category.url),name:(0,c["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function s(e){var t=(0,c["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(h,{merged_thread:(0,c["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return i["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d[e.post.event_type]?i["default"].createElement("p",{className:"event-message"},d[e.post.event_type]):"changed_title"===e.post.event_type?i["default"].createElement(r,e):"moved"===e.post.event_type?i["default"].createElement(o,e):"merged"===e.post.event_type?i["default"].createElement(s,e):null},a.ChangedTitle=r,a.Moved=o,a.Merged=s;var l=e("react"),i=n(l),u=e("../../../utils/escape-html"),c=n(u),d={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden.")},f='<a href="%(url)s" class="item-title">%(name)s</a>',p='<span class="item-title">%(old_title)s</span>',h='<span class="item-title">%(merged_thread)s</span>'},{"../../../utils/escape-html":238,react:"react"}],57:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?l["default"].createElement(u["default"],e):l["default"].createElement(d["default"],e)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.posts.isLoaded?l["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return l["default"].createElement(r,o({key:t.id,post:t},e))})):l["default"].createElement("ul",{className:"posts-list ui-preview"},l["default"].createElement(p["default"],null))},a.ListItem=r;var s=e("react"),l=n(s),i=e("./event"),u=n(i),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":54,"./post":67,"./post/preview":68,react:"react"}],58:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement(c["default"],{className:"panel-body",post:e.post},i["default"].createElement(f["default"],{markup:e.post.parsed}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(m,{url:(0,h["default"])(e.post.url.hidden_by),user:(0,h["default"])(e.post.hidden_by_name)},!0):interpolate(b,{user:(0,h["default"])(e.post.hidden_by_name)},!0);var a=interpolate(y,{absolute:(0,h["default"])(e.post.hidden_on.format("LLL")),relative:(0,h["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,h["default"])(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement(c["default"],{className:"panel-body panel-body-hidden",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot not see its contents.")),i["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function s(e){return i["default"].createElement(c["default"],{className:"panel-body panel-body-invalid",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),i["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?i["default"].createElement(o,e):e.post.parsed?i["default"].createElement(r,e):i["default"].createElement(s,e)},a.Default=r,a.Hidden=o,a.Invalid=s;var l=e("react"),i=n(l),u=e("../waypoint"),c=n(u),d=e("../../misago-markup"),f=n(d),p=e("../../../utils/escape-html"),h=n(p),m='<a href="%(url)s" class="item-title">%(user)s</a>',b='<span class="item-title">%(user)s</span>',y='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":238,"../../misago-markup":25,"../waypoint":70,react:"react"}],59:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){E["default"].dispatch(m.patch(e.post,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.post.is_unapproved};c(e,t,a)}function s(e){E["default"].dispatch(m.patch(e.post,{is_protected:!0}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.post.is_protected};c(e,t,a)}function l(e){E["default"].dispatch(m.patch(e.post,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.post.is_protected};c(e,t,a)}function i(e){E["default"].dispatch(m.patch(e.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.absolute_url})}));var t=[{op:"replace",path:"is-hidden",value:!0}],a={is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url};c(e,t,a)}function u(e){E["default"].dispatch(m.patch(e.post,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.post.is_hidden};c(e,t,a)}function c(e,t,a){y["default"].patch(e.post.api.index,t).then(function(t){E["default"].dispatch(m.patch(e.post,t))},function(t){400===t.status?g["default"].error(t.detail[0]):g["default"].apiError(t),E["default"].dispatch(m.patch(e.post,a))})}function d(e){var t=confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"));t&&(E["default"].dispatch(m.patch(e.post,{isDeleted:!0})),y["default"]["delete"](e.post.api.index).then(function(){g["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?g["default"].error(t.detail):g["default"].apiError(t),E["default"].dispatch(m.patch(e.post,{isDeleted:!1}))}))}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=s,a.unprotect=l,a.hide=i,a.unhide=u,a.patch=c,a.remove=d;var f=e("moment"),p=r(f),h=e("../../../../reducers/post"),m=n(h),b=e("../../../../services/ajax"),y=r(b),v=e("../../../../services/snackbar"),g=r(v),_=e("../../../../services/store"),E=r(_)},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/snackbar":231,"../../../../services/store":232,moment:"moment"}],60:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Approve=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),h=n(p),m=e("./move"),b=r(m),y=e("./split"),v=r(y),g=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.approve(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(b["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Move"))):null}}]),t}(c["default"].Component),E=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(v["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Split"))):null}}]),t}(c["default"].Component),w=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.protect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&!this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Protect"))):null}}]),t}(c["default"].Component),O=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unprotect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Remove protection"))):null}}]),t}(c["default"].Component),k=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.hide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_hide&&!this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))):null}}]),t}(c["default"].Component),N=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unhide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide"))):null}}]),t}(c["default"].Component),x=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.remove(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":227,"./actions":59,"./move":62,"./split":63,react:"react"}],61:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.can_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return r(e.post.acl)?s["default"].createElement("div",{className:"pull-right dropdown"},s["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},s["default"].createElement("span",{className:"material-icon"},"expand_more")),s["default"].createElement(i["default"],e)):null},a.isVisible=r;var o=e("react"),s=n(o),l=e("./dropdown"),i=n(l)},{"./dropdown":60,react:"react"}],62:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move post")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),h=r(p),m=e("../../../form-group"),b=r(m),y=e("../../../../reducers/post"),v=n(y),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return l(t,e),u(t,[{key:"clean",value:function(){return this.state.url.trim().length?!0:(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(v.patch(this.props.post,{isDeleted:!0})),w["default"].hide(),k["default"].success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move post to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move post"))))))}}]),t}(h["default"]);a["default"]=j},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../button":4,"../../../form":22,"../../../form-group":21,react:"react"}],63:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement(k["default"],null))}function u(e){return h["default"].createElement(c,{className:"modal-dialog modal-message"},h["default"].createElement("div",{className:"message-icon"},h["default"].createElement("span",{className:"material-icon"},"info_outline")),h["default"].createElement("div",{className:"message-body"},h["default"].createElement("p",{className:"lead"},gettext("You can't move this post at the moment.")),h["default"].createElement("p",null,e.message)))}function c(e){return h["default"].createElement("div",{className:e.className,role:"document"},h["default"].createElement("div",{className:"modal-content"},h["default"].createElement("div",{className:"modal-header"},h["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},h["default"].createElement("span",{"aria-hidden":"true"},"×")),h["default"].createElement("h4",{className:"modal-title"},gettext("Split post into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return h["default"].createElement(H,f({},e,{Form:B}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),h=r(p),m=e("../../../button"),b=r(m),y=e("../../../form"),v=r(y),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),S=r(C),T=e("../../../../services/modal"),M=r(T),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),U=e("../../../../utils/validators"),D=n(U),H=a.PostingConfig=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return l(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_URL")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?h["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?h["default"].createElement(B,f({},this.props,{categories:this.state.categories})):h["default"].createElement(i,null)}}]),t}(h["default"].Component),B=a.ModerationForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[D.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return l(t,e),d(t,[{key:"clean",value:function(){return this.isValid()?!0:(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){I["default"].dispatch(P.patch(this.props.post,{isDeleted:!0})),M["default"].hide(),R["default"].success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?M["default"].show(h["default"].createElement(ErrorsModal,{errors:e})):R["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?h["default"].createElement(_["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?h["default"].createElement(_["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?h["default"].createElement(_["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement("form",{onSubmit:this.handleSubmit},h["default"].createElement("div",{className:"modal-body"},h["default"].createElement(_["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},h["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",
+onChange:this.bindInput("title"),value:this.state.title})),h["default"].createElement("div",{className:"clearfix"}),h["default"].createElement(_["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},h["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),h["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),h["default"].createElement("div",{className:"modal-footer"},h["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(v["default"])},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../../utils/validators":247,"../../../button":4,"../../../category-select":12,"../../../form":22,"../../../form-group":21,"../../../modal-loader":26,"../../../select":89,react:"react"}],64:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s(e.post)&&e.post.is_hidden?i["default"].createElement("div",{className:"post-status-message post-status-hidden"},i["default"].createElement("span",{className:"material-icon"},"visibility_off"),i["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function o(e){return s(e.post)&&e.post.is_unapproved?i["default"].createElement("div",{className:"post-status-message post-status-unapproved"},i["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),i["default"].createElement("p",null,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function s(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagHidden=r,a.FlagUnapproved=o,a.isVisible=s;var l=e("react"),i=n(l)},{react:"react"}],65:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes||e.acl.can_like)}function i(e){return e.post.acl.can_see_likes?f["default"].createElement("button",{type:"button",className:"btn btn-likes pull-left",disabled:"disabled"},"Likes"):null}function u(e){return e.post.acl.can_like?f["default"].createElement("button",{type:"button",className:"btn btn-like pull-left",disabled:"disabled"},gettext("Like")):null}Object.defineProperty(a,"__esModule",{value:!0}),a.Edit=a.Reply=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return l(e.post)?f["default"].createElement("div",{className:"panel-footer post-footer"},f["default"].createElement(i,e),f["default"].createElement(u,e),f["default"].createElement(m,e),f["default"].createElement(b,e)):null},a.isVisible=l,a.Likes=i,a.Like=u;var d=e("react"),f=n(d),p=e("../../../services/posting"),h=n(p),m=a.Reply=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index,context:{reply:n.props.post.id}})},s=a,o(n,s)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_reply?f["default"].createElement("button",{type:"button",className:"btn btn-primary pull-right",onClick:this.onClick},gettext("Reply")):null}}]),t}(f["default"].Component),b=a.Edit=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h["default"].open({mode:"EDIT",config:n.props.post.api.editor,submit:n.props.post.api.index})},s=a,o(n,s)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?f["default"].createElement("button",{type:"button",className:"btn btn-default pull-right",onClick:this.onClick},gettext("Edit")):null}}]),t}(f["default"].Component)},{"../../../services/posting":230,react:"react"}],66:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?d["default"].createElement("div",{className:(0,b.getStatusClassName)(e.post.poster.status),title:(0,b.getStatusDescription)(e.post.poster,e.post.poster.status)},d["default"].createElement(b.StatusIcon,{status:e.post.poster.status,user:e.post.poster})):null}function o(e){return e.post.poster?d["default"].createElement("a",{className:"item-title",href:e.post.poster.absolute_url},e.post.poster.username):d["default"].createElement("strong",{className:"item-title"},e.post.poster_name)}function s(e){if(e.post.poster){if(e.post.poster.rank.is_default)return null;var t="label-"+(e.post.poster.rank.css_class||"default");return e.post.poster.rank.is_tab?d["default"].createElement("a",{href:e.post.poster.rank.absolute_url,className:"label "+t},e.post.poster.short_title):d["default"].createElement("span",{className:"label "+t},e.post.poster.short_title)}return d["default"].createElement("span",{className:"rank-name item-title"},gettext("Unregistered"))}function l(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0),a=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.fromNow()},!0);return d["default"].createElement("a",{href:e.post.url.index,className:"posted-on",title:t},a)}function i(e){return e.post.is_read?null:d["default"].createElement("span",{className:"label label-warning pull-right"},gettext("New"))}function u(e){var t=e.post.poster&&e.post.poster.id===e.user.id,a=e.post.acl.can_protect,n=e.user.id&&e.post.is_protected&&(t||a);return n?d["default"].createElement("span",{className:"label label-default pull-right",title:gettext("This post is protected and may not be edited.")},gettext("Protected")):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("div",{className:"panel-heading post-heading"},d["default"].createElement(r,e),d["default"].createElement(o,e),d["default"].createElement(s,e),d["default"].createElement(l,e),d["default"].createElement(m["default"],e),d["default"].createElement(p["default"],e),d["default"].createElement(u,e),d["default"].createElement(i,e))},a.PosterStatus=r,a.Poster=o,a.PosterRank=s,a.PostedOn=l,a.UnreadLabel=i,a.ProtectedLabel=u;var c=e("react"),d=n(c),f=e("./controls"),p=n(f),h=e("./select"),m=n(h),b=e("../../user-status")},{"../../user-status":146,"./controls":61,"./select":69,react:"react"}],67:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?s["default"].createElement("a",{href:e.post.poster.absolute_url},s["default"].createElement(i["default"],{size:100,user:e.post.poster})):s["default"].createElement(i["default"],{size:100})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.is_read||(t+=" post-new"),s["default"].createElement("li",{id:"post-"+e.post.id,className:t},s["default"].createElement("div",{className:"post-border"},s["default"].createElement("div",{className:"post-avatar"},s["default"].createElement(r,{post:e.post})),s["default"].createElement("div",{className:"post-body"},s["default"].createElement("div",{className:"panel panel-default panel-post"},s["default"].createElement(m["default"],e),s["default"].createElement(d.FlagHidden,e),s["default"].createElement(d.FlagUnapproved,e),s["default"].createElement(c["default"],e),s["default"].createElement(p["default"],e)))))},a.PosterAvatar=r;var o=e("react"),s=n(o),l=e("../../avatar"),i=n(l),u=e("./body"),c=n(u),d=e("./flags"),f=e("./footer"),p=n(f),h=e("./header"),m=n(h)},{"../../avatar":2,"./body":58,"./flags":64,"./footer":65,"./header":66,react:"react"}],68:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("li",{"class":"post"},s["default"].createElement("div",{className:"post-border"},s["default"].createElement("div",{className:"post-avatar"},s["default"].createElement(i["default"],{size:"100"})),s["default"].createElement("div",{className:"post-body"},s["default"].createElement("div",{className:"panel panel-default panel-post"},s["default"].createElement("div",{className:"panel-heading post-heading"},s["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," "),s["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," ")),s["default"].createElement("div",{className:"panel-body"},s["default"].createElement("article",{className:"misago-markup"},s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),s["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," ")))))))};var o=e("react"),s=r(o),l=e("../../avatar"),i=r(l),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":242,"../../avatar":2,react:"react"}],69:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./controls"),f=e("../../../reducers/posts"),p=n(f),h=e("../../../services/store"),m=r(h),b=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.post.isSelected?m["default"].dispatch(p.deselect(n.props.post)):m["default"].dispatch(p.select(n.props.post))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||(0,d.isVisible)(this.props.post.acl)?c["default"].createElement("div",{className:"pull-right"},c["default"].createElement("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null}}]),t}(c["default"].Component);a["default"]=b},{"../../../reducers/posts":212,"../../../services/store":232,"./controls":61,react:"react"}],70:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../reducers/post"),f=n(d),p=e("../../services/ajax"),h=r(p),m=e("../../services/store"),b=r(m),y=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||$("#post-"+this.props.post.id).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout(function(){b["default"].dispatch(f.patch(e.props.post,{is_read:!0})),h["default"].post(e.props.post.api.read)},1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.props.className},c["default"].createElement("div",{style:{borderColor:"#f00"}},this.props.children))}}]),t}(c["default"].Component);a["default"]=y},{"../../reducers/post":211,"../../services/ajax":221,"../../services/store":232,react:"react"}],71:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("../panel-loader"),p=n(f),h=e("../panel-message"),m=n(h),b=e("../../index"),y=n(b),v=e("../../services/polls"),g=n(v),_=e("../../services/page-title"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),a.setState({isLoaded:!0,error:null,ban:e})},a.error=function(e){a.setState({isLoaded:!0,error:e.detail,ban:null})},y["default"].has("PROFILE_BAN")?a.initWithPreloadedData(y["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api_url.ban),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){g["default"].start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){E["default"].set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){g["default"].stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?d["default"].createElement("div",{className:"panel-body ban-message ban-user-message"},d["default"].createElement("h4",null,gettext("User-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?d["default"].createElement("div",{className:"panel-body ban-message ban-staff-message"},d["default"].createElement("h4",null,gettext("Team-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?d["default"].createElement("div",null,this.getUserMessage(),this.getStaffMessage(),d["default"].createElement("div",{className:"panel-body ban-expires"},d["default"].createElement("h4",null,gettext("Ban expiration")),d["default"].createElement("p",{className:"lead"},this.getExpirationMessage()))):d["default"].createElement("div",null,d["default"].createElement(m["default"],{message:gettext("No ban is active at the moment.")})):this.state.error?d["default"].createElement("div",null,d["default"].createElement(m["default"],{icon:"error_outline",message:this.state.error})):d["default"].createElement("div",null,d["default"].createElement(p["default"],null))}},{key:"render",value:function(){return d["default"].createElement("div",{className:"profile-ban-details"},d["default"].createElement("div",{className:"panel panel-default"},d["default"].createElement("div",{className:"panel-heading"},d["default"].createElement("h3",{className:"panel-title"},gettext("Ban details"))),this.getPanelBody()))}}]),t}(d["default"].Component);a["default"]=w},{"../../index":170,"../../services/page-title":228,"../../services/polls":229,"../panel-loader":39,"../panel-message":40,moment:"moment",react:"react"}],72:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../reducers/profile"),p=e("../../services/ajax"),h=n(p),m=e("../../services/snackbar"),b=n(m),y=e("../../services/store"),v=n(y),g=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?v["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):v["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),h["default"].post(a.props.profile.api_url.follow).then(function(e){a.setState({isLoading:!1}),v["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),b["default"].apiError(e)})},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":213,"../../services/ajax":221,"../../services/snackbar":231,"../../services/store":232,"../button":4,react:"react"}],73:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../button"),f=n(d),p=e("../search"),h=n(p),m=e("../users-list/root"),b=n(m),y=e("../../index"),v=n(y),g=e("../../reducers/users"),_=e("../../services/ajax"),E=n(_),w=e("../../services/snackbar"),O=n(w),k=e("../../services/store"),N=n(k),x=e("../../services/page-title"),j=n(x),P=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),v["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(v["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),i(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},N["default"].dispatch((0,g.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e,t=this,a=arguments.length<=0||void 0===arguments[0]?1:arguments[0],n=arguments.length<=1||void 0===arguments[1]?null:arguments[1];E["default"].get(v["default"].get("USERS_API"),(e={},r(e,this.API_FILTER,this.props.profile.id),r(e,"name",n),r(e,"page",a||1),e),"user-"+this.API_FILTER).then(function(e){1===a?N["default"].dispatch((0,g.hydrate)(e.results)):N["default"].dispatch((0,g.append)(e.results)),t.setState({isLoaded:!0,isBusy:!1,count:e.count,more:e.more,page:e.page,pages:e.pages})},function(e){O["default"].apiError(e)})}},{key:"componentDidMount",value:function(){j["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?c["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):c["default"].createElement("div",null,c["default"].createElement(b["default"],{isLoaded:this.state.isLoaded,users:this.props.users,showRank:!0,cols:2}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("nav",{className:"toolbar"},c["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),c["default"].createElement(h["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),this.getListBody())}}]),t}(c["default"].Component);a["default"]=P},{"../../index":170,"../../reducers/users":220,"../../services/ajax":221,"../../services/page-title":228,"../../services/snackbar":231,"../../services/store":232,"../button":4,"../search":88,"../users-list/root":153,react:"react"}],74:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=(n(i),e("./followers")),c=n(u),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":73,react:"react"}],75:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=e("../dropdown-toggle"),p=n(f),h=e("./follow-button"),m=n(h),b=e("./moderation/nav"),y=n(b),v=e("../user-status"),g=n(v),_=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getUserStatus",value:function(){return u["default"].createElement("li",{className:"user-status-display"},u["default"].createElement(g["default"],{user:this.props.profile,status:this.props.profile.status},u["default"].createElement(v.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),u["default"].createElement(v.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?u["default"].createElement("li",{className:"user-rank"},u["default"].createElement("a",{href:this.props.profile.rank.absolute_url,className:"item-title"},this.props.profile.rank.name)):u["default"].createElement("li",{className:"user-rank"},u["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?u["default"].createElement("li",{className:"user-title"
+},this.props.profile.title):this.props.profile.rank.title?u["default"].createElement("li",{className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return u["default"].createElement("li",{className:"user-joined-on"},u["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?u["default"].createElement("li",{className:"user-email"},u["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?u["default"].createElement(m["default"],{className:"btn btn-aligned hidden-xs hidden-sm",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?u["default"].createElement("div",{className:"btn-group btn-aligned hidden-xs hidden-sm"},u["default"].createElement("button",{className:"btn btn-default btn-moderate dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),u["default"].createElement(y["default"],{profile:this.props.profile})):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page-header"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},u["default"].createElement("h1",{className:"pull-left"},u["default"].createElement(d["default"],{user:this.props.profile,size:"100"}),u["default"].createElement("span",{className:"user-name"},this.props.profile.username)),this.getFollowButton(),this.getModerationButton(),u["default"].createElement(p["default"],{toggleNav:this.props.toggleNav,dropdown:this.props.dropdown})))),u["default"].createElement("div",{className:"header-stats"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},u["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))))}}]),t}(u["default"].Component);a["default"]=_},{"../avatar":2,"../dropdown-toggle":18,"../user-status":146,"./follow-button":72,"./moderation/nav":79,react:"react"}],76:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),y=n(b),v=e("../../yes-no-switch"),g=n(v),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api_url.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return this.isValid()?!0:(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api_url.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(m["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(m["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(m["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":220,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,"../../yes-no-switch":169,react:"react"}],77:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),h=r(p),m=e("../../form-group"),b=r(m),y=e("../../modal-loader"),v=r(y),g=e("../../modal-message"),_=r(g),E=e("../../../index"),w=r(E),O=e("../../../reducers/username-history"),k=e("../../../reducers/users"),N=e("../../../services/ajax"),x=r(N),j=e("../../../services/snackbar"),P=r(j),C=e("../../../services/store"),S=r(C),T=e("../../../utils/validators"),M=n(T),L=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[M.usernameContent(),M.usernameMinLength(w["default"].get("SETTINGS")),M.usernameMaxLength(w["default"].get("SETTINGS"))]}},a}return l(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;x["default"].get(this.props.profile.api_url.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return this.isValid()?!0:(P["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return x["default"].post(this.props.profile.api_url.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),S["default"].dispatch((0,O.addNameChange)(e,this.props.profile,this.props.user)),S["default"].dispatch((0,k.updateUsername)(this.props.profile,e.username,e.slug)),P["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username"},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(h["default"]);a["default"]=L},{"../../../index":170,"../../../reducers/username-history":219,"../../../reducers/users":220,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,"../../../utils/validators":247,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,react:"react"}],78:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),y=n(b),v=e("../../modal-message"),g=n(v),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return s(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api_url["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api_url["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(m["default"],{label:gettext("User content"),labelClass:"col-sm-4",controlClass:"col-sm-8","for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":170,"../../../services/ajax":221,"../../../services/polls":229,"../../button":4,"../../form":22,"../../form-group":21,"../../modal-loader":26,"../../modal-message":27,"../../yes-no-switch":169,react:"react"}],79:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),h=n(p),m=e("./delete-account"),b=n(m),y=e("../../../services/modal"),v=n(y),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showAvatarDialog=function(){v["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){v["default"].show((0,c.connect)(g)(h["default"]))},n.showDeleteDialog=function(){v["default"].show((0,c.connect)(g)(b["default"]))},s=a,o(n,s)}return s(t,e),l(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton(),u["default"].createElement("li",{className:"divider hidden-md hidden-lg"}),u["default"].createElement("li",{className:"dropdown-buttons hidden-md hidden-lg"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.props.toggleNav},u["default"].createElement("span",{className:"material-icon"},"menu"),gettext("Menu"))))}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":227,"./avatar-controls":76,"./change-username":77,"./delete-account":78,react:"react","react-redux":"react-redux"}],80:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactNav=a.SideNav=void 0;var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-router"),d=e("../li"),f=n(d),p=e("./follow-button"),h=n(p),m=e("../../index"),b=(n(m),a.SideNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getMeta",value:function(e){return e?u["default"].createElement("span",{className:"badge"},this.props.profile[e.attr]):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name,e.getMeta(t.meta))}))}}]),t}(u["default"].Component));a.CompactNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"showSpecialOptions",value:function(){return this.props.profile.acl.can_follow||this.props.profile.acl.can_moderate}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?u["default"].createElement(h["default"],{className:"btn btn-block",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.props.toggleModeration},u["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")):null}},{key:"getSpecialOptions",value:function(){return this.showSpecialOptions()?u["default"].createElement("li",{className:"dropdown-buttons"},this.getFollowButton(),this.getModerationButton()):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},this.getSpecialOptions(),this.showSpecialOptions()?u["default"].createElement("li",{className:"divider"}):null,this.props.pages.map(function(t){return u["default"].createElement(f["default"],{path:e.props.baseUrl+t.component+"/",key:t.component},u["default"].createElement(c.Link,{to:e.props.baseUrl+t.component+"/",onClick:e.props.hideNav},u["default"].createElement("span",{className:"material-icon"},t.icon),t.name,e.getMeta(t.meta)))}))}}]),t}(b)},{"../../index":170,"../li":23,"./follow-button":72,react:"react","react-router":"react-router"}],81:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users,profile:e.profile,"username-history":e["username-history"]}}function i(){var e=[];return T["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:T["default"].get("PROFILE").absolute_url+t.component+"/",component:(0,f.connect)(l)(H[t.component])}))}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=l,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../avatar"),h=n(p),m=e("./ban-details"),b=n(m),y=e("./followers"),v=n(y),g=e("./follows"),_=n(g),E=e("./username-history"),w=n(E),O=e("./header"),k=n(O),N=e("./moderation/nav"),x=n(N),j=e("./navs"),P=e("../with-dropdown"),C=n(P),S=e("../../index"),T=n(S),M=e("../../reducers/profile"),L=e("../../services/polls"),R=n(L),A=e("../../services/store"),I=n(A),U=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){I["default"].dispatch((0,M.hydrate)(e))},a.toggleNav=function(){"pages"===a.state.dropdown?a.setState({dropdown:!1}):a.setState({dropdown:"pages"})},a.toggleModeration=function(){"moderation"===a.state.dropdown?a.setState({dropdown:!1}):a.setState({dropdown:"moderation"})},a.startPolling(e.profile.api_url.root),a}return s(t,e),u(t,[{key:"startPolling",value:function(e){R["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"getNavDropdown",value:function(){return"pages"===this.state.dropdown?d["default"].createElement(j.CompactNav,{pages:T["default"].get("PROFILE_PAGES"),baseUrl:T["default"].get("PROFILE").absolute_url,profile:this.props.profile,toggleModeration:this.toggleModeration,hideNav:this.hideNav}):"moderation"===this.state.dropdown?d["default"].createElement(x["default"],{profile:this.props.profile,toggleNav:this.toggleNav,hideNav:this.hideNav}):null}},{key:"getClassName",value:function(){var e="page page-user-profile";return e}},{key:"render",value:function(){return d["default"].createElement("div",{className:this.getClassName()},d["default"].createElement(k["default"],{user:this.props.user,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration}),d["default"].createElement("div",{className:this.getCompactNavClassName()},this.getNavDropdown()),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement("div",{className:"profile-side-avatar"},d["default"].createElement(h["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{pages:T["default"].get("PROFILE_PAGES"),baseUrl:T["default"].get("PROFILE").absolute_url,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(C["default"]);a["default"]=U;var D=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"container"},d["default"].createElement("p",null,"Hello, I'm placeholder for "+this.props.route.name))}}]),t}(d["default"].Component),H={posts:D,threads:D,followers:v["default"],follows:_["default"],"username-history":w["default"],"ban-details":b["default"]}},{"../../index":170,"../../reducers/profile":213,"../../services/polls":229,"../../services/store":232,"../avatar":2,"../with-dropdown":168,"./ban-details":71,"./followers":73,"./follows":74,"./header":75,"./moderation/nav":79,"./navs":80,"./username-history":82,react:"react","react-redux":"react-redux"}],82:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../search"),p=n(f),h=e("../username-history/root"),m=n(h),b=e("../../index"),y=n(b),v=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},y["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(y["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,v.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]?1:arguments[0],a=arguments.length<=1||void 0===arguments[1]?null:arguments[1];
 _["default"].get(y["default"].get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:a,page:t||1},"search-username-history").then(function(a){1===t?k["default"].dispatch((0,v.hydrate)(a.results)):k["default"].dispatch((0,v.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var a=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(a,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"profile-username-history"},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),u["default"].createElement(m["default"],{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":170,"../../reducers/username-history":219,"../../services/ajax":221,"../../services/page-title":228,"../../services/snackbar":231,"../../services/store":232,"../button":4,"../search":88,"../username-history/root":152,react:"react"}],83:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=e("./register.js"),p=n(f),h=e("../services/captcha"),m=n(h),b=e("../services/modal"),y=n(b),v=e("../services/snackbar"),g=n(v),_=e("../services/zxcvbn"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.showRegisterModal=function(){"closed"===misago.get("SETTINGS").account_activation?g["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?y["default"].show(p["default"]):(a.setState({isLoading:!0}),Promise.all([m["default"].load(),E["default"].load()]).then(function(){a.state.isLoaded||a.setState({isLoading:!1,isLoaded:!1}),y["default"].show(p["default"])}))},a.state={isLoading:!1,isLoaded:!1},a}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.showRegisterModal,className:"btn "+this.getClassName(),disabled:this.state.isLoaded},gettext("Register"),this.state.isLoading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=w},{"../services/captcha":223,"../services/modal":227,"../services/snackbar":231,"../services/zxcvbn":233,"./loader":24,"./register.js":84,react:"react"}],84:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.RegisterComplete=a.RegisterForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./button"),f=r(d),p=e("./form"),h=r(p),m=e("./form-group"),b=r(m),y=e("./password-strength"),v=r(y),g=e(".."),_=r(g),E=e("../services/ajax"),w=r(E),O=e("../services/auth"),k=r(O),N=e("../services/captcha"),x=r(N),j=e("../services/modal"),P=r(j),C=e("../services/snackbar"),S=r(C),T=e("../utils/banned-page"),M=r(T),L=e("../utils/validators"),R=n(L),A=a.RegisterForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[R.usernameContent(),R.usernameMinLength(_["default"].get("SETTINGS")),R.usernameMaxLength(_["default"].get("SETTINGS"))],email:[R.email()],password:[R.passwordMinLength(_["default"].get("SETTINGS"))],captcha:x["default"].validator()},errors:{}},a}return l(t,e),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(S["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return w["default"].post(_["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),S["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,M["default"])(e.ban),P["default"].hide()):S["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return _["default"].get("TERMS_OF_SERVICE_URL")?c["default"].createElement("a",{href:_["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions.")):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("Username"),"for":"id_username",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.username},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),c["default"].createElement(b["default"],{label:gettext("E-mail"),"for":"id_email",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.email},c["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),c["default"].createElement(b["default"],{label:gettext("Password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.password,extra:c["default"].createElement(v["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),x["default"].component({form:this,labelClass:"col-sm-4",controlClass:"col-sm-8"})),c["default"].createElement("div",{className:"modal-footer"},this.getLegalFootNote(),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Register account"))))))}}]),t}(h["default"]),I=a.RegisterComplete=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),c["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0))))))}}]),t}(c["default"].Component),U=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.completeRegistration=function(e){"active"===e.activation?(P["default"].hide(),k["default"].signIn(e)):a.setState({complete:e})},a.state={complete:!1},a}return l(t,e),i(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(I,{activation:this.state.complete.activation,username:this.state.complete.username,email:this.state.complete.email}):c["default"].createElement(A,{callback:this.completeRegistration})}}]),t}(c["default"].Component);a["default"]=U},{"..":170,"../services/ajax":221,"../services/auth":222,"../services/captcha":223,"../services/modal":227,"../services/snackbar":231,"../utils/banned-page":234,"../utils/validators":247,"./button":4,"./form":22,"./form-group":21,"./password-strength":41,react:"react"}],85:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LinkSent=a.RequestLinkForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../index"),f=r(d),p=e("./button"),h=r(p),m=e("./form"),b=r(m),y=e("../services/ajax"),v=r(y),g=e("../services/snackbar"),_=r(g),E=e("../utils/validators"),w=n(E),O=e("../utils/banned-page"),k=r(O),N=a.RequestLinkForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[w.email()]}},a}return l(t,e),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return v["default"].post(f["default"].get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?_["default"].info(e.detail):403===e.status&&e.ban?(0,k["default"])(e.ban):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(h["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(b["default"]),x=a.LinkSent=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),j=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return l(t,e),i(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(x,{user:this.state.complete,callback:this.reset}):c["default"].createElement(N,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=j},{"../index":170,"../services/ajax":221,"../services/snackbar":231,"../utils/banned-page":234,"../utils/validators":247,"./button":4,"./form":22,react:"react"}],86:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.AccountInactivePage=a.LinkSent=a.RequestResetForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("react-dom"),f=r(d),p=e("../index"),h=r(p),m=e("./button"),b=r(m),y=e("./form"),v=r(y),g=e("../services/ajax"),_=r(g),E=e("../services/snackbar"),w=r(E),O=e("../utils/validators"),k=n(O),N=e("../utils/banned-page"),x=r(N),j=a.RequestResetForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[k.email()]}},a}return l(t,e),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(w["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(h["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,x["default"])(e.ban):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(b["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(v["default"]),P=a.LinkSent=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),C=a.AccountInactivePage=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:h["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),S=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return l(t,e),i(t,[{key:"showInactivePage",value:function(e){f["default"].render(c["default"].createElement(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(P,{user:this.state.complete,callback:this.reset}):c["default"].createElement(j,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);a["default"]=S},{"../index":170,"../services/ajax":221,"../services/snackbar":231,"../utils/banned-page":234,"../utils/validators":247,"./button":4,"./form":22,react:"react","react-dom":"react-dom"}],87:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.PasswordChangedPage=a.ResetPasswordForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("react-dom"),f=r(d),p=e("../index"),h=r(p),m=e("./button"),b=r(m),y=e("./form"),v=r(y),g=e("./sign-in.js"),_=r(g),E=e("../services/ajax"),w=r(E),O=e("../services/auth"),k=r(O),N=e("../services/modal"),x=r(N),j=e("../services/snackbar"),P=r(j),C=e("../utils/validators"),S=n(C),T=e("../utils/banned-page"),M=r(T),L=a.ResetPasswordForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,password:"",validators:{password:[S.passwordMinLength(h["default"].get("SETTINGS"))]}},a}return l(t,e),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(this.state.password.trim().length?P["default"].error(this.state.errors.password[0]):P["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return w["default"].post(h["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,M["default"])(e.ban):P["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-reset-password"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement(b["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(v["default"]),R=a.PasswordChangedPage=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){x["default"].show(_["default"])}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(c["default"].Component),A=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.complete=function(e){k["default"].softSignOut(),$('#hidden-login-form input[name="redirect_to"]').remove(),f["default"].render(c["default"].createElement(R,{user:e}),document.getElementById("page-mount"))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement(L,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=A},{"../index":170,"../services/ajax":221,"../services/auth":222,"../services/modal":227,"../services/snackbar":231,"../utils/banned-page":234,"../utils/validators":247,"./button":4,"./form":22,"./sign-in.js":90,react:"react","react-dom":"react-dom"}],88:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),u["default"].createElement("span",{className:"material-icon"},"search"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],89:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.change=function(e){return function(){n.props.onChange({target:{value:e}})}},s=a,o(n,s)}return s(t,e),l(t,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map(function(a){a.value===e.props.value&&(t=a)}),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"btn-group btn-select-group"},u["default"].createElement("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel()),u["default"].createElement("ul",{className:"dropdown-menu"},this.props.choices.map(function(t,a){return u["default"].createElement("li",{key:a},u["default"].createElement("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},u["default"].createElement("span",{className:"material-icon"},t.icon),t.label))})))}}]),t}(u["default"].Component);
 a["default"]=c},{react:"react"}],90:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var l=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../index"),d=n(c),f=e("./button"),p=n(f),h=e("./form"),m=n(h),b=e("../services/ajax"),y=n(b),v=e("../services/modal"),g=n(v),_=e("../services/snackbar"),E=n(_),w=e("../utils/banned-page"),O=n(w),k=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},a}return s(t,e),l(t,[{key:"clean",value:function(){return this.isValid()?!0:(E["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return y["default"].post(d["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(y["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?E["default"].info(e.detail):"inactive_user"===e.code?(E["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,O["default"])(e.detail),g["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),g["default"].hide()):E["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?u["default"].createElement("a",{href:d["default"].get("REQUEST_ACTIVATION_URL"),className:"btn btn-success btn-block"},gettext("Activate account")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{id:"id_username",className:"form-control",type:"text",disabled:this.state.isLoading,placeholder:gettext("Username or e-mail"),onChange:this.bindInput("username"),value:this.state.username}))),u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{id:"id_password",className:"form-control",type:"password",disabled:this.state.isLoading,placeholder:gettext("Password"),onChange:this.bindInput("password"),value:this.state.password})))),u["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),u["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),u["default"].createElement("a",{href:d["default"].get("FORGOTTEN_PASSWORD_URL"),className:"btn btn-default btn-block"},gettext("Forgot password?"))))))}}]),t}(m["default"]);a["default"]=k},{"../index":170,"../services/ajax":221,"../services/modal":227,"../services/snackbar":231,"../utils/banned-page":234,"./button":4,"./form":22,react:"react"}],91:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return e.snackbar}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=l;var u=e("react"),c=n(u),d={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};a.Snackbar=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+d[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],92:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("li",null,s["default"].createElement("a",{href:e.node.absolute_url},e.node.name))}Object.defineProperty(a,"__esModule",{value:!0}),a.Breadcrumb=r,a["default"]=function(e){return s["default"].createElement("div",{className:"page-breadcrumbs"},s["default"].createElement("div",{className:"container"},s["default"].createElement("ol",{className:"breadcrumb"},e.path.map(function(e){return s["default"].createElement(r,{key:e.id,node:e})}))))};var o=e("react"),s=n(o)},{react:"react"}],93:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.user.id&&(0,u.isModerationVisible)(e.thread)?s["default"].createElement("div",{className:"btn-group pull-right"},s["default"].createElement("button",{"aria-expanded":"false","aria-haspopup":"true",className:"btn btn-default dropdown-toggle","data-toggle":"dropdown",disable:e.thread.isBusy,type:"button"},s["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Moderation")),s["default"].createElement(u.ModerationControls,{posts:e.posts,thread:e.thread,user:e.user})):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("div",{className:"page-header with-stats with-breadcrumbs"},s["default"].createElement(i["default"],{path:e.thread.path}),s["default"].createElement("div",{className:"container"},s["default"].createElement(p["default"],{thread:e.thread,user:e.user}),s["default"].createElement(r,{posts:e.posts,thread:e.thread,user:e.user})),s["default"].createElement(d["default"],{thread:e.thread}))},a.Moderation=r;var o=e("react"),s=n(o),l=e("./breadcrumbs"),i=n(l),u=e("../moderation/thread"),c=e("./stats"),d=n(c),f=e("./title"),p=n(f)},{"../moderation/thread":102,"./breadcrumbs":92,"./stats":94,"./title":95,react:"react"}],94:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return 2==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-globally"},d["default"].createElement("span",{className:"material-icon"},"bookmark"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-locally"},d["default"].createElement("span",{className:"material-icon"},"bookmark_border"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}function o(e){return e.thread.is_unapproved?d["default"].createElement("li",{className:"thread-unapproved"},d["default"].createElement("span",{className:"material-icon"},"remove_circle"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):e.thread.has_unapproved_posts?d["default"].createElement("li",{className:"thread-unapproved-posts"},d["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}function s(e){return e.thread.is_hidden?d["default"].createElement("li",{className:"thread-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}function l(e){return e.thread.is_closed?d["default"].createElement("li",{className:"thread-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}function i(e){var t=ngettext("%(replies)s reply","%(replies)s replies",e.thread.replies),a=interpolate(t,{replies:e.thread.replies},!0);return d["default"].createElement("li",{className:"thread-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:"icon-legend"},a))}function u(e){var t=null;t=e.thread.url.last_poster?interpolate(h,{url:(0,p["default"])(e.thread.url.last_poster),user:(0,p["default"])(e.thread.last_poster_name)},!0):interpolate(m,{user:(0,p["default"])(e.thread.last_poster_name)},!0);var a=interpolate(b,{absolute:(0,p["default"])(e.thread.last_post_on.format("LLL")),relative:(0,p["default"])(e.thread.last_post_on.fromNow())},!0),n=interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:a,user:t},!0);return d["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a.Weight=r,a.Unapproved=o,a.IsHidden=s,a.IsClosed=l,a.Replies=i,a.LastReply=u,a["default"]=function(e){return d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("ul",{className:"list-inline"},d["default"].createElement(r,{thread:e.thread}),d["default"].createElement(o,{thread:e.thread}),d["default"].createElement(s,{thread:e.thread}),d["default"].createElement(l,{thread:e.thread}),d["default"].createElement(i,{thread:e.thread}),d["default"].createElement(u,{thread:e.thread}))))};var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),h='<a href="%(url)s" class="poster-title">%(user)s</a>',m='<span class="poster-title">%(user)s</span>',b='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":238,react:"react"}],95:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../form"),f=r(d),p=e("../../posting/utils/validators"),h=e("../../../reducers/thread"),m=n(h),b=e("../../../services/ajax"),y=r(b),v=e("../../../services/snackbar"),g=r(v),_=e("../../../services/store"),E=r(_),w=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onChange=function(e){a.changeValue("title",e.target.value)},a.onEdit=function(){a.setState({isEditing:!0})},a.onCancel=function(){a.setState({title:a.props.thread.title,isEditing:!1})},a.state={isEditing:!1,isLoading:!1,title:e.thread.title,validators:{title:(0,p.getTitleValidators)()},errors:{}},a}return l(t,e),i(t,[{key:"clean",value:function(){if(!this.state.title.trim().length)return g["default"].error(gettext("You have to enter thread title.")),!1;var e=this.validate();return e.title?(g["default"].error(e.title[0]),!1):!0}},{key:"send",value:function(){return y["default"].patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"handleSuccess",value:function(e){E["default"].dispatch(m.update(e)),this.setState({isEditing:!1})}},{key:"handleError",value:function(e){400===e.status?console.log(e):g["default"].apiError(e)}},{key:"render",value:function(){return this.state.isEditing?c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"pull-left title-edit-form"},c["default"].createElement("input",{className:"form-control",type:"text",value:this.state.title,onChange:this.onChange}),c["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,title:gettext("Change title")},c["default"].createElement("span",{className:"material-icon"},"check_circle")),c["default"].createElement("button",{className:"btn btn-default",disabled:this.state.isLoading,onClick:this.onCancel,title:gettext("Cancel"),type:"button"},c["default"].createElement("span",{className:"material-icon"},"cancel"))):this.props.user.id&&this.props.thread.acl.can_edit?c["default"].createElement("div",{className:"pull-left title-editable"},c["default"].createElement("h1",null,this.props.thread.title),c["default"].createElement("button",{className:"btn btn-link",onClick:this.onEdit,title:gettext("Edit title"),type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"))):c["default"].createElement("div",{className:"pull-left"},c["default"].createElement("h1",null,this.props.thread.title))}}]),t}(f["default"]);a["default"]=w},{"../../../reducers/thread":216,"../../../services/ajax":221,"../../../services/snackbar":231,"../../../services/store":232,"../../form":22,"../../posting/utils/validators":51,react:"react"}],96:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){e.selection.forEach(function(e){k["default"].dispatch(b.patch(e,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.is_unapproved};c(e,t,a)}),k["default"].dispatch(v.deselectAll())}function s(e){e.selection.forEach(function(e){k["default"].dispatch(b.patch(e,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.is_protected};c(e,t,a)}),k["default"].dispatch(v.deselectAll())}function l(e){e.selection.forEach(function(e){k["default"].dispatch(b.patch(e,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.is_protected};c(e,t,a)}),k["default"].dispatch(v.deselectAll())}function i(e){e.selection.forEach(function(t){k["default"].dispatch(b.patch(t,{is_hidden:!0,hidden_on:(0,h["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.absolute_url})}));var a=[{op:"replace",path:"is-hidden",value:!0}],n={is_hidden:t.is_hidden,hidden_on:t.hidden_on,hidden_by_name:t.hidden_by_name,url:t.url};c(t,a,n)}),k["default"].dispatch(v.deselectAll())}function u(e){e.selection.forEach(function(e){k["default"].dispatch(b.patch(e,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.is_hidden};c(e,t,a)}),k["default"].dispatch(v.deselectAll())}function c(e,t,a){_["default"].patch(e.api.index,t).then(function(t){k["default"].dispatch(b.patch(e,t))},function(t){400===t.status?w["default"].error(t.detail[0]):w["default"].apiError(t),k["default"].dispatch(b.patch(e,a))})}function d(e){var t=confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"));t&&(e.selection.slice(1).map(function(e){k["default"].dispatch(b.patch(e,{isDeleted:!0}))}),_["default"].post(e.thread.api.posts.merge,{posts:e.selection.map(function(e){return e.id})}).then(function(e){k["default"].dispatch(b.patch(e,b.hydrate(e)))},function(t){400===t.status?w["default"].error(t.detail):w["default"].apiError(t),e.selection.slice(1).map(function(e){k["default"].dispatch(b.patch(e,{isDeleted:!1}))})}),k["default"].dispatch(v.deselectAll()))}function f(e){var t=confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"));t&&(e.selection.forEach(function(e){k["default"].dispatch(b.patch(e,{isDeleted:!0})),_["default"]["delete"](e.api.index).then(function(){},function(t){400===t.status?w["default"].error(t.detail):w["default"].apiError(t),k["default"].dispatch(b.patch(e,{isDeleted:!1}))})}),k["default"].dispatch(v.deselectAll()))}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=s,a.unprotect=l,a.hide=i,a.unhide=u,a.patch=c,a.merge=d,a.remove=f;var p=e("moment"),h=r(p),m=e("../../../../reducers/post"),b=n(m),y=e("../../../../reducers/posts"),v=n(y),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/snackbar"),w=r(E),O=e("../../../../services/store"),k=r(O)},{"../../../../reducers/post":211,"../../../../reducers/posts":212,"../../../../services/ajax":221,"../../../../services/snackbar":231,"../../../../services/store":232,moment:"moment"}],97:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Merge=a.Approve=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(j,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),h=n(p),m=e("./move"),b=r(m),y=e("./split"),v=r(y),g=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.approve(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_approve});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Merge=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.merge(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return this.props.selection.length<2||!this.props.thread.acl.can_merge_posts?null:c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Merge")))}}]),t}(c["default"].Component),E=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(b["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Move"))):null}}]),t}(c["default"].Component),w=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(v["default"],n.props))},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Split"))):null}}]),t}(c["default"].Component),O=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.protect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Protect"))):null}}]),t}(c["default"].Component),k=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unprotect(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unprotect"))):null}}]),t}(c["default"].Component),N=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.hide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_hide});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))):null}}]),t}(c["default"].Component),x=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.unhide(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_unhide});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide"))):null}}]),t}(c["default"].Component),j=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){h.remove(n.props)},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_delete});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":227,"./actions":96,"./move":99,"./split":100,react:"react"}],98:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(e.acl.can_merge_posts&&t.length>1)return!0;var a=!1;return t.forEach(function(e){if(!e.is_event){var t=e.acl.can_approve||e.acl.can_delete||!e.is_hidden&&e.acl.can_hide||e.acl.can_move||e.acl.can_protect||e.is_hidden&&e.acl.can_unhide||e.acl.can_unprotect;t&&(a=!0)}}),a}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){if(!e.user.id||!r(e.thread,e.posts.results))return null;var t=e.posts.results.filter(function(e){return e.isSelected});return l["default"].createElement("div",{className:"pull-right dropup"},l["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",disabled:!t.length,type:"button"},gettext("Posts options")),l["default"].createElement(u["default"],o({selection:t},e)))},a.isVisible=r;var s=e("react"),l=n(s),i=e("./dropdown"),u=n(i)},{"./dropdown":97,react:"react"}],99:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move posts")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),h=r(p),m=e("../../../form-group"),b=r(m),y=e("../../../../reducers/post"),v=n(y),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return l(t,e),u(t,[{key:"clean",value:function(){return this.state.url.trim().length?!0:(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){x["default"].dispatch(v.patch(e,{isDeleted:!0}))}),w["default"].hide(),k["default"].success(gettext("Selected posts were moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move posts to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move posts"))))))}}]),t}(h["default"]);a["default"]=j},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../button":4,"../../../form":22,"../../../form-group":21,react:"react"}],100:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement(k["default"],null))}function u(e){return h["default"].createElement(c,{className:"modal-dialog modal-message"},h["default"].createElement("div",{
 className:"message-icon"},h["default"].createElement("span",{className:"material-icon"},"info_outline")),h["default"].createElement("div",{className:"message-body"},h["default"].createElement("p",{className:"lead"},gettext("You can't move selected posts at the moment.")),h["default"].createElement("p",null,e.message)))}function c(e){return h["default"].createElement("div",{className:e.className,role:"document"},h["default"].createElement("div",{className:"modal-content"},h["default"].createElement("div",{className:"modal-header"},h["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},h["default"].createElement("span",{"aria-hidden":"true"},"×")),h["default"].createElement("h4",{className:"modal-title"},gettext("Split posts into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return h["default"].createElement(H,f({},e,{Form:B}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),h=r(p),m=e("../../../button"),b=r(m),y=e("../../../form"),v=r(y),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),S=r(C),T=e("../../../../services/modal"),M=r(T),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),U=e("../../../../utils/validators"),D=n(U),H=a.PostingConfig=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return l(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_URL")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?h["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?h["default"].createElement(B,f({},this.props,{categories:this.state.categories})):h["default"].createElement(i,null)}}]),t}(h["default"].Component),B=a.ModerationForm=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[D.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return l(t,e),d(t,[{key:"clean",value:function(){return this.isValid()?!0:(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){I["default"].dispatch(P.patch(e,{isDeleted:!0}))}),M["default"].hide(),R["default"].success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?M["default"].show(h["default"].createElement(ErrorsModal,{errors:e})):R["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?h["default"].createElement(_["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?h["default"].createElement(_["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?h["default"].createElement(_["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},h["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return h["default"].createElement(c,{className:"modal-dialog"},h["default"].createElement("form",{onSubmit:this.handleSubmit},h["default"].createElement("div",{className:"modal-body"},h["default"].createElement(_["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},h["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),h["default"].createElement("div",{className:"clearfix"}),h["default"].createElement(_["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},h["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),h["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),h["default"].createElement("div",{className:"modal-footer"},h["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split posts")))))}}]),t}(v["default"])},{"../../../../reducers/post":211,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../../utils/validators":247,"../../../button":4,"../../../category-select":12,"../../../form":22,"../../../form-group":21,"../../../modal-loader":26,"../../../select":89,react:"react"}],101:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./merge"),f=r(d),p=e("./move"),h=r(p),m=e("../../../../reducers/thread"),b=n(m),y=e("../../../../services/ajax"),v=r(y),g=e("../../../../services/modal"),_=r(g),E=e("../../../../services/snackbar"),w=r(E),O=e("../../../../services/store"),k=r(O),N=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.callApi=function(e,t){k["default"].dispatch(b.busy()),e.push({op:"add",path:"acl",value:!0}),v["default"].patch(n.props.thread.api.index,e).then(function(e){k["default"].dispatch(b.update(e)),k["default"].dispatch(b.release()),w["default"].success(t)},function(e){k["default"].dispatch(b.release()),400===e.status?w["default"].error(e.detail[0]):w["default"].apiError(e)})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))},n.move=function(){_["default"].show(c["default"].createElement(h["default"],{posts:n.props.posts,thread:n.props.thread}))},n.merge=function(){_["default"].show(c["default"].createElement(f["default"],{thread:n.props.thread}))},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(k["default"].dispatch(b.busy()),v["default"]["delete"](n.props.thread.api.index).then(function(e){w["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.absolute_url},function(e){k["default"].dispatch(b.release()),w["default"].apiError(e)}))},r=a,s(n,r)}return l(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return this.props.thread.weight<2&&2==this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinGlobally},gettext("Pin globally"))):null}},{key:"getPinLocallyButton",value:function(){return 1!==this.props.thread.weight&&this.props.thread.acl.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinLocally},gettext("Pin locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.thread.weight>0&&this.props.thread.acl.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unpin},gettext("Unpin"))):null}},{key:"getMoveButton",value:function(){return this.props.thread.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.move},gettext("Move"))):null}},{key:"getMergeButton",value:function(){return this.props.thread.acl.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.merge},gettext("Merge"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.approve},gettext("Approve"))):null}},{key:"getOpenButton",value:function(){return this.props.thread.is_closed&&this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.open},gettext("Open"))):null}},{key:"getCloseButton",value:function(){return!this.props.thread.is_closed&&this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.close},gettext("Close"))):null}},{key:"getUnhideButton",value:function(){return this.props.thread.is_hidden&&this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unhide},gettext("Unhide"))):null}},{key:"getHideButton",value:function(){return!this.props.thread.is_hidden&&this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.hide},gettext("Hide"))):null}},{key:"getDeleteButton",value:function(){return 2==this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this["delete"]},gettext("Delete"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu"},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component);a["default"]=N},{"../../../../reducers/thread":216,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"./merge":104,"./move":105,react:"react"}],102:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.isModerationVisible=a.ModerationControls=void 0;var r=e("./controls"),o=n(r),s=e("./is-visible"),l=n(s);a.ModerationControls=o["default"],a.isModerationVisible=l["default"]},{"./controls":101,"./is-visible":103}],103:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.acl.can_approve&&e.is_unapproved||e.acl.can_close||e.acl.can_hide||e.acl.can_move||e.acl.can_pin}},{}],104:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Merge thread")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../form"),p=r(f),h=e("../../../form-group"),m=r(h),b=e("../../../../reducers/thread"),y=n(b),v=e("../../../../services/ajax"),g=r(v),_=e("../../../../services/modal"),E=(r(_),e("../../../../services/snackbar")),w=r(E),O=e("../../../../services/store"),k=r(O),N=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return l(t,e),u(t,[{key:"clean",value:function(){return this.state.url.trim().length?!0:(w["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return k["default"].dispatch(y.busy()),g["default"].post(this.props.thread.api.merge,{thread_url:this.state.url})}},{key:"handleSuccess",value:function(e){w["default"].success(gettext("Thread has been merged with other one.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?w["default"].error(e.detail):w["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(m["default"],{"for":"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Merge thread"))))))}}]),t}(p["default"]);a["default"]=N},{"../../../../reducers/thread":216,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../form":22,"../../../form-group":21,react:"react"}],105:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return p["default"].createElement("div",{className:"modal-header"},p["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},p["default"].createElement("span",{"aria-hidden":"true"},"×")),p["default"].createElement("h4",{className:"modal-title"},gettext("Move thread")))}function u(e){return p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement(E["default"],null)))}function c(e){return p["default"].createElement("div",{className:"modal-dialog modal-message",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"message-icon"},p["default"].createElement("span",{className:"material-icon"},"info_outline")),p["default"].createElement("div",{className:"message-body"},p["default"].createElement("p",{className:"lead"},gettext("You can't move this thread at the moment.")),p["default"].createElement("p",null,e.message))))}Object.defineProperty(a,"__esModule",{value:!0});var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i,a.ModalLoading=u,a.ModalMessage=c;var f=e("react"),p=r(f),h=e("../../../form"),m=r(h),b=e("../../../form-group"),y=r(b),v=e("../../../category-select"),g=r(v),_=e("../../../modal-loader"),E=r(_),w=e("../../../../reducers/posts"),O=n(w),k=e("../../../../reducers/thread"),N=n(k),x=e("../../../.."),j=r(x),P=e("../../../../services/ajax"),C=r(P),S=e("../../../../services/modal"),T=r(S),M=e("../../../../services/snackbar"),L=r(M),R=e("../../../../services/store"),A=r(R),I=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));return a.onCategoryChange=function(e){a.changeValue("category",e.target.value)},a.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},a}return l(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;C["default"].get(j["default"].get("THREAD_EDITOR_URL")).then(function(t){var a=null,n=t.map(function(e){return e.post===!1||a||(a=e.id),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});e.setState({isReady:!0,category:a,categories:n})},function(t){e.setState({isError:t.detail})})}},{key:"send",value:function(){return A["default"].dispatch(N.busy()),C["default"].patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){C["default"].get(this.props.thread.api.posts,{page:this.props.posts.page}).then(function(e){A["default"].dispatch(N.replace(e)),A["default"].dispatch(O.load(e.post_set)),A["default"].dispatch(N.release()),L["default"].success(gettext("Thread has been moved.")),T["default"].hide()},function(e){A["default"].dispatch(N.release()),L["default"].apiError(e)})}},{key:"handleError",value:function(e){400===e.status?L["default"].error(e.detail[0]):L["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("form",{onSubmit:this.handleSubmit},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"modal-body"},p["default"].createElement(y["default"],{"for":"id_category",label:gettext("New category")},p["default"].createElement(g["default"],{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),p["default"].createElement("div",{className:"modal-footer"},p["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Move thread")))))):this.state.isError?p["default"].createElement(c,{message:this.state.isError}):p["default"].createElement(u,null)}}]),t}(m["default"]);a["default"]=I},{"../../../..":170,"../../../../reducers/posts":212,"../../../../reducers/thread":216,"../../../../services/ajax":221,"../../../../services/modal":227,"../../../../services/snackbar":231,"../../../../services/store":232,"../../../category-select":12,"../../../form":22,"../../../form-group":21,"../../../modal-loader":26,react:"react"}],106:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.posts.pages>1?d["default"].createElement("ul",{className:"pagination"},d["default"].createElement(o,e),d["default"].createElement(s,e),d["default"].createElement(l,e),d["default"].createElement(i,e)):null}function o(e){return e.posts.isLoaded&&e.posts.first?d["default"].createElement("li",null,d["default"].createElement(f.Link,{to:e.thread.url.index,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))):d["default"].createElement("li",{className:"disabled"},d["default"].createElement("span",{title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")))}function s(e){if(e.posts.isLoaded&&e.posts.page>1){var t="";return e.posts.previous&&(t=e.posts.previous+"/"),d["default"].createElement("li",null,d["default"].createElement(f.Link,{to:e.thread.url.index+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left")))}return d["default"].createElement("li",{className:"disabled"},d["default"].createElement("span",{title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left")))}function l(e){if(e.posts.isLoaded&&e.posts.more){var t="";return e.posts.next&&(t=e.posts.next+"/"),d["default"].createElement("li",null,d["default"].createElement(f.Link,{to:e.thread.url.index+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right")))}return d["default"].createElement("li",{className:"disabled"},d["default"].createElement("span",{title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right")))}function i(e){return e.posts.isLoaded&&e.posts.last?d["default"].createElement("li",null,d["default"].createElement(f.Link,{to:e.thread.url.index+e.posts.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))):d["default"].createElement("li",{className:"disabled"},d["default"].createElement("span",{title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more posts in this thread."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("nav",{className:"misago-pagination pull-left"},d["default"].createElement(r,e),d["default"].createElement(u,{more:e.posts.more}))},a.Pager=r,a.FirstPage=o,a.PreviousPage=s,a.NextPage=l,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router")},{react:"react","react-router":"react-router"}],107:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("button",{className:e.className||"btn btn-success",onClick:e.onClick,type:"button"},o["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Reply"))};var r=e("react"),o=n(r)},{react:"react"}],108:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}function o(){var e=c["default"].get("THREAD"),t=e.url.index.replace(e.slug+"-"+e.pk,":slug");return[{path:t,component:(0,s.connect)(r)(i["default"])},{path:t+":page/",component:(0,s.connect)(r)(i["default"])}]}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.paths=o;var s=e("react-redux"),l=e("./route"),i=n(l),u=e("../../index"),c=n(u)},{"../../index":170,"./route":109,"react-redux":"react-redux"}],109:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),c=e("react"),d=r(c),f=e("../posts-list"),p=r(f),h=e("./header"),m=r(h),b=e("./paginator"),y=r(b),v=e("./toolbar-top"),g=r(v),_=e("./moderation/posts"),E=r(_),w=e("../../reducers/posts"),O=n(w),k=e("../../reducers/thread"),N=n(k),x=e("../../services/ajax"),j=r(x),P=e("../../services/polls"),C=r(P),S=e("../../services/snackbar"),T=r(S),M=e("../../services/posting"),L=r(M),R=e("../../services/store"),A=r(R),I=e("../../services/page-title"),U=r(I),D=function(e){function t(){var e,a,n,r;o(this,t);for(var l=arguments.length,i=Array(l),u=0;l>u;u++)i[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.update=function(e){A["default"].dispatch(N.replace(e)),A["default"].dispatch(O.load(e.post_set)),n.setPageTitle()},n.openReplyForm=function(){L["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index})},r=a,s(n,r)}return l(t,e),u(t,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){if(this.props.posts.isLoaded){var e=1*(this.props.params.page||1);return e!=this.props.posts.page}return!1}},{key:"fetchData",value:function(){var e=this;A["default"].dispatch(O.unload()),j["default"].get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){T["default"].apiError(e)})}},{key:"startPollingApi",value:function(){C["default"].start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){C["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){U["default"].set({title:this.props.thread.title,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-thread"},d["default"].createElement(m["default"],this.props),d["default"].createElement("div",{className:"container"},d["default"].createElement(g["default"],i({

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
misago/static/misago/js/misago.js.map


Некоторые файлы не были показаны из-за большого количества измененных файлов