Просмотр исходного кода

change thread title api, small cleanups

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

+ 2 - 2
frontend/src/components/thread/header/index.js

@@ -1,7 +1,7 @@
 /* jshint ignore:start */
 import React from 'react';
 import Breadcrumbs from './breadcrumbs';
-import { showModeration, ModerationControls } from '../moderation';
+import { isModerationVisible, ModerationControls } from '../moderation/thread';
 import Stats from './stats';
 
 export default function(props) {
@@ -16,7 +16,7 @@ export default function(props) {
 }
 
 export function Moderation(props) {
-  if (props.user.id && showModeration(props.thread)) {
+  if (props.user.id && isModerationVisible(props.thread)) {
     return (
       <div className="btn-group pull-right">
         <button

+ 0 - 310
frontend/src/components/thread/moderation/index.js

@@ -1,310 +0,0 @@
-// jshint ignore:start
-import React from 'react';
-import * as thread from 'misago/reducers/thread';
-import ajax from 'misago/services/ajax'; // jshint ignore:line
-import snackbar from 'misago/services/snackbar'; // jshint ignore:line
-import store from 'misago/services/store'; // jshint ignore:line
-
-export function showModeration(thread) {
-  return (
-    (thread.acl.can_approve && thread.is_unapproved) ||
-    thread.acl.can_close ||
-    thread.acl.can_hide ||
-    thread.acl.can_move ||
-    thread.acl.can_pin
-  );
-}
-
-export class ModerationControls extends React.Component {
-  callApi = (ops, successMessage) => {
-    store.dispatch(thread.busy());
-    ajax.patch(this.props.thread.api.index, ops).then((data) => {
-      store.dispatch(thread.update(data));
-      store.dispatch(thread.release());
-      snackbar.success(successMessage);
-    }, (rejection) => {
-      store.dispatch(thread.release());
-      if (rejection.status === 400) {
-        snackbar.error(rejection.detail[0]);
-      } else {
-        snackbar.apiError(rejection);
-      }
-    });
-  };
-
-  pinGlobally = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'weight',
-        value: 2
-      }
-    ], gettext("Thread has been pinned globally."));
-  };
-
-  pinLocally = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'weight',
-        value: 1
-      }
-    ], gettext("Thread has been pinned locally."));
-  };
-
-  unpin = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'weight',
-        value: 0
-      }
-    ], gettext("Thread has been unpinned."));
-  };
-
-  approve = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'is-unapproved',
-        value: false
-      }
-    ], gettext("Thread has been approved."));
-  };
-
-  open = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'is-closed',
-        value: false
-      }
-    ], gettext("Thread has been opened."));
-  };
-
-  close = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'is-closed',
-        value: true
-      }
-    ], gettext("Thread has been closed."));
-  };
-
-  unhide = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'is-hidden',
-        value: false
-      }
-    ], gettext("Thread has been made visible."));
-  };
-
-  hide = () => {
-    this.callApi([
-      {
-        op: 'replace',
-        path: 'is-hidden',
-        value: true
-      }
-    ], gettext("Thread has been made hidden."));
-  };
-
-  move = () => {
-    console.log('TODO!');
-  };
-
-  delete = () => {
-    if (!confirm(gettext("Are you sure you want to delete this thread?"))) {
-      return;
-    }
-
-    store.dispatch(thread.busy());
-
-    ajax.delete(this.props.thread.api.index).then((data) => {
-      snackbar.success(gettext("Thread has been deleted."))
-      window.location = this.props.thread.category.absolute_url;
-    }, (rejection) => {
-      snackbar.apiError(rejection);
-    });
-  };
-
-  getPinGloballyButton() {
-    if (this.props.thread.weight < 2 && this.props.thread.acl.can_pin == 2) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.pinGlobally}>
-            {gettext("Pin globally")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getPinLocallyButton() {
-    if (this.props.thread.weight !== 1 && this.props.thread.acl.can_pin > 0) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.pinLocally}>
-            {gettext("Pin locally")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getUnpinButton() {
-    if (this.props.thread.weight > 0 && this.props.thread.acl.can_pin > 0) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.unpin}>
-            {gettext("Unpin")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getMoveButton() {
-    if (this.props.thread.acl.can_move) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.move}>
-            {gettext("Move")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getApproveButton() {
-    if (this.props.thread.is_unapproved && this.props.thread.acl.can_approve) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.approve}>
-            {gettext("Approve")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getOpenButton() {
-    if (this.props.thread.is_closed && this.props.thread.acl.can_close) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.open}>
-            {gettext("Open")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getCloseButton() {
-    if (!this.props.thread.is_closed && this.props.thread.acl.can_close) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.close}>
-            {gettext("Close")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getUnhideButton() {
-    if (this.props.thread.is_hidden && this.props.thread.acl.can_hide) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.unhide}>
-            {gettext("Unhide")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getHideButton() {
-    if (!this.props.thread.is_hidden && this.props.thread.acl.can_hide) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.hide}>
-            {gettext("Hide")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  getDeleteButton() {
-    if (this.props.thread.acl.can_hide == 2) {
-      return (
-        <li>
-          <button type="button"
-                  className="btn btn-link"
-                  onClick={this.delete}>
-            {gettext("Delete")}
-          </button>
-        </li>
-      );
-    } else {
-      return null;
-    }
-  }
-
-  render() {
-    return (
-      <ul className="dropdown-menu">
-        {this.getPinGloballyButton()}
-        {this.getPinLocallyButton()}
-        {this.getUnpinButton()}
-        {this.getMoveButton()}
-        {this.getApproveButton()}
-        {this.getOpenButton()}
-        {this.getCloseButton()}
-        {this.getUnhideButton()}
-        {this.getHideButton()}
-        {this.getDeleteButton()}
-      </ul>
-    );
-  }
-}

+ 300 - 0
frontend/src/components/thread/moderation/thread/controls.js

@@ -0,0 +1,300 @@
+// jshint ignore:start
+import React from 'react';
+import * as thread from 'misago/reducers/thread';
+import ajax from 'misago/services/ajax'; // jshint ignore:line
+import snackbar from 'misago/services/snackbar'; // jshint ignore:line
+import store from 'misago/services/store'; // jshint ignore:line
+
+export default class extends React.Component {
+  callApi = (ops, successMessage) => {
+    store.dispatch(thread.busy());
+    ajax.patch(this.props.thread.api.index, ops).then((data) => {
+      store.dispatch(thread.update(data));
+      store.dispatch(thread.release());
+      snackbar.success(successMessage);
+    }, (rejection) => {
+      store.dispatch(thread.release());
+      if (rejection.status === 400) {
+        snackbar.error(rejection.detail[0]);
+      } else {
+        snackbar.apiError(rejection);
+      }
+    });
+  };
+
+  pinGlobally = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'weight',
+        value: 2
+      }
+    ], gettext("Thread has been pinned globally."));
+  };
+
+  pinLocally = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'weight',
+        value: 1
+      }
+    ], gettext("Thread has been pinned locally."));
+  };
+
+  unpin = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'weight',
+        value: 0
+      }
+    ], gettext("Thread has been unpinned."));
+  };
+
+  approve = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'is-unapproved',
+        value: false
+      }
+    ], gettext("Thread has been approved."));
+  };
+
+  open = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'is-closed',
+        value: false
+      }
+    ], gettext("Thread has been opened."));
+  };
+
+  close = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'is-closed',
+        value: true
+      }
+    ], gettext("Thread has been closed."));
+  };
+
+  unhide = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'is-hidden',
+        value: false
+      }
+    ], gettext("Thread has been made visible."));
+  };
+
+  hide = () => {
+    this.callApi([
+      {
+        op: 'replace',
+        path: 'is-hidden',
+        value: true
+      }
+    ], gettext("Thread has been made hidden."));
+  };
+
+  move = () => {
+    console.log('TODO!');
+  };
+
+  delete = () => {
+    if (!confirm(gettext("Are you sure you want to delete this thread?"))) {
+      return;
+    }
+
+    store.dispatch(thread.busy());
+
+    ajax.delete(this.props.thread.api.index).then((data) => {
+      snackbar.success(gettext("Thread has been deleted."))
+      window.location = this.props.thread.category.absolute_url;
+    }, (rejection) => {
+      snackbar.apiError(rejection);
+    });
+  };
+
+  getPinGloballyButton() {
+    if (this.props.thread.weight < 2 && this.props.thread.acl.can_pin == 2) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.pinGlobally}>
+            {gettext("Pin globally")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getPinLocallyButton() {
+    if (this.props.thread.weight !== 1 && this.props.thread.acl.can_pin > 0) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.pinLocally}>
+            {gettext("Pin locally")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getUnpinButton() {
+    if (this.props.thread.weight > 0 && this.props.thread.acl.can_pin > 0) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.unpin}>
+            {gettext("Unpin")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getMoveButton() {
+    if (this.props.thread.acl.can_move) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.move}>
+            {gettext("Move")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getApproveButton() {
+    if (this.props.thread.is_unapproved && this.props.thread.acl.can_approve) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.approve}>
+            {gettext("Approve")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getOpenButton() {
+    if (this.props.thread.is_closed && this.props.thread.acl.can_close) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.open}>
+            {gettext("Open")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getCloseButton() {
+    if (!this.props.thread.is_closed && this.props.thread.acl.can_close) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.close}>
+            {gettext("Close")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getUnhideButton() {
+    if (this.props.thread.is_hidden && this.props.thread.acl.can_hide) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.unhide}>
+            {gettext("Unhide")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getHideButton() {
+    if (!this.props.thread.is_hidden && this.props.thread.acl.can_hide) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.hide}>
+            {gettext("Hide")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  getDeleteButton() {
+    if (this.props.thread.acl.can_hide == 2) {
+      return (
+        <li>
+          <button type="button"
+                  className="btn btn-link"
+                  onClick={this.delete}>
+            {gettext("Delete")}
+          </button>
+        </li>
+      );
+    } else {
+      return null;
+    }
+  }
+
+  render() {
+    return (
+      <ul className="dropdown-menu">
+        {this.getPinGloballyButton()}
+        {this.getPinLocallyButton()}
+        {this.getUnpinButton()}
+        {this.getMoveButton()}
+        {this.getApproveButton()}
+        {this.getOpenButton()}
+        {this.getCloseButton()}
+        {this.getUnhideButton()}
+        {this.getHideButton()}
+        {this.getDeleteButton()}
+      </ul>
+    );
+  }
+}

+ 4 - 0
frontend/src/components/thread/moderation/thread/index.js

@@ -0,0 +1,4 @@
+import ModerationControls from './controls';
+import isModerationVisible from './is-visible';
+
+export { ModerationControls, isModerationVisible };

+ 9 - 0
frontend/src/components/thread/moderation/thread/is-visible.js

@@ -0,0 +1,9 @@
+export default function(thread) {
+  return (
+    (thread.acl.can_approve && thread.is_unapproved) ||
+    thread.acl.can_close ||
+    thread.acl.can_hide ||
+    thread.acl.can_move ||
+    thread.acl.can_pin
+  );
+}

+ 16 - 15
misago/static/misago/js/misago.js

@@ -1,16 +1,17 @@
-!function e(t,a,n){function r(s,l){if(!a[s]){if(!t[s]){var i="function"==typeof require&&require;if(!l&&i)return i(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[s]={exports:{}};t[s][0].call(c.exports,function(e){var a=t[s][1][e];return r(a?a:e)},c,c.exports,e,t,a,n)}return a[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)r(n[s]);return r}({1:[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,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}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.select=l;var u=e("react"),c=n(u),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"getClassName",value:function(){return this.props.signedIn||this.props.signedOut?"auth-message show":"auth-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.refresh},gettext("Reload page"))," ",c["default"].createElement("span",{className:"hidden-xs hidden-sm text-muted"},gettext("or press F5 key.")))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],2:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.size||100,a=l;return a+=e.user&&e.user.id?e.user.avatar_hash+"/"+t+"/"+e.user.id+".png":t+".png"}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("img",{className:e.className||"user-avatar",src:r(e),title:gettext("User avatar")})},a.getSrc=r;var o=e("react"),s=n(o),l=$("base").attr("href")+"user-avatar/"},{react:"react"}],3:[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=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getReasonMessage",value:function(){return this.props.message.html?d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):d["default"].createElement("p",{className:"lead"},this.props.message.plain)}},{key:"getExpirationMessage",value:function(){if(this.props.expires){if(this.props.expires.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.props.expires.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return gettext("This ban is permanent.")}},{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-error page-error-banned"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"message-panel"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"highlight_off")),d["default"].createElement("div",{className:"message-body"},this.getReasonMessage(),d["default"].createElement("p",{className:"message-footnote"},this.getExpirationMessage())))))}}]),t}(d["default"].Component);a["default"]=f},{moment:"moment",react:"react"}],4:[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(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),u["default"].createElement("button",{type:this.props.onClick?"button":"submit",className:e,disabled:t,onClick:this.props.onClick},this.props.children,this.props.loading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=f,f.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},{"./loader":23,react:"react"}],5:[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("./last-activity"),d=n(c),f=e("./read-icon"),p=n(f),h=e("./stats"),m=n(h),b=e("./subcategory-subcategories"),y=n(b),g=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.category.css_class?"list-group-item category-subcategory subcategory-"+this.props.category.css_class:"list-group-item category-subcategory"}},{key:"getDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"subcategory-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(y["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},u["default"].createElement("div",{className:"title-row"},u["default"].createElement("h4",null,u["default"].createElement(p["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(m["default"],{category:this.props.category})),u["default"].createElement(d["default"],{category:this.props.category}),this.getDescription(),this.getSubcategories())}}]),t}(u["default"].Component);a["default"]=g;var v=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("ul",{className:"list-group category-subcategories"},this.props.categories.map(function(e){return u["default"].createElement(g,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=v},{"./last-activity":7,"./read-icon":8,"./stats":10,"./subcategory-subcategories":11,react:"react"}],6:[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-subcategories"),d=n(c),f=e("./last-activity"),p=n(f),h=e("./read-icon"),m=n(h),b=e("./stats"),y=n(b),g=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.category.css_class?"panel panel-default panel-category panel-category-"+this.props.category.css_class:"panel panel-default panel-category"}},{key:"getHeadingClassName",value:function(){return this.props.category.subcategories.length?"panel-heading":"panel-heading heading-alone"}},{key:"getCategoryDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"panel-body category-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(d["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("div",{id:"panel-category-"+this.props.category.id,className:this.getClassName()},u["default"].createElement("div",{className:this.getHeadingClassName()},u["default"].createElement("div",{className:"panel-heading-inblock"},u["default"].createElement("div",{className:"panel-heading-top-row"},u["default"].createElement("h3",{className:"panel-title"},u["default"].createElement(m["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(y["default"],{category:this.props.category})),u["default"].createElement(p["default"],{category:this.props.category}))),this.getCategoryDescription(),this.getSubcategories())}}]),t}(u["default"].Component);a["default"]=g},{"./category-subcategories":5,"./last-activity":7,"./read-icon":8,"./stats":10,react:"react"}],7:[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.ProtectedMessage=a.PrivateMessage=a.EmptyMessage=a.LastPostMessage=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("../../utils/escape-html"),d=n(c),f='<a href="%(url)s" class="poster-title">%(user)s</a>',p='<span class="poster-title">%(user)s</span>',h='<a href="%(url)s" class="item-title thread-title">%(thread)s</a>',m='<a href="%(url)s" class="last-title" title="%(absolute)s">%(relative)s</a>',b=a.LastPostMessage=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getLastPoster",value:function(){return this.props.category.last_poster_url?interpolate(f,{url:(0,d["default"])(this.props.category.last_poster_url),user:(0,d["default"])(this.props.category.last_poster_name)},!0):interpolate(p,{user:(0,d["default"])(this.props.category.last_poster_name)},!0)}},{key:"getLastThread",value:function(){return interpolate(h,{url:(0,d["default"])(this.props.category.last_thread_url),thread:(0,d["default"])(this.props.category.last_thread_title)},!0)}},{key:"getLastReplyDate",value:function(){return interpolate(m,{url:(0,d["default"])(this.props.category.last_post_url),absolute:(0,d["default"])(this.props.category.last_post_on.format("LLL")),relative:(0,d["default"])(this.props.category.last_post_on.fromNow())},!0)}},{key:"render",value:function(){return u["default"].createElement("p",{className:"category-last-post",dangerouslySetInnerHTML:{__html:interpolate((0,d["default"])(gettext("Last post in %(thread)s by %(user)s %(date)s")),{thread:this.getLastThread(),date:this.getLastReplyDate(),user:this.getLastPoster()},!0)}})}}]),t}(u["default"].Component),y=a.EmptyMessage=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("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"error_outline"),gettext("This category is empty."))}}]),t}(u["default"].Component),g=a.PrivateMessage=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("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"info_outline"),gettext("This category is private. You can see only your own threads within it."))}}]),t}(u["default"].Component),v=a.ProtectedMessage=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("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"highlight_off"),gettext("This category is protected. You can't browse it's contents."))}}]),t}(u["default"].Component),_=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 this.props.category.acl.can_browse?this.props.category.acl.can_see_all_threads?this.props.category.last_thread_title?u["default"].createElement(b,{category:this.props.category}):u["default"].createElement(y,null):u["default"].createElement(g,null):u["default"].createElement(v,null)}}]),t}(u["default"].Component);a["default"]=_},{"../../utils/escape-html":218,react:"react"}],8:[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.category.is_read?"read-status item-read":"read-status item-new"}},{key:"getTitle",value:function(){return this.props.category.is_closed?this.props.category.is_read?gettext("This category has no new posts. (closed)"):gettext("This category has new posts. (closed)"):this.props.category.is_read?gettext("This category has no new posts."):gettext("This category has new posts.")}},{key:"getIcon",value:function(){return this.props.category.is_closed?this.props.category.is_read?"lock_outline":"lock":this.props.category.is_read?"chat_bubble_outline":"chat_bubble"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),title:this.getTitle()},u["default"].createElement("span",{className:"material-icon"},this.getIcon()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],9:[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}}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.select=l;var u=e("moment"),c=n(u),d=e("react"),f=n(d),p=e("./category"),h=n(p),m=e("../../index"),b=n(m),y=e("../../services/polls"),g=n(y),v=function E(e){return Object.assign({},e,{last_post_on:e.last_post_on?(0,c["default"])(e.last_post_on):null,subcategories:e.subcategories.map(E)})},_=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){a.setState({categories:e.map(v)})},a.state={categories:b["default"].get("CATEGORIES").map(v)},a.startPolling(b["default"].get("CATEGORIES_API")),a}return s(t,e),i(t,[{key:"startPolling",value:function(e){g["default"].start({poll:"categories",url:e,frequency:18e4,update:this.update})}},{key:"render",value:function(){return f["default"].createElement("div",{className:"categories-list"},this.state.categories.map(function(e){return f["default"].createElement(h["default"],{category:e,key:e.id})}))}}]),t}(f["default"].Component);a["default"]=_},{"../../index":150,"../../services/polls":209,"./category":6,moment:"moment",react:"react"}],10:[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:"getThreadsCount",value:function(){var e=ngettext("%(threads)s thread","%(threads)s threads",this.props.category.threads);return interpolate(e,{threads:this.props.category.threads},!0)}},{key:"getPostsCount",value:function(){var e=ngettext("%(posts)s post","%(posts)s posts",this.props.category.posts);return interpolate(e,{posts:this.props.category.posts},!0)}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-inline category-stats"},u["default"].createElement("li",{className:"category-threads"},this.getThreadsCount()),u["default"].createElement("li",{className:"category-posts"},this.getPostsCount()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],11:[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("./subcategory-subcategories"),d=(n(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.category.css_class?"subcategory subcategory-"+this.props.category.css_class:"subcategory"}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement("a",{href:this.props.category.absolute_url,className:this.getClassName()},this.props.category.name))}}]),t}(u["default"].Component));a["default"]=d;var 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("ul",{className:"list-inline subcategories-list"},this.props.categories.map(function(e){return u["default"].createElement(d,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=f},{"./subcategory-subcategories":11,react:"react"}],12:[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("select",{className:e.className||"form-control",disabled:e.disabled||!1,id:e.id||null,onChange:e.onChange,value:e.value},e.choices.map(function(e){return o["default"].createElement("option",{disabled:e.disabled||!1,key:e.value,value:e.value},"- - ".repeat(e.level)+e.label)}))};var r=e("react"),o=n(r)},{react:"react"}],13:[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),e("../button")),f=n(d),p=e("../../services/ajax"),h=n(p),m=e("../../services/snackbar"),b=n(m),y=$("base").attr("href")+"user-avatar",g=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.cropAvatar=function(){if(a.state.isLoading)return!1;a.setState({isLoading:!0});var e=a.props.upload?"crop_tmp":"crop_org",t=$(".crop-form");h["default"].post(a.props.user.api_url.avatar,{avatar:e,crop:{offset:t.cropit("offset"),zoom:t.cropit("zoom")}}).then(function(e){a.props.onComplete(e.avatar_hash,e.options),b["default"].success(e.detail)},function(e){400===e.status?(b["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)})},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"getAvatarSize",value:function(){return this.props.upload?this.props.options.crop_tmp.size:this.props.options.crop_org.size}},{key:"getAvatarSecret",value:function(){return this.props.upload?this.props.options.crop_tmp.secret:this.props.options.crop_org.secret}},{key:"getAvatarHash",value:function(){return this.props.upload||this.props.user.avatar_hash}},{key:"getImagePath",value:function(){return[y,this.getAvatarSecret()+":"+this.getAvatarHash(),this.props.user.id+".png"].join("/")}},{key:"componentDidMount",value:function(){var e=this,t=$(".crop-form");t.width(this.getAvatarSize()),t.cropit({width:this.getAvatarSize(),height:this.getAvatarSize(),imageState:{src:this.getImagePath()},onImageLoaded:function(){if(e.props.upload){var a=t.cropit("zoom"),n=t.cropit("imageSize");if(n.width>n.height){var r=n.width*a,o=(r-e.getAvatarSize())/-2;t.cropit("offset",{x:o,y:0})}else if(n.width<n.height){var s=n.height*a,l=(s-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:l})}else t.cropit("offset",{x:0,y:0})}else{var i=e.props.options.crop_org.crop;i&&(t.cropit("zoom",i.zoom),t.cropit("offset",{x:i.x,y:i.y}))}}})}},{key:"componentWillUnmount",value:function(){$(".crop-form").cropit("disable")}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"modal-body modal-avatar-crop"},u["default"].createElement("div",{className:"crop-form"},u["default"].createElement("div",{className:"cropit-preview"}),u["default"].createElement("input",{type:"range",className:"cropit-image-zoom-input"}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(f["default"],{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},this.props.upload?gettext("Set avatar"):gettext("Crop image")),u["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel")))))}}]),t}(u["default"].Component);a["default"]=g},{"../../services/ajax":201,"../../services/snackbar":211,"../avatar":2,"../button":4,react:"react"}],14:[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.Gallery=a.GalleryItem=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("../button"),d=n(c),f=e("../../index"),p=n(f),h=e("../../services/ajax"),m=n(h),b=e("../../services/snackbar"),y=n(b),g=e("../../utils/batch"),v=n(g),_=a.GalleryItem=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.select=function(){n.props.select(n.props.image)},s=a,o(n,s)}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.selection===this.props.image?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},u["default"].createElement("img",{src:p["default"].get("MEDIA_URL")+this.props.image}))}}]),t}(u["default"].Component),E=a.Gallery=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:"avatars-gallery"},u["default"].createElement("h3",null,this.props.name),u["default"].createElement("div",{className:"avatars-gallery-images"},(0,v["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":150,"../../services/ajax":201,"../../services/snackbar":211,"../../utils/batch":215,"../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),g=e("../../services/snackbar"),v=n(g),_=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}),v["default"].success(e.detail),t.props.onComplete(e.avatar_hash,e.options)},function(e){400===e.status?(v["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":201,"../../services/snackbar":211,"../avatar":2,"../button":4,"../loader":23,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"),g=n(y),v=e("../modal-loader"),_=n(v),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:g["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":200,"../../services/ajax":201,"../../services/store":212,"../modal-loader":24,"./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),g=e("../../utils/file-size"),v=n(g),_=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,v["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,v["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":201,"../../services/snackbar":211,"../../utils/file-size":219,"../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("../button"),f=n(d),p=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}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(f["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"]=p},{"../button":4,react:"react"}],20:[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"}],21:[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":211,"../utils/validators":227,react:"react"}],22:[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"}],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:"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"}],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=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":23,react:"react"}],25:[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":38,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("../../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":37,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.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":38,react:"react"}],28:[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"),g=r(y),v=e("../../../services/snackbar"),_=r(v),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 g["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":201,"../../../services/snackbar":211,"../../../utils/validators":227,"../../button":4,"../../form":21,"../../form-group":20,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("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),g=e("../../username-history/root"),v=n(g),_=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),T=e("../../../services/store"),S=n(T),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}),S["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),S["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){S["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(v["default"],{isLoaded:this.state.isLoaded,changes:this.props["username-history"]}))}}]),t}(d["default"].Component);a["default"]=M},{"../../../index":150,"../../../reducers/username-history":199,"../../../reducers/users":200,"../../../services/ajax":201,"../../../services/page-title":208,"../../../services/snackbar":211,"../../../services/store":212,"../../username-history/root":132,"./form":28,"./form-loading":26,"./form-locked":27,moment:"moment",react:"react"}],30:[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),g=e("../yes-no-switch"),v=n(g),_=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(v["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":190,"../../services/ajax":201,"../../services/page-title":208,"../../services/snackbar":211,"../../services/store":212,"../button":4,"../form":21,"../form-group":20,"../select":79,"../yes-no-switch":149,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}),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":150,"../li":22,react:"react","react-router":"react-router"}],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)}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)(v["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),g=e("./change-username/root"),v=n(g),_=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":150,"../dropdown-toggle":18,"../with-dropdown":148,"./change-username/root":29,"./forum-options":30,"./navs":31,"./sign-in-credentials/root":35,react:"react","react-redux":"react-redux"}],33:[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"),g=r(y),v=e("../../../services/snackbar"),_=r(v),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 g["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":201,"../../../services/snackbar":211,"../../../utils/validators":227,"../../button":4,"../../form":21,"../../form-group":20,react:"react"}],34:[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"),g=r(y),v=e("../../../services/ajax"),_=r(v),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(g["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":150,"../../../services/ajax":201,"../../../services/snackbar":211,"../../../utils/validators":227,"../../button":4,"../../form":21,"../../form-group":20,react:"react"}],35:[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),g=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"]=g},{"../../../index":150,"../../../services/page-title":208,"./change-email":33,"./change-password":34,react:"react"}],36:[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":226,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("./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":23,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=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"}],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}),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":213,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=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),g=e("./utils/message"),v=n(g),_=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(v["default"],{message:this.state.isErrored}):u["default"].createElement(y["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":201,"../../services/posting":210,"../../services/snackbar":211,"../editor":19,"../form":21,"./utils/container":44,"./utils/loader":46,"./utils/message":47,"./utils/validators":49,react:"react"}],41:[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":40,"./reply":42,"./start":43,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),g=e("./utils/message"),v=n(g),_=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(v["default"],{message:this.state.isErrored}):u["default"].createElement(y["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":201,"../../services/posting":210,"../../services/snackbar":211,"../editor":19,"../form":21,"./utils/container":44,"./utils/loader":46,"./utils/message":47,"./utils/validators":49,react:"react"}],43:[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),g=e("./utils/loader"),v=n(g),_=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"),T=n(C),S=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 T["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return T["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(T["default"].error(e.title[0]),!1):e.post?(T["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){T["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?T["default"].error(e.category[0]):e.title?T["default"].error(e.title[0]):e.post&&T["default"].error(e.post[0]):T["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,method:"POST"},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(v["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":201,"../../services/posting":210,"../../services/snackbar":211,"../category-select":12,"../editor":19,"../form":21,"./utils/container":44,"./utils/loader":46,"./utils/message":47,"./utils/options":48,"./utils/validators":49,react:"react"}],44:[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":45,react:"react"}],45:[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"}],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(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":23,"./container":44,react:"react"}],47:[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":210,"./container":44,react:"react"}],48:[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"}],49:[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)},{"../../..":150,"../../../utils/validators":227}],50:[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={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"}],51:[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.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":50,"./info":52,"./message":53,react:"react"}],52:[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.poster?interpolate(h,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(p,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(d,{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(h,{url:(0,c["default"])(e.post.poster.absolute_url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(p,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(f,{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))},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='<abbr title="%(absolute)s">%(relative)s</abbr>',f='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',p='<span class="item-title">%(user)s</span>',h='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":218,react:"react"}],53:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,u["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(d,{url:(0,u["default"])(e.post.event_context.from_category.url),name:(0,u["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return l["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,u["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(f,{
-merged_thread:(0,u["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return l["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return c[e.post.event_type]?l["default"].createElement("p",{className:"event-message"},c[e.post.event_type]):"moved"===e.post.event_type?l["default"].createElement(r,e):"merged"===e.post.event_type?l["default"].createElement(o,e):null},a.Moved=r,a.Merged=o;var s=e("react"),l=n(s),i=e("../../../utils/escape-html"),u=n(i),c={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.")},d='<a href="%(url)s" class="item-title">%(name)s</a>',f='<span class="item-title">%(merged_thread)s</span>'},{"../../../utils/escape-html":218,react:"react"}],54:[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":51,"./post":59,"./post/preview":60,react:"react"}],55:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement("div",{className:"panel-body"},i["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:e.post.parsed}}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(d,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(f,{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 %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement("div",{className:"panel-body panel-body-hidden"},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("div",{className:"panel-body panel-body-invalid"},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("../../../utils/escape-html"),c=n(u),d='<a href="%(url)s" class="item-title">%(user)s</a>',f='<span class="item-title">%(user)s</span>',p='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":218,react:"react"}],56:[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"}],57:[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,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":210,react:"react"}],58:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?u["default"].createElement("a",{className:"item-title",href:e.post.poster.absolute_url},e.post.poster.username):u["default"].createElement("strong",{className:"item-title"},e.post.poster_name)}function o(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?u["default"].createElement("a",{href:e.post.poster.rank.absolute_url,className:"label "+t},e.post.poster.short_title):u["default"].createElement("span",{className:"label "+t},e.post.poster.short_title)}return u["default"].createElement("span",{className:"rank-name item-title"},gettext("Unregistered"))}function s(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 u["default"].createElement("a",{href:e.post.url.index,className:"posted-on",title:t},a)}function l(e){return e.post.is_read?null:u["default"].createElement("span",{className:"label label-success pull-right"},gettext("New"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"panel-heading post-heading"},u["default"].createElement(r,e),u["default"].createElement(o,e),u["default"].createElement(s,e),u["default"].createElement(l,e))},a.Poster=r,a.PosterRank=o,a.PostedOn=s,a.UnreadLabel=l;var i=e("react"),u=n(i)},{react:"react"}],59:[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.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),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":55,"./flags":56,"./footer":57,"./header":58,react:"react"}],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}}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":222,"../../avatar":2,react:"react"}],61:[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),g=e("../../services/polls"),v=n(g),_=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){v["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(){v["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":150,"../../services/page-title":208,"../../services/polls":209,"../panel-loader":37,"../panel-message":38,moment:"moment",react:"react"}],62:[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"),g=n(y),v=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?g["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):g["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}),g["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"]=v},{"../../reducers/profile":193,"../../services/ajax":201,"../../services/snackbar":211,"../../services/store":212,"../button":4,react:"react"}],63:[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"),g=n(y),v=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(),g["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(g["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,v.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(g["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,v.hydrate)(e.results)):N["default"].dispatch((0,v.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":150,"../../reducers/users":200,"../../services/ajax":201,"../../services/page-title":208,"../../services/snackbar":211,"../../services/store":212,"../button":4,"../search":78,"../users-list/root":133,react:"react"}],64:[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":63,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)}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),g=e("../user-status"),v=n(g),_=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(v["default"],{user:this.props.profile,status:this.props.profile.status},u["default"].createElement(g.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),u["default"].createElement(g.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":126,"./follow-button":62,"./moderation/nav":69,react:"react"}],66:[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),g=e("../../yes-no-switch"),v=n(g),_=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(v["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":200,"../../../services/ajax":201,"../../../services/snackbar":211,"../../../services/store":212,"../../button":4,"../../form":21,"../../form-group":20,"../../modal-loader":24,"../../modal-message":25,"../../yes-no-switch":149,react:"react"}],67:[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"),g=r(y),v=e("../../modal-message"),_=r(v),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"),T=r(C),S=e("../../../utils/validators"),M=n(S),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:""}),T["default"].dispatch((0,O.addNameChange)(e,this.props.profile,this.props.user)),T["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(g["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":150,"../../../reducers/username-history":199,"../../../reducers/users":200,"../../../services/ajax":201,"../../../services/snackbar":211,"../../../services/store":212,"../../../utils/validators":227,"../../button":4,"../../form":21,"../../form-group":20,"../../modal-loader":24,"../../modal-message":25,react:"react"}],68:[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),g=e("../../modal-message"),v=n(g),_=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(v["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":150,"../../../services/ajax":201,"../../../services/polls":209,"../../button":4,"../../form":21,"../../form-group":20,"../../modal-loader":24,"../../modal-message":25,"../../yes-no-switch":149,react:"react"}],69:[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"),g=n(y),v=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(){g["default"].show((0,c.connect)(v)(f["default"]))},n.showRenameDialog=function(){g["default"].show((0,c.connect)(v)(h["default"]))},n.showDeleteDialog=function(){g["default"].show((0,c.connect)(v)(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":207,"./avatar-controls":66,"./change-username":67,"./delete-account":68,react:"react","react-redux":"react-redux"}],70:[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":150,"../li":22,"./follow-button":62,react:"react","react-router":"react-router"}],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)}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 S["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:S["default"].get("PROFILE").absolute_url+t.component+"/",component:(0,f.connect)(l)(B[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"),g=n(y),v=e("./follows"),_=n(v),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),T=e("../../index"),S=n(T),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:S["default"].get("PROFILE_PAGES"),baseUrl:S["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:S["default"].get("PROFILE_PAGES"),baseUrl:S["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),B={posts:D,threads:D,followers:g["default"],follows:_["default"],"username-history":w["default"],"ban-details":b["default"]}},{"../../index":150,"../../reducers/profile":193,"../../services/polls":209,"../../services/store":212,"../avatar":2,"../with-dropdown":148,"./ban-details":61,"./followers":63,"./follows":64,"./header":65,"./moderation/nav":69,"./navs":70,"./username-history":72,react:"react","react-redux":"react-redux"}],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("../search"),p=n(f),h=e("../username-history/root"),m=n(h),b=e("../../index"),y=n(b),g=e("../../reducers/username-history"),v=e("../../services/ajax"),_=n(v),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,g.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,g.hydrate)(a.results)):k["default"].dispatch((0,g.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":150,"../../reducers/username-history":199,"../../services/ajax":201,"../../services/page-title":208,"../../services/snackbar":211,"../../services/store":212,"../button":4,"../search":78,"../username-history/root":132,react:"react"}],73:[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),g=e("../services/snackbar"),v=n(g),_=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?v["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":203,"../services/modal":207,"../services/snackbar":211,"../services/zxcvbn":213,"./loader":23,"./register.js":74,react:"react"}],74:[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"),g=r(y),v=e(".."),_=r(v),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"),T=r(C),S=e("../utils/banned-page"),M=r(S),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:(T["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)}),T["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,M["default"])(e.ban),P["default"].hide()):T["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(g["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},{"..":150,"../services/ajax":201,"../services/auth":202,"../services/captcha":203,"../services/modal":207,"../services/snackbar":211,"../utils/banned-page":214,"../utils/validators":227,"./button":4,"./form":21,"./form-group":20,"./password-strength":39,react:"react"}],75:[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"),g=r(y),v=e("../services/snackbar"),_=r(v),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 g["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":150,"../services/ajax":201,"../services/snackbar":211,"../utils/banned-page":214,"../utils/validators":227,"./button":4,"./form":21,react:"react"}],76:[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"),g=r(y),v=e("../services/ajax"),_=r(v),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}(g["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),T=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"]=T},{"../index":150,"../services/ajax":201,"../services/snackbar":211,"../utils/banned-page":214,"../utils/validators":227,"./button":4,"./form":21,react:"react","react-dom":"react-dom"}],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}),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"),g=r(y),v=e("./sign-in.js"),_=r(v),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"),T=n(C),S=e("../utils/banned-page"),M=r(S),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:[T.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}(g["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":150,"../services/ajax":201,"../services/auth":202,"../services/modal":207,"../services/snackbar":211,"../utils/banned-page":214,"../utils/validators":227,"./button":4,"./form":21,"./sign-in.js":80,react:"react","react-dom":"react-dom"}],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=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"}],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=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"}],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});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),g=e("../services/modal"),v=n(g),_=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),v["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),v["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":150,"../services/ajax":201,"../services/modal":207,"../services/snackbar":211,"../utils/banned-page":214,"./button":4,"./form":21,react:"react"}],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 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"}],82:[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"}],83:[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.showModeration)(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,{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("h1",{className:"pull-left"},e.thread.title),s["default"].createElement(r,{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"),c=e("./stats"),d=n(c)},{"../moderation":85,"./breadcrumbs":82,"./stats":84,react:"react"}],84:[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":218,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)}function i(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}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationControls=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.showModeration=i;var c=e("react"),d=r(c),f=e("../../../reducers/thread"),p=n(f),h=e("../../../services/ajax"),m=r(h),b=e("../../../services/snackbar"),y=r(b),g=e("../../../services/store"),v=r(g);a.ModerationControls=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){v["default"].dispatch(p.busy()),m["default"].patch(n.props.thread.api.index,e).then(function(e){v["default"].dispatch(p.update(e)),v["default"].dispatch(p.release()),y["default"].success(t)},function(e){v["default"].dispatch(p.release()),400===e.status?y["default"].error(e.detail[0]):y["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(){console.log("TODO!")},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(v["default"].dispatch(p.busy()),m["default"]["delete"](n.props.thread.api.index).then(function(e){y["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.absolute_url},function(e){y["default"].apiError(e)}))},r=a,s(n,r)}return l(t,e),u(t,[{key:"getPinGloballyButton",value:function(){return this.props.thread.weight<2&&2==this.props.thread.acl.can_pin?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.move},gettext("Move"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["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?d["default"].createElement("li",null,d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this["delete"]},gettext("Delete"))):null}},{key:"render",value:function(){return d["default"].createElement("ul",{className:"dropdown-menu"},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(d["default"].Component)},{"../../../reducers/thread":196,"../../../services/ajax":201,"../../../services/snackbar":211,"../../../services/store":212,react:"react"}],86:[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"},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"}],87:[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"}],88:[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":150,"./route":89,"react-redux":"react-redux"}],89:[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),g=e("./toolbar-top"),v=r(g),_=e("../../reducers/posts"),E=n(_),w=e("../../reducers/thread"),O=n(w),k=e("../../services/ajax"),N=r(k),x=e("../../services/polls"),j=r(x),P=e("../../services/snackbar"),C=r(P),T=e("../../services/posting"),S=r(T),M=e("../../services/store"),L=r(M),R=e("../../services/page-title"),A=r(R),I=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){L["default"].dispatch(O.replace(e)),L["default"].dispatch(E.load(e.post_set)),n.setPageTitle()},n.openReplyForm=function(){S["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts})},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;L["default"].dispatch(E.unload()),N["default"].get(this.props.thread.api.posts,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){C["default"].apiError(e)})}},{key:"startPollingApi",value:function(){j["default"].start({poll:"thread-posts",url:this.props.thread.api.posts,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){j["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){A["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(v["default"],i({openReplyForm:this.openReplyForm},this.props)),d["default"].createElement(p["default"],this.props),d["default"].createElement(y["default"],this.props)))}}]),t}(d["default"].Component);a["default"]=I},{"../../reducers/posts":192,"../../reducers/thread":196,"../../services/ajax":201,"../../services/page-title":208,"../../services/polls":209,"../../services/posting":210,"../../services/snackbar":211,"../../services/store":212,"../posts-list":54,"./header":83,"./paginator":86,"./toolbar-top":90,react:"react"}],90:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.thread.is_new?u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-default",title:gettext("Go to first new post")},gettext("New"))):null}function o(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-default",title:gettext("Go to first unapproved post")},gettext("Unapproved"))):null}function s(e){return u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default",title:gettext("Go to last post")},gettext("Last")))}function l(e){return e.thread.acl.can_reply?u["default"].createElement("li",{className:"pull-right"},u["default"].createElement(d["default"],{onClick:e.openReplyForm})):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"toolbar"},u["default"].createElement("ul",{className:"list-inline"},u["default"].createElement(r,{thread:e.thread}),u["default"].createElement(o,{thread:e.thread}),u["default"].createElement(s,{thread:e.thread}),u["default"].createElement(l,{openReplyForm:e.openReplyForm,thread:e.thread})))},a.GotoNew=r,a.GotoUnapproved=o,a.GotoLast=s,a.Reply=l;var i=e("react"),u=n(i),c=e("./reply-button"),d=n(c)},{"./reply-button":87,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)}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:"getMessage",value:function(){var e=ngettext("There is %(threads)s new or updated thread. Click this message to show it.","There are %(threads)s new or updated threads. Click this message to show them.",this.props.diffSize);return interpolate(e,{threads:this.props.diffSize},!0)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item threads-diff-message"},u["default"].createElement("button",{type:"button",className:"btn btn-block btn-default",onClick:this.props.applyDiff},u["default"].createElement("span",{className:"material-icon"},"cached"),u["default"].createElement("span",{className:"diff-message"},this.getMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],92:[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("./diff-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:"getDiffMessage",value:function(){return this.props.diffSize>0?u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff}):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.children))}}]),t}(u["default"].Component);a["default"]=f},{"./diff-message":91,react:"react"}],93:[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("../thread/preview"),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:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"../thread/preview":102,react:"react"}],94:[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("./diff-message"),d=n(c),f=e("../thread/ready"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getDiffMessage",value:function(){return this.props.diffSize>0?u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff}):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{
-className:"list-group"},this.getDiffMessage(),this.props.threads.map(function(t){return u["default"].createElement(p["default"],{categories:e.props.categories,thread:t,list:e.props.list,showOptions:e.props.showOptions,isSelected:e.props.selection.indexOf(t.id)>=0,isBusy:e.props.busyThreads.indexOf(t.id)>=0,key:t.id})})))}}]),t}(u["default"].Component);a["default"]=h},{"../thread/ready":103,"./diff-message":91,react:"react"}],95:[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("./list/empty"),d=n(c),f=e("./list/ready"),p=n(f),h=e("./list/preview"),m=n(h),b=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 this.props.isLoaded?this.props.threads.length>0?u["default"].createElement(p["default"],{threads:this.props.threads,categories:this.props.categories,list:this.props.list,diffSize:this.props.diffSize,applyDiff:this.props.applyDiff,showOptions:this.props.showOptions,selection:this.props.selection,busyThreads:this.props.busyThreads}):u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff},this.props.children):u["default"].createElement(m["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list/empty":92,"./list/preview":93,"./list/ready":94,react:"react"}],96:[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-router"),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getUrl",value:function(){return this.props.category.absolute_url+this.props.list.path}},{key:"getClassName",value:function(){return this.props.category.css_class?"thread-category thread-category-"+this.props.category.css_class:"thread-category"}},{key:"render",value:function(){return u["default"].createElement(c.Link,{to:this.getUrl(),className:this.getClassName()},this.props.category.name)}}]),t}(u["default"].Component);a["default"]=d},{react:"react","react-router":"react-router"}],97:[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"),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:"getPath",value:function(){var e=this.props.categories[this.props.thread.top_category],t=this.props.categories[this.props.thread.category];return e&&t&&e.id!==t.id?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:t,list:this.props.list})):e?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list})):null}},{key:"getRepliesCount",value:function(){return u["default"].createElement("li",{className:"thread-replies-count"},u["default"].createElement("span",{className:"material-icon"},"forum"),u["default"].createElement("span",{className:"icon-legend"},this.props.thread.replies))}},{key:"getLastReply",value:function(){return u["default"].createElement("li",{className:"thread-last-reply-clock"},u["default"].createElement("span",{className:"material-icon"},"schedule"),u["default"].createElement("span",{className:"icon-legend"},this.props.thread.last_post_on.fromNow()))}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"thread-details-compact list-inline"},this.getPath(),this.getRepliesCount(),this.getLastReply())}}]),t}(u["default"].Component);a["default"]=f},{"../category":96,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 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"),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='<a href="%(url)s" class="last-title" title="%(absolute)s">%(relative)s</a>',y=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getNewLabel",value:function(){return this.props.thread.is_read?null:u["default"].createElement("li",{className:"thread-new-posts",title:gettext("Go to first unread post")},u["default"].createElement("a",{href:this.props.thread.url.new_post},u["default"].createElement("span",{className:"material-icon"},"comment"),u["default"].createElement("span",{className:"icon-legend"},gettext("New posts"))))}},{key:"getPinnedLabel",value:function(){return 2===this.props.thread.weight?u["default"].createElement("li",{className:"thread-pinned-globally"},u["default"].createElement("span",{className:"material-icon"},"bookmark"),u["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1===this.props.thread.weight?u["default"].createElement("li",{className:"thread-pinned-locally"},u["default"].createElement("span",{className:"material-icon"},"bookmark_border"),u["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}},{key:"getUnapprovedLabel",value:function(){return this.props.thread.is_unapproved?u["default"].createElement("li",{className:"thread-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle"),u["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):this.props.thread.has_unapproved_posts?u["default"].createElement("li",{className:"thread-unapproved-posts"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),u["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}},{key:"getHiddenLabel",value:function(){return this.props.thread.is_hidden?u["default"].createElement("li",{className:"thread-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off"),u["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}},{key:"getClosedLabel",value:function(){return this.props.thread.is_closed?u["default"].createElement("li",{className:"thread-closed"},u["default"].createElement("span",{className:"material-icon"},"lock_outline"),u["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}},{key:"getPath",value:function(){var e=this.props.categories[this.props.thread.top_category],t=this.props.categories[this.props.thread.category];return e&&t&&e.id!==t.id?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list}),u["default"].createElement("span",{className:"path-separator material-icon"},"arrow_forward"),u["default"].createElement(d["default"],{category:t,list:this.props.list})):e?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list})):null}},{key:"getRepliesCount",value:function(){var e=ngettext("%(replies)s reply","%(replies)s replies",this.props.thread.replies);return u["default"].createElement("li",{className:"thread-replies"},u["default"].createElement("span",{className:"material-icon"},"forum"),u["default"].createElement("span",{className:"icon-legend"},interpolate(e,{replies:this.props.thread.replies},!0)))}},{key:"getLastReplyDate",value:function(){return interpolate(b,{url:(0,p["default"])(this.props.thread.url.last_post),absolute:(0,p["default"])(this.props.thread.last_post_on.format("LLL")),relative:(0,p["default"])(this.props.thread.last_post_on.fromNow())},!0)}},{key:"getLastPoster",value:function(){return this.props.thread.url.last_poster?interpolate(h,{url:(0,p["default"])(this.props.thread.url.last_poster),user:(0,p["default"])(this.props.thread.last_poster_name)},!0):interpolate(m,{user:(0,p["default"])(this.props.thread.last_poster_name)},!0)}},{key:"getLastReply",value:function(){return u["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:this.getLastReplyDate(),user:this.getLastPoster()},!0)}})}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"thread-details-full list-inline"},this.getNewLabel(),this.getPinnedLabel(),this.getUnapprovedLabel(),this.getHiddenLabel(),this.getClosedLabel(),this.getPath(),this.getRepliesCount(),this.getLastReply())}}]),t}(u["default"].Component);a["default"]=y},{"../../../../utils/escape-html":218,"../category":96,react:"react"}],99:[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:"getPinnedIcon",value:function(){return 2===this.props.thread.weight?u["default"].createElement("span",{className:"thread-pinned-globally"},u["default"].createElement("span",{className:"material-icon"},"bookmark")):1===this.props.thread.weight?u["default"].createElement("span",{className:"thread-pinned-locally"},u["default"].createElement("span",{className:"material-icon"},"bookmark_border")):null}},{key:"getUnapprovedIcon",value:function(){return this.props.thread.is_unapproved?u["default"].createElement("span",{className:"thread-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle")):this.props.thread.has_unapproved_posts?u["default"].createElement("span",{className:"thread-unapproved-posts"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline")):null}},{key:"getHiddenIcon",value:function(){return this.props.thread.is_hidden?u["default"].createElement("span",{className:"thread-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off")):null}},{key:"getClosedIcon",value:function(){return this.props.thread.is_closed?u["default"].createElement("span",{className:"thread-closed"},u["default"].createElement("span",{className:"material-icon"},"lock_outline")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"thread-flags"},this.getPinnedIcon(),this.getUnapprovedIcon(),this.getHiddenIcon(),this.getClosedIcon())}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],100:[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.thread.is_read?"read-status item-read":"read-status item-new"}},{key:"getTitle",value:function(){return this.props.thread.is_read?gettext("This thread has no new posts."):gettext("This thread has new posts.")}},{key:"getIcon",value:function(){return this.props.thread.is_read?"chat_bubble_outline":"chat_bubble"}},{key:"getUrl",value:function(){return this.props.thread.is_read?this.props.thread.url.last_post:this.props.thread.url.new_post}},{key:"render",value:function(){return u["default"].createElement("a",{className:this.getClassName(),href:this.getUrl(),title:this.getTitle()},u["default"].createElement("span",{className:"material-icon"},this.getIcon()))}}]),t}(u["default"].Component);a["default"]=c},{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("./subscription/compact"),f=r(d),p=e("./subscription/full"),h=r(p),m=e("../../../reducers/selection"),b=n(m),y=e("../../../services/store"),g=r(y),v=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.toggleSelection=function(){g["default"].dispatch(b.item(n.props.thread.id))},r=a,s(n,r)}return l(t,e),i(t,[{key:"getSelectToggle",value:function(){return this.props.thread.moderation.length?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-default btn-checkbox",onClick:this.toggleSelection,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},this.props.isSelected?"check_box":"check_box_outline_blank"),c["default"].createElement("span",{className:"icon-legend"},this.props.isSelected?gettext("Selected"):gettext("Select")))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"thread-options"},c["default"].createElement("ul",{className:"list-inline"},this.getSelectToggle(),c["default"].createElement(h["default"],{thread:this.props.thread,disabled:this.props.disabled}),c["default"].createElement(f["default"],{thread:this.props.thread,disabled:this.props.disabled})))}}]),t}(c["default"].Component);a["default"]=v},{"../../../reducers/selection":194,"../../../services/store":212,"./subscription/compact":104,"./subscription/full":105,react:"react"}],102:[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("../../../utils/random"),f=n(d),p=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item thread-preview hidden-xs hidden-sm":"list-group-item thread-preview"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"thread-icon"},c["default"].createElement("span",{className:"read-status item-read"},c["default"].createElement("span",{className:"material-icon"},"chat_bubble_outline"))),c["default"].createElement("div",{className:"thread-main"},c["default"].createElement("span",{className:"item-title thread-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](60,200)+"px"}}," ")),c["default"].createElement("ul",{className:"thread-details-compact list-inline"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," "))),c["default"].createElement("ul",{className:"thread-details-full list-inline"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](50,150)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](50,100)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](100,250)+"px"}}," ")))),c["default"].createElement("div",{className:"clearfix"}))}}]),t}(c["default"].Component);a["default"]=p},{"../../../utils/random":222,react:"react"}],103:[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("./details/compact"),p=n(f),h=e("./details/full"),m=n(h),b=e("./flags"),y=n(b),g=e("./icon"),v=n(g),_=e("./options"),E=n(_),w=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getIcon",value:function(){return this.props.isBusy?u["default"].createElement(d["default"],null):u["default"].createElement(v["default"],{thread:this.props.thread})}},{key:"getOptions",value:function(){return this.props.showOptions?u["default"].createElement(E["default"],{thread:this.props.thread,disabled:this.props.isBusy,isSelected:this.props.isSelected}):null}},{key:"getClassName",value:function(){var e=["list-group-item"];return this.props.thread.is_read?e.push("thread-read"):e.push("thread-new"),this.props.isBusy?e.push("thread-busy"):this.props.isSelected&&e.push("thread-selected"),this.props.showOptions&&(this.props.thread.moderation.length?e.push("thread-ops-two"):e.push("thread-ops-one")),e.join(" ")}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},u["default"].createElement("div",{className:"thread-icon"},this.getIcon(),u["default"].createElement(y["default"],{thread:this.props.thread})),this.getOptions(),u["default"].createElement("div",{className:"thread-main"},u["default"].createElement("a",{href:this.props.thread.url.index,className:"item-title thread-title"},this.props.thread.title),u["default"].createElement(m["default"],{categories:this.props.categories,list:this.props.list,thread:this.props.thread}),u["default"].createElement(p["default"],{categories:this.props.categories,list:this.props.list,thread:this.props.thread})),u["default"].createElement("div",{className:"clearfix"}))}}]),t}(u["default"].Component);a["default"]=w},{"../../loader":23,"./details/compact":97,"./details/full":98,"./flags":99,"./icon":100,"./options":101,react:"react"}],104:[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("./full"),d=n(c),f=e("./modal"),p=n(f),h=e("../../../../services/modal"),m=n(h),b=function(e){function t(){var e,a,n,s;r(this,t);for(var l=arguments.length,i=Array(l),c=0;l>c;c++)i[c]=arguments[c];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showOptions=function(){m["default"].show(u["default"].createElement(p["default"],{thread:n.props.thread}))},s=a,o(n,s)}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("li",{className:"hidden-md hidden-lg"},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.showOptions},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"icon-legend"},this.getLegend())))}}]),t}(d["default"]);a["default"]=b},{"../../../../services/modal":207,"./full":105,"./modal":106,react:"react"}],105:[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("./options"),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:"getIcon",value:function(){return this.props.thread.subscription===!0?"star":this.props.thread.subscription===!1?"star_half":"star_border"}},{key:"getLegend",value:function(){return this.props.thread.subscription===!0?gettext("E-mail"):this.props.thread.subscription===!1?gettext("Enabled"):gettext("Disabled")}},{key:"getClassName",value:function(){return this.props.thread.subscription===!0?"btn btn-default btn-subscribe btn-subscribe-full dropdown-toggle":this.props.thread.subscription===!1?"btn btn-default btn-subscribe btn-subscribe-half dropdown-toggle":"btn btn-default btn-subscribe dropdown-toggle"}},{key:"render",value:function(){return u["default"].createElement("li",{className:"hidden-xs hidden-sm"},u["default"].createElement("div",{className:"btn-group"},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"icon-legend"},this.getLegend())),u["default"].createElement(d["default"],{className:"dropdown-menu dropdown-menu-right",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":107,react:"react"}],106:[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("./options"),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-dialog modal-sm",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("Change subscription"))),u["default"].createElement(d["default"],{className:"modal-menu",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":107,react:"react"}],107:[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),e("../../../../reducers/threads")),f=e("../../../../services/ajax"),p=n(f),h=e("../../../../services/modal"),m=n(h),b=e("../../../../services/snackbar"),y=n(b),g=e("../../../../services/store"),v=n(g),_={unsubscribe:null,notify:!1,email:!0},E=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.setSubscription=function(e){m["default"].hide(),a.setState({isLoading:!0});var t=a.props.thread.subscription;v["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[e]})),p["default"].patch(a.props.thread.api.index,[{op:"replace",path:"subscription",value:e}]).then(function(){a.setState({isLoading:!1})},function(e){a.setState({isLoading:!1}),v["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[t]})),y["default"].apiError(e)})},a.unsubscribe=function(){a.setSubscription("unsubscribe")},a.notify=function(){a.setSubscription("notify")},a.email=function(){a.setSubscription("email")},a.state={isLoading:!1},a}return s(t,e),l(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:this.props.className},u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.unsubscribe},u["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.notify},u["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.email},u["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail"))))}}]),t}(u["default"].Component);a["default"]=E},{"../../../../reducers/threads":197,"../../../../services/ajax":201,"../../../../services/modal":207,"../../../../services/snackbar":211,"../../../../services/store":212,"../../../button":4,react:"react"}],108:[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.Subcategory=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=a.Subcategory=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getUrl",value:function(){return this.props.listPath?this.props.category.absolute_url+this.props.listPath:this.props.category.absolute_url}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement(c.Link,{to:this.getUrl(),className:"btn btn-link"},this.props.category.name))}}]),t}(u["default"].Component),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(){var e=this;return u["default"].createElement("div",{className:"btn-group category-picker"},u["default"].createElement("button",{type:"button",className:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"more_vert"),gettext("Go to")),u["default"].createElement("ul",{className:"dropdown-menu categories-menu"},this.props.choices.map(function(t){return e.props.categories[t]?u["default"].createElement(d,{category:e.props.categories[t],listPath:e.props.list.path,key:t}):null})))}}]),t}(u["default"].Component);a["default"]=f},{react:"react","react-router":"react-router"}],109:[function(e,t,a){"use strict";function n(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function r(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:n(e,t)}function o(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:n(e,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.compareLastPostAge=n,a.compareGlobalWeight=r,a.compareWeight=o},{}],110:[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("../page-lead"),d=n(c),f=e("./toolbar"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getCategoryDescription",value:function(){return this.props.route.category.description?u["default"].createElement("div",{className:"category-description"},u["default"].createElement(d["default"],{copy:this.props.route.category.description.html})):null}},{key:"getToolbarLabel",value:function(){if(this.props.isLoaded){var e=null;return e=this.props.route.list.path?ngettext("%(threads)s thread found.","%(threads)s threads found.",this.props.threadsCount):this.props.route.category.parent?ngettext("There is %(threads)s thread in this category.","There are %(threads)s threads in this category.",this.props.threadsCount):ngettext("There is %(threads)s thread on our forums.","There are %(threads)s threads on our forums.",this.props.threadsCount),interpolate(e,{threads:this.props.threadsCount},!0)}return gettext("Loading threads...")}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"getToolbar",value:function(){return this.props.subcategories.length||this.props.user.id?u["default"].createElement(p["default"],{subcategories:this.props.subcategories,categories:this.props.route.categories,categoriesMap:this.props.route.categoriesMap,list:this.props.route.list,threads:this.props.threads,moderation:this.props.moderation,selection:this.props.selection,selectAllThreads:this.props.selectAllThreads,selectNoneThreads:this.props.selectNoneThreads,addThreads:this.props.addThreads,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,route:this.props.route,disabled:this.getDisableToolbar(),user:this.props.user},this.getToolbarLabel()):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"container"},this.getCategoryDescription(),this.getToolbar(),this.props.children)}}]),t}(u["default"].Component);a["default"]=h},{"../page-lead":36,"./toolbar":121,react:"react"}],111:[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-router"),d=e("../button"),f=n(d),p=e("../dropdown-toggle"),h=n(p),m=e("./navs"),b=e("../../reducers/threads"),y=e("../../services/ajax"),g=n(y),v=e("../../services/posting"),_=n(v),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../.."),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.markAsRead=function(){a.setState({isBusy:!0}),g["default"].post(a.props.route.category.api_url.read).then(function(){k["default"].dispatch((0,b.read)()),a.setState({isBusy:!1}),w["default"].success(gettext("Threads have been marked as read."))},function(e){a.setState({isBusy:!1}),w["default"].apiError(e)})},a.startThread=function(){_["default"].open({mode:"START",config:x["default"].get("THREAD_EDITOR_URL"),submit:x["default"].get("THREADS_API"),category:a.props.route.category.id})},a.state={isBusy:!1},a}return s(t,e),l(t,[{key:"getGoBackButton",value:function(){if(this.props.route.category.parent){var e=this.props.categories[this.props.route.category.parent];return u["default"].createElement(c.Link,{className:"btn btn-default btn-aligned btn-icon btn-go-back pull-left",to:e.absolute_url+this.props.route.list.path},u["default"].createElement("span",{className:"material-icon"},"keyboard_arrow_left"))}return null}},{key:"getStartThreadButton",value:function(){return this.props.user.id?u["default"].createElement(f["default"],{className:"btn btn-success btn-aligned hidden-xs hidden-sm",onClick:this.startThread,disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Start thread")):null}},{key:"getMarkAsReadButton",value:function(){return this.props.user.id?u["default"].createElement(f["default"],{className:"btn btn-default btn-aligned hidden-xs hidden-sm",onClick:this.markAsRead,loading:this.state.isBusy,disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"playlist_add_check"),gettext("Mark as read")):null}},{key:"getCompactNavToggle",value:function(){return this.props.route.lists.length>1?u["default"].createElement(h["default"],{toggleNav:this.props.toggleNav,dropdown:this.props.dropdown}):null}},{key:"getTabsNav",value:function(){return this.props.route.lists.length>1?u["default"].createElement(m.TabsNav,{baseUrl:this.props.route.category.absolute_url,list:this.props.route.list,lists:this.props.route.lists}):null}},{key:"getClassName",value:function(){return this.props.route.lists.length>1?"page-header tabbed":"page-header"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("div",{className:"container"},this.getGoBackButton(),u["default"].createElement("h1",{className:"pull-left"},this.props.title),this.getStartThreadButton(),this.getMarkAsReadButton(),this.getCompactNavToggle()),this.getTabsNav())}}]),t}(u["default"].Component);a["default"]=j},{"../..":150,"../../reducers/threads":197,"../../services/ajax":201,"../../services/posting":210,"../../services/snackbar":211,"../../services/store":212,"../button":4,"../dropdown-toggle":18,"./navs":118,react:"react","react-router":"react-router"}],112:[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"all"===this.props.list.type?u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.category.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},gettext("No threads matching specified criteria were found."))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],113:[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("./errors-list"),f=r(d),p=e("./merge"),h=r(p),m=e("./move"),b=r(m),y=e("../../../reducers/selection"),g=n(y),v=e("../../../services/ajax"),_=r(v),E=e("../../../services/modal"),w=r(E),O=e("../../../services/snackbar"),k=r(O),N=e("../../../services/store"),x=r(N),j=e("../../../utils/countdown"),P=r(j),C=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){var a=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r=[],o=new P["default"](function(){n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),r.length?w["default"].show(c["default"].createElement(f["default"],{errors:r})):(k["default"].success(t),a&&a())},n.props.threads.length);n.props.threads.forEach(function(t){n.props.freezeThread(t.id),_["default"].patch(t.api.index,e).then(function(e){n.props.updateThread(e),o.count()},function(e){r.push({thread:t,errors:[e.detail]}),o.count()})})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))},n.move=function(){w["default"].show(c["default"].createElement(b["default"],{callApi:n.callApi,categories:n.props.categories,categoriesMap:n.props.categoriesMap,route:n.props.route,user:n.props.user}))},n.merge=function(){var e=[];if(n.props.threads.forEach(function(t){t.acl.can_merge||e.append({id:t.id,title:t.title,errors:[gettext("You don't have permission to merge this thread with others.")]})}),n.props.threads.length<2)k["default"].info(gettext("You have to select at least two threads to merge."));else{if(e.length)return void w["default"].show(c["default"].createElement(f["default"],{errors:e}));w["default"].show(c["default"].createElement(h["default"],n.props))}},n["delete"]=function(){if(confirm(gettext("Are you sure you want to delete selected threads?"))){var e=[],t=new P["default"](function(){e.length?w["default"].show(c["default"].createElement(f["default"],{errors:e})):k["default"].success(gettext("Selected threads were deleted.")),n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),x["default"].dispatch(g.all(n.props.threads.map(function(e){return e.id})))},n.props.threads.length);n.props.threads.forEach(function(a){n.props.freezeThread(a.id),_["default"]["delete"](a.api.index).then(function(e){n.props.freezeThread(a.id),n.props.deleteThread(a),t.count()},function(n){e.push({thread:a,errors:[n.detail]}),t.count()})})}},r=a,s(n,r)}return l(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return 2==this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinGlobally},gettext("Pin threads globally"))):null}},{key:"getPinLocallyButton",value:function(){return this.props.moderation.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinLocally},gettext("Pin threads locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.moderation.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unpin},gettext("Unpin threads"))):null}},{key:"getMoveButton",value:function(){return this.props.moderation.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.move},gettext("Move threads"))):null}},{key:"getMergeButton",value:function(){return this.props.moderation.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.merge},gettext("Merge threads"))):null}},{key:"getApproveButton",value:function(){return this.props.moderation.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.approve},gettext("Approve threads"))):null}},{key:"getOpenButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.open},gettext("Open threads"))):null}},{key:"getCloseButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.close},gettext("Close threads"))):null}},{key:"getUnhideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unhide},gettext("Unhide threads"))):null}},{key:"getHideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.hide},gettext("Hide threads"))):null}},{key:"getDeleteButton",value:function(){return 2==this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this["delete"]},gettext("Delete threads"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},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"]=C},{"../../../reducers/selection":194,"../../../services/ajax":201,"../../../services/modal":207,"../../../services/snackbar":211,"../../../services/store":212,"../../../utils/countdown":217,"./errors-list":114,"./merge":115,"./move":116,react:"react"}],114:[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 c["default"].createElement("li",null,c["default"].createElement("h5",null,e.thread.title),c["default"].createElement("ul",{className:"list-unstyled list-item-errors"},e.errors.map(function(e,t){return c["default"].createElement("li",{key:t},e)})))}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.ThreadErrors=l;var u=e("react"),c=n(u),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog",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("Threads moderation"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("p",{className:"lead"},gettext("Errors were encountered when performing moderation action on one or more threads:")),c["default"].createElement("ul",{className:"list-unstyled list-errored-items"},this.props.errors.map(function(e){return c["default"].createElement(l,{errors:e.errors,key:e.thread.id,thread:e.thread})})))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],115:[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("../../category-select"),g=r(y),v=e("../../select"),_=r(v),E=e("../../../index"),w=r(E),O=e("../../../reducers/threads"),k=e("../../../reducers/selection"),N=n(k),x=e("./errors-list"),j=r(x),P=e("../../../services/ajax"),C=r(P),T=e("../../../services/modal"),S=r(T),M=e("../../../services/snackbar"),L=r(M),R=e("../../../services/store"),A=r(R),I=e("../../../utils/validators"),U=n(I),D=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));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_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,weight:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.acl={};for(var n in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var r=e.user.acl.categories[n];a.acl[r.id]=r}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=a.acl[e.id],n=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:n,level:e.level-1,label:e.name}),n||a.state.category||(a.state.category=e.id)}}),a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a}return l(t,e),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(L["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return C["default"].post(w["default"].get("MERGE_THREADS_API"),{top_category:this.props.route.category.id,threads:this.props.threads.map(function(e){return e.id}),title:this.state.title,category:this.state.category,weight:this.state.weight,is_closed:this.state.is_closed})}},{key:"handleSuccess",value:function(e){var t=this;this.props.threads.forEach(function(e){t.props.freezeThread(e.id),t.props.deleteThread(e)}),A["default"].dispatch(N.none()),this.props.addThreads([e]),A["default"].dispatch((0,O.filterThreads)(this.props.route.category,this.props.categoriesMap)),S["default"].hide()}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),L["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?S["default"].show(c["default"].createElement(j["default"],{errors:e})):L["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e.push({value:1,icon:"bookmark_border",label:gettext("Pinned locally")}),e.push({value:0,icon:"remove",label:gettext("Not pinned")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?c["default"].createElement(b["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(_["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?c["default"].createElement(b["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},c["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),c["default"].createElement("div",{className:"clearfix"}),c["default"].createElement(b["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},c["default"].createElement(g["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),c["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderClosedField()),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return 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"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to merge threads to it."))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{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("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),t}(h["default"]);a["default"]=D},{"../../../index":150,"../../../reducers/selection":194,"../../../reducers/threads":197,"../../../services/ajax":201,"../../../services/modal":207,"../../../services/snackbar":211,"../../../services/store":212,"../../../utils/validators":227,"../../button":4,"../../category-select":12,"../../form":21,"../../form-group":20,"../../select":79,
-"./errors-list":114,react:"react"}],116:[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("../../form-group"),h=r(p),m=e("../../category-select"),b=r(m),y=e("../../../reducers/selection"),g=n(y),v=e("../../../reducers/threads"),_=e("../../../services/modal"),E=r(_),w=e("../../../services/store"),O=r(w),k=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));a.handleSubmit=function(e){e.preventDefault(),E["default"].hide();var t=function(){O["default"].dispatch((0,v.filterThreads)(a.props.route.category,a.props.categoriesMap));var e=O["default"].getState(),t=e.threads.map(function(e){return e.id});O["default"].dispatch(g.all(e.selection.filter(function(e){return-1!==t.indexOf(e)})))};a.props.callApi([{op:"replace",path:"category",value:a.state.category},{op:"add",path:"top-category",value:a.props.route.category.id},{op:"replace",path:"flatten-categories",value:null}],gettext("Selected threads were moved."),t)},a.state={category:null};var n={};for(var r in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(r)){var l=e.user.acl.categories[r];n[l.id]=l}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:r,level:e.level-1,label:e.name}),r||a.state.category||(a.state.category=e.id)}}),a}return l(t,e),i(t,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(h["default"],{label:gettext("New category"),"for":"id_new_category",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(b["default"],{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-primary"},gettext("Move threads"))))}},{key:"renderCantMoveMessage",value:function(){return 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"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to move threads to it."))))}},{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("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),t}(f["default"]);a["default"]=k},{"../../../reducers/selection":194,"../../../reducers/threads":197,"../../../services/modal":207,"../../../services/store":212,"../../category-select":12,"../../form":21,"../../form-group":20,react:"react"}],117:[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/selection"),f=n(d),p=e("../../../services/store"),h=r(p),m=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.selectAll=function(){h["default"].dispatch(f.all(n.props.threads.map(function(e){return e.id})))},n.selectNone=function(){h["default"].dispatch(f.none())},r=a,s(n,r)}return l(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectAll},c["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Select all"))),c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectNone},c["default"].createElement("span",{className:"material-icon"},"check_box_outline_blank"),gettext("Select none"))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../reducers/selection":194,"../../../services/store":212,react:"react"}],118:[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.TabsNav=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=function(e,t,a,n){return a.map(function(a){return u["default"].createElement(f["default"],{isControlled:!0,isActive:a.path===t.path,key:e+a.path},u["default"].createElement(c.Link,{to:e+a.path,onClick:n},u["default"].createElement("span",{className:"hidden-xs hidden-sm"},a.name),u["default"].createElement("span",{className:"hidden-md hidden-lg"},a.longName)))})};a.TabsNav=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:"page-tabs hidden-xs hidden-sm"},u["default"].createElement("div",{className:"container"},u["default"].createElement("ul",{className:"nav nav-pills"},p(this.props.baseUrl,this.props.list,this.props.lists,this.props.hideNav))))}}]),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(){return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},p(this.props.baseUrl,this.props.list,this.props.lists,this.props.hideNav))}}]),t}(u["default"].Component)},{"../li":22,react:"react","react-router":"react-router"}],119:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{selection:e.selection,threads:e.threads,tick:e.tick.tick,user:e.auth.user}}function o(e){var t=[{type:"all",path:"",name:gettext("All"),longName:gettext("All threads")}];return e.id&&(t.push({type:"my",path:"my/",name:gettext("My"),longName:gettext("My threads")}),t.push({type:"new",path:"new/",name:gettext("New"),longName:gettext("New threads")}),t.push({type:"unread",path:"unread/",name:gettext("Unread"),longName:gettext("Unread threads")}),t.push({type:"subscribed",path:"subscribed/",name:gettext("Subscribed"),longName:gettext("Subscribed threads")}),e.acl.can_see_unapproved_content_lists&&t.push({type:"unapproved",path:"unapproved/",name:gettext("Unapproved"),longName:gettext("Unapproved content")})),t}function s(e){var t=o(e),a=[],n={};return d["default"].get("CATEGORIES").forEach(function(e){t.forEach(function(o){n[e.id]=e,a.push({path:e.absolute_url+o.path,component:(0,l.connect)(r)(u["default"]),categories:d["default"].get("CATEGORIES"),categoriesMap:n,category:e,lists:t,list:o})})}),a}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.getLists=o,a.paths=s;var l=e("react-redux"),i=e("./route"),u=n(i),c=e("../../index"),d=n(c)},{"../../index":150,"./route":120,"react-redux":"react-redux"}],120:[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("./compare"),h=e("./container"),m=r(h),b=e("./navs"),y=e("./header"),g=r(y),v=e("./utils"),_=e("../threads-list/root"),E=r(_),w=e("./list-empty"),O=r(w),k=e("../with-dropdown"),N=r(k),x=e("../../index"),j=r(x),P=e("../../reducers/selection"),C=n(P),T=e("../../reducers/threads"),S=e("../../services/ajax"),M=r(S),L=e("../../services/polls"),R=r(L),A=e("../../services/snackbar"),I=r(A),U=e("../../services/store"),D=r(U),B=e("../../services/page-title"),z=r(B),H=e("../../utils/sets"),F=n(H),G=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));a.loadMore=function(){a.setState({isBusy:!0}),a.loadThreads(a.getCategory(),a.state.page+1)},a.pollResponse=function(e){a.setState({diff:Object.assign({},e,{results:(0,v.diffThreads)(a.props.threads,e.results)})})},a.addThreads=function(e){D["default"].dispatch((0,T.append)(e,a.getSorting()))},a.applyDiff=function(){a.addThreads(a.state.diff.results),a.setState(Object.assign({},a.state.diff,{moderation:(0,v.getModerationActions)(D["default"].getState().threads),diff:{results:[]}}))},a.freezeThread=function(e){a.setState(function(t){return{busyThreads:F.toggle(t.busyThreads,e)}})},a.updateThread=function(e){D["default"].dispatch((0,T.patch)(e,e,a.getSorting()))},a.deleteThread=function(e){D["default"].dispatch((0,T.deleteThread)(e))},a.state={isMounted:!0,isLoaded:!1,isBusy:!1,diff:{results:[]},moderation:[],busyThreads:[],dropdown:!1,subcategories:[],count:0,more:0,page:1,pages:1};var n=a.getCategory();return j["default"].has("THREADS")?a.initWithPreloadedData(n,j["default"].get("THREADS")):a.initWithoutPreloadedData(n),a}return l(t,e),i(t,[{key:"getCategory",value:function(){return this.props.route.category.special_role?null:this.props.route.category.id}},{key:"initWithPreloadedData",value:function(e,t){this.state=Object.assign(this.state,{moderation:(0,v.getModerationActions)(t.results),subcategories:t.subcategories,count:t.count,more:t.more,page:t.page,pages:t.pages}),this.startPolling(e)}},{key:"initWithoutPreloadedData",value:function(e){this.loadThreads(e)}},{key:"loadThreads",value:function(e){var t=this,a=arguments.length<=1||void 0===arguments[1]?1:arguments[1];M["default"].get(j["default"].get("THREADS_API"),{category:e,list:this.props.route.list.type,page:a||1},"threads").then(function(n){t.state.isMounted&&(1===a?D["default"].dispatch((0,T.hydrate)(n.results)):D["default"].dispatch((0,T.append)(n.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:(0,v.getModerationActions)(D["default"].getState().threads),subcategories:n.subcategories,count:n.count,more:n.more,page:n.page,pages:n.pages}),t.startPolling(e))},function(e){I["default"].apiError(e)})}},{key:"startPolling",value:function(e){R["default"].start({poll:"threads",url:j["default"].get("THREADS_API"),data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),j["default"].has("THREADS")&&(D["default"].dispatch((0,T.hydrate)(j["default"].pop("THREADS").results)),this.setState({isLoaded:!0})),D["default"].dispatch(C.none())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,R["default"].stop("threads")}},{key:"getTitle",value:function(){return(0,v.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!j["default"].get("THREADS_ON_INDEX")?z["default"].set((0,v.getPageTitle)(this.props.route)):j["default"].get("SETTINGS").forum_index_title?document.title=j["default"].get("SETTINGS").forum_index_title:document.title=j["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.special_role?p.compareGlobalWeight:p.compareWeight}},{key:"getCompactNav",value:function(){return this.props.route.lists.length>1?c["default"].createElement("div",{className:this.getCompactNavClassName()},c["default"].createElement(b.CompactNav,{baseUrl:this.props.route.category.absolute_url,list:this.props.route.list,lists:this.props.route.lists,hideNav:this.hideNav})):null}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list,this.props.route.category.css_class&&(e+=" page-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(g["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),this.getCompactNav(),c["default"].createElement(m["default"],{route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(E["default"],{categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(O["default"],{category:this.props.route.category,list:this.props.route.list})),this.getMoreButton()))}}]),t}(N["default"]);a["default"]=G},{"../../index":150,"../../reducers/selection":194,"../../reducers/threads":197,"../../services/ajax":201,"../../services/page-title":208,"../../services/polls":209,"../../services/snackbar":211,"../../services/store":212,"../../utils/sets":225,"../button":4,"../threads-list/root":95,"../with-dropdown":148,"./compare":109,"./container":110,"./header":111,"./list-empty":112,"./navs":118,"./utils":122,react:"react"}],121:[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-picker"),d=n(c),f=e("./moderation/controls"),p=n(f),h=e("./moderation/selection"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getCategoryPicker",value:function(){return this.props.subcategories.length?u["default"].createElement("div",{className:"toolbar-left"},u["default"].createElement(d["default"],{choices:this.props.subcategories,categories:this.props.categoriesMap,list:this.props.list})):null}},{key:"showModerationOptions",value:function(){return this.props.user.id&&this.props.moderation.allow}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"toolbar-right dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(m["default"],{className:"dropdown-menu dropdown-menu-right",threads:this.props.threads})):null}},{key:"getSelectedThreads",value:function(){var e=this;return this.props.threads.filter(function(t){return e.props.selection.indexOf(t.id)>=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"toolbar-right dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Moderation")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"toolbar with-js"},this.getCategoryPicker(),u["default"].createElement("p",{className:"toolbar-left hidden-xs hidden-sm"},this.props.children),this.getSelectionButton(),this.getModerationButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":108,"./moderation/controls":113,"./moderation/selection":117,react:"react"}],122:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function s(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.top_category===t.top_category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function l(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return a[e.id]?s(a[e.id],e):!0})}function i(e){var t={allow:!1,can_approve:0,can_close:0,can_hide:0,can_merge:0,can_move:0,can_pin:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),t.allow=t.can_approve||t.can_close||t.can_hide||t.can_merge||t.can_move||t.can_pin}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=s,a.diffThreads=l,a.getModerationActions=i;var u=e("../../index"),c=n(u)},{"../../index":150}],123:[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.CompactGuestNav=a.GuestNav=a.GuestMenu=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("../avatar"),d=n(c),f=e("../register-button"),p=n(f),h=e("../sign-in.js"),m=n(h),b=e("../../services/mobile-navbar-dropdown"),y=n(b),g=e("../../services/modal"),v=n(g),_=a.GuestMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"showSignInModal",value:function(){v["default"].show(m["default"])}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},u["default"].createElement("li",{className:"guest-preview"},u["default"].createElement("h4",null,gettext("You are browsing as guest.")),u["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.showSignInModal},gettext("Sign in"))),u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement(p["default"],{className:"btn-primary btn-block"},gettext("Register"))))))}}]),t}(u["default"].Component);a.GuestNav=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:"nav nav-guest"},u["default"].createElement("button",{type:"button",className:"btn navbar-btn btn-default",onClick:this.showSignInModal},gettext("Sign in")),u["default"].createElement(p["default"],{className:"navbar-btn btn-primary"},gettext("Register")))}}]),t}(_),a.CompactGuestNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"showGuestMenu",value:function(){y["default"].show(_)}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},u["default"].createElement(d["default"],{size:"64"}))}}]),t}(u["default"].Component)},{"../../services/mobile-navbar-dropdown":206,"../../services/modal":207,"../avatar":2,"../register-button":73,"../sign-in.js":80,react:"react"}],124:[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.auth}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserMenu=a.UserMenu=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("./guest-nav"),f=e("./user-nav");a.UserMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.UserNav,{user:this.props.user}):c["default"].createElement(d.GuestNav,null)}}]),t}(c["default"].Component),a.CompactUserMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.CompactUserNav,{user:this.props.user}):c["default"].createElement(d.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":123,"./user-nav":125,react:"react"}],125:[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.CompactUserNav=a.UserNav=a.UserMenu=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.selectUserMenu=l;var u=e("react"),c=n(u),d=e("react-redux"),f=e("../avatar"),p=n(f),h=e("../change-avatar/root"),m=n(h),b=e("../../index"),y=n(b),g=e("../../services/mobile-navbar-dropdown"),v=n(g),_=e("../../services/modal"),E=n(_),w=a.UserMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"changeAvatar",value:function(){E["default"].show((0,d.connect)(h.select)(m["default"]))}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},c["default"].createElement("li",{className:"dropdown-header"},c["default"].createElement("strong",null,this.props.user.username)),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",null,c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),c["default"].createElement("li",null,c["default"].createElement("a",{href:y["default"].get("USERCP_URL")},c["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.changeAvatar},c["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Change avatar"))),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",{className:"dropdown-buttons"},c["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.logout},gettext("Log out"))))}}]),t}(c["default"].Component);a.UserNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},c["default"].createElement("li",{className:"dropdown"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",role:"button"},c["default"].createElement(p["default"],{user:this.props.user,size:"64"})),c["default"].createElement(w,{user:this.props.user})))}}]),t}(c["default"].Component),a.CompactUserNav=function(e){function t(){return r(this,t),
-o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"showUserMenu",value:function(){v["default"].showConnected("user-menu",(0,d.connect)(l)(w))}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",onClick:this.showUserMenu},c["default"].createElement(p["default"],{user:this.props.user,size:"64"}))}}]),t}(c["default"].Component)},{"../../index":150,"../../services/mobile-navbar-dropdown":206,"../../services/modal":207,"../avatar":2,"../change-avatar/root":16,react:"react","react-redux":"react-redux"}],126:[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.StatusLabel=a.StatusIcon=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=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getClass",value:function(){var e="";return this.props.status.is_banned?e="banned":this.props.status.is_hidden?e="offline":this.props.status.is_online_hidden?e="online":this.props.status.is_offline_hidden?e="offline":this.props.status.is_online?e="online":this.props.status.is_offline&&(e="offline"),"user-status user-"+e}},{key:"render",value:function(){return u["default"].createElement("span",{className:this.getClass()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c;a.StatusIcon=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return u["default"].createElement("span",{className:"material-icon status-icon"},this.getIcon())}}]),t}(u["default"].Component),a.StatusLabel=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getHelp",value:function(){return this.props.status.is_banned?this.props.status.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:this.props.user.username,ban_expires:this.props.status.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:this.props.user.username},!0):this.props.status.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:this.props.user.username},!0):this.props.status.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:this.props.user.username},!0):this.props.status.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:this.props.user.username,last_click:this.props.status.last_click.fromNow()},!0):this.props.status.is_online?interpolate(gettext("%(username)s is online"),{username:this.props.user.username},!0):this.props.status.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:this.props.user.username,last_click:this.props.status.last_click.fromNow()},!0):void 0}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return u["default"].createElement("span",{className:this.props.className||"status-label",title:this.getHelp()},this.getLabel())}}]),t}(u["default"].Component)},{react:"react"}],127:[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("../avatar"),f=r(d),p=e("../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"change-avatar"},c["default"].createElement("span",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"100"}))),c["default"].createElement("div",{className:"change-author"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,100)+"px"}}," ")),c["default"].createElement("div",{className:"change"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,70)+"px"}}," "),c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,70)+"px"}}," ")),c["default"].createElement("div",{className:"change-date"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](80,140)+"px"}}," ")))}}]),t}(c["default"].Component);a["default"]=m},{"../../utils/random":222,"../avatar":2,react:"react"}],128:[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=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.absolute_url,className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{user:this.props.change.changed_by,size:"100"})):u["default"].createElement("span",{className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{size:"100"}))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.absolute_url,className:"item-title"},this.props.change.changed_by.username):u["default"].createElement("span",{className:"item-title"},this.props.change.changed_by_username)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item",key:this.props.change.id},u["default"].createElement("div",{className:"change-avatar"},this.renderUserAvatar()),u["default"].createElement("div",{className:"change-author"},this.renderUsername()),u["default"].createElement("div",{className:"change"},u["default"].createElement("span",{className:"old-username"},this.props.change.old_username),u["default"].createElement("span",{className:"material-icon"},"arrow_forward"),u["default"].createElement("span",{className:"new-username"},this.props.change.new_username)),u["default"].createElement("div",{className:"change-date"},u["default"].createElement("abbr",{title:this.props.change.changed_on.format("LLL")},this.props.change.changed_on.fromNow())))}}]),t}(u["default"].Component);a["default"]=f},{"../avatar":2,react:"react"}],129:[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:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement("li",{className:"list-group-item empty-message"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],130:[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-preview"),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:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change-preview":127,react:"react"}],131:[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"),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:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.changes.map(function(e){return u["default"].createElement(d["default"],{change:e,key:e.id})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change":128,react:"react"}],132:[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("./list-empty"),d=n(c),f=e("./list-ready"),p=n(f),h=e("./list-preview"),m=n(h),b=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 this.props.isLoaded?this.props.changes.length?u["default"].createElement(p["default"],{changes:this.props.changes}):u["default"].createElement(d["default"],{emptyMessage:this.props.emptyMessage}):u["default"].createElement(m["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list-empty":129,"./list-preview":130,"./list-ready":131,react:"react"}],133:[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("./user-card"),d=n(c),f=e("./user-preview"),p=n(f),h=e("../../utils/batch"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"shouldComponentUpdate",value:function(e){return e.isLoaded}},{key:"getPager",value:function(){return this.props.pages>1?u["default"].createElement(Pager,this.props):null}},{key:"getClassName",value:function(){return this.props.className?"users-cards-list "+this.props.className+" ui-ready":"users-cards-list ui-ready"}},{key:"getColClassName",value:function(){return"col-md-"+12/this.props.cols}},{key:"getBody",value:function(){var e=this;if(this.props.isLoaded)return(0,m["default"])(this.props.users,this.props.cols).map(function(t,a){return u["default"].createElement("div",{className:"row",key:a},t.map(function(t){return u["default"].createElement("div",{className:e.getColClassName(),key:t.id},u["default"].createElement(d["default"],{user:t,showStatus:e.props.showStatus,showRank:e.props.showRank}))}))});for(var t=[],a=0;a<this.props.cols;a++)0===a?t.push(this.getColClassName()):t.push(this.getColClassName()+" hidden-xs hidden-sm");return u["default"].createElement("div",{className:"row"},t.map(function(t,a){return u["default"].createElement("div",{className:t,key:a},u["default"].createElement(p["default"],{showStatus:e.props.showStatus}))}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"users-cards-list ui-ready"},this.getBody())}}]),t}(u["default"].Component);a["default"]=b},{"../../utils/batch":215,"./user-card":134,"./user-preview":135,react:"react"}],134:[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("../avatar"),f=r(d),p=e("../user-status"),h=r(p),m=e("../../utils/random"),b=n(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:"getUserStatus",value:function(){return this.props.showStatus?this.props.user.status?c["default"].createElement(h["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(p.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(p.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text",style:{width:b["int"](30,50)+"px"}}," ")):null}},{key:"getRankName",value:function(){return this.props.showRank?this.props.user.rank.is_tab?c["default"].createElement("a",{href:this.props.user.rank.absolute_url,className:"item-title rank-name"},this.props.user.rank.name):c["default"].createElement("span",{className:"item-title rank-name"},this.props.user.rank.name):null}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title"},this.props.user.title):null}},{key:"getUserJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.user.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.user.joined_on.fromNow()},!0);return c["default"].createElement("span",{className:"user-joined-on",title:e},t)}},{key:"getPostsCount",value:function(){var e=ngettext("%(posts)s post","%(posts)s posts",this.props.user.posts);return interpolate(e,{posts:this.props.user.posts},!0)}},{key:"getThreadsCount",value:function(){var e=ngettext("%(threads)s thread","%(threads)s threads",this.props.user.threads);return interpolate(e,{threads:this.props.user.threads},!0)}},{key:"getFollowersCount",value:function(){var e=ngettext("%(followers)s follower","%(followers)s followers",this.props.user.followers);return interpolate(e,{followers:this.props.user.followers},!0)}},{key:"getClassName",value:function(){return this.props.user.rank.css_class?"user-card user-card-"+this.props.user.rank.css_class+" ui-ready":"user-card ui-ready"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"user-card-bg-image"},c["default"].createElement(f["default"],{user:this.props.user,size:"400",className:"bg-image"}),c["default"].createElement("div",{className:"user-card-bg"},c["default"].createElement("div",{className:"user-details"},c["default"].createElement("div",{className:"user-avatar"},c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement(f["default"],{user:this.props.user,size:"400"}))),c["default"].createElement("h4",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"item-title"},this.props.user.username)),c["default"].createElement("p",{className:"user-subscript"},this.getUserStatus(),this.getRankName(),this.getUserTitle(),this.getUserJoinedOn())),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",{className:"user-posts-count"},this.getPostsCount()),c["default"].createElement("li",{className:"user-threads-count"},this.getThreadsCount()),c["default"].createElement("li",{className:"user-followers-count"},this.getFollowersCount()))))))}}]),t}(c["default"].Component);a["default"]=y},{"../../utils/random":222,"../avatar":2,"../user-status":126,react:"react"}],135:[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("../avatar"),f=r(d),p=e("../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getUserStatus",value:function(){return this.props.showStatus?c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"user-card ui-preview"},c["default"].createElement("div",{className:"user-card-bg-image"},c["default"].createElement(f["default"],{size:"400",className:"bg-image"}),c["default"].createElement("div",{className:"user-card-bg"},c["default"].createElement("div",{className:"user-details"},c["default"].createElement("div",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"400"})),c["default"].createElement("h4",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](60,150)+"px"}}," "))),c["default"].createElement("p",{className:"user-subscript"},this.getUserStatus(),c["default"].createElement("span",{className:"user-joined-on"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")))),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",{className:"user-posts-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-threads-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-followers-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")))))))}}]),t}(c["default"].Component);a["default"]=m},{"../../utils/random":222,"../avatar":2,react:"react"}],136:[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:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],137:[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("../../avatar"),f=r(d),p=e("../../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,80)+"px"}}," "))),c["default"].createElement("div",{className:"user-details"},c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:h["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"rank-name"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")))),c["default"].createElement("div",{className:"rank-position"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total"},c["default"].createElement("strong",null,c["default"].createElement("span",{
-className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../utils/random":222,"../../avatar":2,react:"react"}],138:[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("react-router"),f=e("../../avatar"),p=r(f),h=e("../../user-status"),m=r(h),b=e("../../../index"),y=r(b),g=e("../../../utils/random"),v=n(g),_=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?c["default"].createElement(m["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(h.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(h.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:v["int"](30,50)+"px"}}," "))}},{key:"getRankName",value:function(){if(this.props.rank.is_tab){var e=y["default"].get("USERS_LIST_URL")+this.props.rank.slug+"/";return c["default"].createElement(d.Link,{to:e,className:"rank-name item-title"},this.props.rank.name)}return c["default"].createElement("span",{className:"rank-name item-title"},this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},this.props.user.title):null}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement(p["default"],{user:this.props.user,size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"item-title"},this.props.user.username)),c["default"].createElement("div",{className:"user-details"},this.getUserStatus(),this.getRankName(),this.getUserTitle())),c["default"].createElement("div",{className:"rank-position"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total"},c["default"].createElement("strong",null,this.props.user.posts),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=_},{"../../../index":150,"../../../utils/random":222,"../../avatar":2,"../../user-status":126,react:"react","react-router":"react-router"}],139:[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("./list-item-preview"),f=r(d),p=e("../../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return l(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"active-posters-list"},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead ui-preview"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](50,220)+"px"}}," ")),c["default"].createElement("div",{className:"active-posters ui-preview"},c["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return c["default"].createElement(f["default"],{hiddenOnMobile:e>0,key:e})})))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../utils/random":222,"./list-item-preview":137,react:"react"}],140:[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("./list-item"),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:"getLeadMessage",value:function(){var e=ngettext("%(posters)s most active poster from last %(days)s days.","%(posters)s most active posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getLeadMessage()),u["default"].createElement("div",{className:"active-posters ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.users.map(function(e,t){return u["default"].createElement(d["default"],{user:e,rank:e.rank,counter:t+1,key:e.id})})))))}}]),t}(u["default"].Component);a["default"]=f},{"./list-item":138,react:"react"}],141:[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("./list-empty"),d=n(c),f=e("./list-preview"),p=n(f),h=e("./list-ready"),m=n(h),b=e("../../../index"),y=n(b),g=e("../../../reducers/users"),v=e("../../../services/polls"),_=n(v),E=e("../../../services/store"),w=n(E),O=e("../../../services/page-title"),k=n(O),N=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){w["default"].dispatch((0,g.hydrate)(e.results)),a.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})},y["default"].has("USERS")?a.initWithPreloadedData(y["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},w["default"].dispatch((0,g.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){_["default"].start({poll:"active-posters",url:y["default"].get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){k["default"].set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){_["default"].stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?u["default"].createElement(m["default"],{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):u["default"].createElement(d["default"],{trackedPeriod:this.state.trackedPeriod}):u["default"].createElement(p["default"],null)}}]),t}(u["default"].Component);a["default"]=N},{"../../../index":150,"../../../reducers/users":200,"../../../services/page-title":208,"../../../services/polls":209,"../../../services/store":212,"./list-empty":136,"./list-preview":139,"./list-ready":140,react:"react"}],142:[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.TabsNav=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"),h=(n(p),function(e,t){var a=e;return a+="rank"===t.component?t.slug:t.component,a+"/"}),m=function(e,t,a){return t.map(function(t){var n=h(e,t);return u["default"].createElement(f["default"],{path:n,key:n},u["default"].createElement(c.Link,{to:n,onClick:a},t.name))})};a.TabsNav=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("ul",{className:"nav nav-pills"},m(this.props.baseUrl,this.props.lists))}}]),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(){return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},m(this.props.baseUrl,this.props.lists,this.props.hideNav))}}]),t}(u["default"].Component)},{"../../index":150,"../li":22,react:"react","react-router":"react-router"}],143:[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("../../users-list/root"),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:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{isLoaded:!1,cols:3,showStatus:!0}))}}]),t}(u["default"].Component);a["default"]=f},{"../../users-list/root":133,react:"react"}],144:[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("./pager"),d=n(c),f=e("../../users-list/root"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getPager",value:function(){return this.props.pages>1?u["default"].createElement(d["default"],this.props):null}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(p["default"],{users:this.props.users,showStatus:!0,cols:3,isLoaded:!0}),this.getPager())}}]),t}(u["default"].Component);a["default"]=h},{"../../users-list/root":133,"./pager":145,react:"react"}],145:[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-router"),d=e("../../../utils/reset-scroll"),f=n(d),p=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"getPreviousPage",value:function(){if(this.props.previous||this.props.first){var e=this.props.baseUrl;return this.props.previous&&(e+=this.props.previous+"/"),u["default"].createElement("li",{className:"previous"},u["default"].createElement(c.Link,{to:e,onClick:f["default"]},u["default"].createElement("span",{"aria-hidden":"true",className:"material-icon"},"arrow_back")))}return null}},{key:"getNextPage",value:function(){if(this.props.next){var e=this.props.baseUrl+this.props.next+"/";return u["default"].createElement("li",{className:"next"},u["default"].createElement(c.Link,{to:e,onClick:f["default"]},u["default"].createElement("span",{"aria-hidden":"true",className:"material-icon"},"arrow_forward")))}return null}},{key:"getProgessBar",value:function(){var e=this;return u["default"].createElement("ul",{className:"pager-progress-bar"},this.props.page_range.map(function(t){var a=t===e.props.page?"active":null,n=e.props.baseUrl;return t>1&&(n+=t+"/"),u["default"].createElement("li",{key:t,className:a},u["default"].createElement(c.Link,{to:n,onClick:f["default"]},t))}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"pager-undercontent"},u["default"].createElement("nav",null,u["default"].createElement("ul",{className:"pager"},this.getPreviousPage(),this.getNextPage()),this.getProgessBar()))}}]),t}(u["default"].Component);a["default"]=p},{"../../../utils/reset-scroll":223,react:"react","react-router":"react-router"}],146:[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=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},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("../../page-lead"),f=n(d),p=e("./list"),h=n(p),m=e("./list-loading"),b=n(m),y=e("../../../index"),g=n(y),v=e("../../../reducers/users"),_=e("../../../services/polls"),E=n(_),w=e("../../../services/store"),O=n(w),k=e("../../../services/page-title"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){O["default"].dispatch((0,v.hydrate)(e.results)),e.isLoaded=!0,a.setState(e)},g["default"].has("USERS")?a.initWithPreloadedData(g["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(e.params.page||1),a}return s(t,e),i(t,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),O["default"].dispatch((0,v.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){E["default"].start({poll:"rank-users",url:g["default"].get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){N["default"].set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){E["default"].stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(N["default"].set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),E["default"].stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?c["default"].createElement("div",{className:"rank-description"},c["default"].createElement(f["default"],{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){if(this.state.isLoaded){if(this.state.count>0){var e=g["default"].get("USERS_LIST_URL")+this.props.route.rank.slug+"/";return c["default"].createElement(h["default"],l({baseUrl:e,users:this.props.users},this.state))}return c["default"].createElement("p",{className:"lead"},gettext("There are no users with this rank at the moment."))}return c["default"].createElement(b["default"],null)}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},this.getRankDescription(),this.getComponent()))}}]),t}(c["default"].Component);a["default"]=x},{"../../../index":150,"../../../reducers/users":200,"../../../services/page-title":208,"../../../services/polls":209,"../../../services/store":212,"../../page-lead":36,"./list":144,"./list-loading":143,react:"react"}],147:[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}}function i(){var e=[];return O["default"].get("USERS_LISTS").forEach(function(t){"rank"===t.component?(e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,f.connect)(l)(v["default"]),rank:t}),e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/",component:(0,f.connect)(l)(v["default"]),rank:t})):"active-posters"===t.component&&e.push({path:O["default"].get("USERS_LIST_URL")+t.component+"/",component:(0,f.connect)(l)(y["default"]),extra:{name:t.name}})}),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("../dropdown-toggle"),h=n(p),m=e("./navs"),b=e("./active-posters/root"),y=n(b),g=e("./rank/root"),v=n(g),_=e("../with-dropdown"),E=n(_),w=e("../../index"),O=n(w),k=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-users-lists"},d["default"].createElement("div",{className:"page-header tabbed"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",{className:"pull-left"},gettext("Users")),d["default"].createElement(h["default"],{toggleNav:this.toggleNav,dropdown:this.state.dropdown})),d["default"].createElement("div",{className:"page-tabs hidden-xs hidden-sm"},d["default"].createElement("div",{className:"container"},d["default"].createElement(m.TabsNav,{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL")})))),d["default"].createElement("div",{className:this.getCompactNavClassName()},d["default"].createElement(m.CompactNav,{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL"),hideNav:this.hideNav})),this.props.children)}}]),t}(E["default"]);a["default"]=k},{"../../index":150,"../dropdown-toggle":18,"../with-dropdown":148,"./active-posters/root":141,"./navs":142,"./rank/root":146,react:"react","react-redux":"react-redux"}],148:[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(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.toggleNav=function(){a.setState({dropdown:!a.state.dropdown})},a.hideNav=function(){a.setState({dropdown:!1})},a.state={dropdown:!1},a}return s(t,e),l(t,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],149:[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.toggle=function(){n.props.onChange({target:{value:!n.props.value}})},s=a,o(n,s)}return s(t,e),l(t,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],150:[function(e,t,a){(function(t){"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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Misago=void 0;var o=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}}(),s=e("./utils/ordered-list"),l=n(s),i=a.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return o(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var a=new l["default"](this._initializers).orderedValues();a.forEach(function(e){e(t)})}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}(),u=new i;t.misago=u,a["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":221}],151:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(s["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/ajax"),i=n(l);s["default"].addInitializer({name:"ajax",initializer:r})},{"../index":150,"../services/ajax":201}],152:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(f["default"],h["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/auth"),i=n(l),u=e("../services/modal"),c=n(u),d=e("../services/store"),f=n(d),p=e("../services/local-storage"),h=n(p);s["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../index":150,"../services/auth":202,"../services/local-storage":205,"../services/modal":207,"../services/store":212}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,i["default"],f["default"],h["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/ajax"),i=n(l),u=e("../services/captcha"),c=n(u),d=e("../services/include"),f=n(d),p=e("../services/snackbar"),h=n(p);
-s["default"].addInitializer({name:"captcha",initializer:r})},{"../index":150,"../services/ajax":201,"../services/captcha":203,"../services/include":204,"../services/snackbar":211}],154:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,d["default"])((0,o.connect)(i.select)(u["default"]),"auth-message-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../index"),l=n(s),i=e("../../components/auth-message"),u=n(i),c=e("../../utils/mount-component"),d=n(c);l["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../../components/auth-message":1,"../../index":150,"../../utils/mount-component":220,"react-redux":"react-redux"}],155:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("BAN_MESSAGE")&&(0,i["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../utils/banned-page"),i=n(l);s["default"].addInitializer({name:"component:baned-page",initializer:r,after:"store"})},{"../../index":150,"../../utils/banned-page":214}],156:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("categories-mount")&&(0,d["default"])((0,o.connect)(s.select)(l["default"]),"categories-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../components/categories/root"),l=n(s),i=e("../../index"),u=n(i),c=e("../../utils/mount-component"),d=n(c);u["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../../components/categories/root":9,"../../index":150,"../../utils/mount-component":220,"react-redux":"react-redux"}],157:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USER_OPTIONS")&&(0,c["default"])({root:i["default"].get("USERCP_URL"),component:s["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/options/root"),s=n(o),l=e("../../index"),i=n(l),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:options",initializer:r,after:"store"})},{"../../components/options/root":32,"../../index":150,"../../utils/routed-component":224}],158:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,d["default"])({root:u["default"].get("PROFILE").absolute_url,component:(0,o.connect)(s.select)(l["default"]),paths:(0,s.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../components/profile/root"),l=n(s),i=e("../../index"),u=n(i),c=e("../../utils/routed-component"),d=n(c);u["default"].addInitializer({name:"component:profile",initializer:r,after:"reducer:profile-hydrate"})},{"../../components/profile/root":71,"../../index":150,"../../utils/routed-component":224,"react-redux":"react-redux"}],159:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(i["default"],"request-activation-link-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../components/request-activation-link"),i=n(l),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../../components/request-activation-link":75,"../../index":150,"../../utils/mount-component":220}],160:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(i["default"],"request-password-reset-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../components/request-password-reset"),i=n(l),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../../components/request-password-reset":76,"../../index":150,"../../utils/mount-component":220}],161:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(i["default"],"reset-password-form-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../components/reset-password-form"),i=n(l),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../../components/reset-password-form":77,"../../index":150,"../../utils/mount-component":220}],162:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.Snackbar),"snackbar-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../index"),l=n(s),i=e("../../components/snackbar"),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../../components/snackbar":81,"../../index":150,"../../utils/mount-component":220,"react-redux":"react-redux"}],163:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREAD")&&e.has("POSTS")&&(0,u["default"])({paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/thread/root"),s=e("../../index"),l=n(s),i=e("../../utils/routed-component"),u=n(i);l["default"].addInitializer({name:"component:thread",initializer:r,after:"store"})},{"../../components/thread/root":88,"../../index":150,"../../utils/routed-component":224}],164:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREADS")&&e.has("CATEGORIES")&&(0,u["default"])({paths:(0,o.paths)(e.get("user"))})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/threads/root"),s=e("../../index"),l=n(s),i=e("../../utils/routed-component"),u=n(i);l["default"].addInitializer({name:"component:threads",initializer:r,after:"store"})},{"../../components/threads/root":119,"../../index":150,"../../utils/routed-component":224}],165:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.UserMenu),"user-menu-mount"),(0,c["default"])((0,o.connect)(i.select)(i.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../index"),l=n(s),i=e("../../components/user-menu/root"),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../../components/user-menu/root":124,"../../index":150,"../../utils/mount-component":220,"react-redux":"react-redux"}],166:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USERS_LISTS")&&(0,c["default"])({root:i["default"].get("USERS_LIST_URL"),component:s["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/users/root"),s=n(o),l=e("../../index"),i=n(l),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:users",initializer:r,after:"store"})},{"../../components/users/root":147,"../../index":150,"../../utils/routed-component":224}],167:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("STATIC_URL"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/include"),i=n(l);s["default"].addInitializer({name:"include",initializer:r})},{"../index":150,"../services/include":204}],168:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init("misago_")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/local-storage"),i=n(l);s["default"].addInitializer({name:"local-storage",initializer:r})},{"../index":150,"../services/local-storage":205}],169:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/mobile-navbar-dropdown"),i=n(l);s["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../index":150,"../services/mobile-navbar-dropdown":206}],170:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/modal"),i=n(l);s["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../index":150,"../services/modal":207}],171:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){s["default"].locale($("html").attr("lang"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("moment"),s=n(o),l=e("../index"),i=n(l);i["default"].addInitializer({name:"moment",initializer:r})},{"../index":150,moment:"moment"}],172:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/page-title"),i=n(l);s["default"].addInitializer({name:"page-title",initializer:r})},{"../index":150,"../services/page-title":208}],173:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){f["default"].init(i["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/ajax"),i=n(l),u=e("../services/snackbar"),c=n(u),d=e("../services/polls"),f=n(d);s["default"].addInitializer({name:"polls",initializer:r})},{"../index":150,"../services/ajax":201,"../services/polls":209,"../services/snackbar":211}],174:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"],f["default"],document.getElementById("posting-placeholder"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/ajax"),i=n(l),u=e("../services/posting"),c=n(u),d=e("../services/snackbar"),f=n(d);s["default"].addInitializer({name:"posting",initializer:r})},{"../index":150,"../services/ajax":201,"../services/posting":210,"../services/snackbar":211}],175:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",i["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},l.initialState))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/auth"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../../index":150,"../../reducers/auth":190,"../../services/store":212}],176:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=s["default"].has("POSTS")?(0,l.hydrate)(s["default"].get("POSTS")):{isLoaded:!1,isBusy:!1},c["default"].addReducer("posts",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/posts"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:posts",initializer:r,before:"store"})},{"../../index":150,"../../reducers/posts":192,"../../services/store":212}],177:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){s["default"].has("PROFILE")&&u["default"].dispatch((0,l.hydrate)(s["default"].get("PROFILE")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/profile"),i=e("../../services/store"),u=n(i);s["default"].addInitializer({name:"reducer:profile-hydrate",initializer:r,after:"store"})},{"../../index":150,"../../reducers/profile":193,"../../services/store":212}],178:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("profile",i["default"],{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/profile"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:profile",initializer:r,before:"store"})},{"../../index":150,"../../reducers/profile":193,"../../services/store":212}],179:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("selection",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/selection"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:selection",initializer:r,before:"store"})},{"../../index":150,"../../reducers/selection":194,"../../services/store":212}],180:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",i["default"],l.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/snackbar"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../../index":150,"../../reducers/snackbar":195,"../../services/store":212}],181:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=s["default"].has("THREAD")?(0,l.hydrate)(s["default"].get("THREAD")):{isBusy:!1},c["default"].addReducer("thread",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/thread"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:thread",initializer:r,before:"store"})},{"../../index":150,"../../reducers/thread":196,"../../services/store":212}],182:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("threads",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/threads"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:threads",initializer:r,before:"store"})},{"../../index":150,"../../reducers/threads":197,"../../services/store":212}],183:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",i["default"],l.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/tick"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../../index":150,"../../reducers/tick":198,"../../services/store":212}],184:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("username-history",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/username-history"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:username-history",initializer:r,before:"store"})},{"../../index":150,"../../reducers/username-history":199,"../../services/store":212}],185:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("users",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),s=n(o),l=e("../../reducers/users"),i=n(l),u=e("../../services/store"),c=n(u);s["default"].addInitializer({name:"reducer:users",initializer:r,before:"store"})},{"../../index":150,"../../reducers/users":200,"../../services/store":212}],186:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/snackbar"),i=n(l),u=e("../services/store"),c=n(u);s["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../index":150,"../services/snackbar":211,"../services/store":212}],187:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init()}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/store"),i=n(l);s["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../index":150,"../services/store":212}],188:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){u["default"].dispatch((0,l.doTick)())},c)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../reducers/tick"),i=e("../services/store"),u=n(i),c=5e4;s["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../index":150,"../reducers/tick":198,"../services/store":212}],189:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),s=n(o),l=e("../services/include"),i=n(l),u=e("../services/zxcvbn"),c=n(u);s["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../index":150,"../services/include":204,"../services/zxcvbn":213}],190:[function(e,t,a){"use strict";function n(e){return{type:u,patch:e}}function r(e){return{type:c,user:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];return{type:d,soft:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?i:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case u:var a=Object.assign({},e);return a.user=Object.assign({},e.user,t.patch),a;case c:return Object.assign({},e,{signedIn:t.user});case d:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case l.UPDATE_AVATAR:if(e.isAuthenticated&&e.user.id===t.userId){var n=Object.assign({},e);return n.user=Object.assign({},e.user,{avatar_hash:t.avatarHash}),n}return e;case l.UPDATE_USERNAME:if(e.isAuthenticated&&e.user.id===t.userId){var r=Object.assign({},e);return r.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),r}return e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SIGN_OUT=a.SIGN_IN=a.PATCH_USER=a.initialState=void 0,a.patch=n,a.signIn=r,a.signOut=o,a["default"]=s;var l=e("./users"),i=a.initialState={signedIn:!1,signedOut:!1},u=a.PATCH_USER="PATCH_USER",c=a.SIGN_IN="SIGN_IN",d=a.SIGN_OUT="SIGN_OUT"},{"./users":200}],191:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{posted_on:(0,s["default"])(e.posted_on),updated_on:(0,s["default"])(e.updated_on),hidden_on:(0,s["default"])(e.hidden_on),selected:!1,busy:!1})}Object.defineProperty(a,"__esModule",{value:!0}),a.hydrate=r;var o=e("moment"),s=n(o)},{moment:"moment"}],192:[function(e,t,a){"use strict";function n(e){return Object.assign({},e,{results:e.results.map(l.hydrate),isLoaded:!0,isBusy:!1})}function r(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];return{type:i,state:t?e:n(e)}}function o(){return{type:u}}function s(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case i:return t.state;case u:return Object.assign({},e,{isLoaded:!1});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UNLOAD_POSTS=a.LOAD_POSTS=void 0,a.hydrate=n,a.load=r,a.unload=o,a["default"]=s;var l=e("./post"),i=a.LOAD_POSTS="LOAD_POSTS",u=a.UNLOAD_POSTS="UNLOAD_POSTS"},{"./post":191}],193:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:c,profile:e}}function o(e){return{type:d,patch:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case c:return Object.assign({},t.profile,{joined_on:(0,i["default"])(t.profile.joined_on),status:(0,u.hydrateStatus)(t.profile.status)});case d:return Object.assign({},e,t.patch);case u.UPDATE_AVATAR:return e.id===t.userId?Object.assign({},e,{avatar_hash:t.avatarHash}):e;case u.UPDATE_USERNAME:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_PROFILE=a.HYDRATE_PROFILE=void 0,a.hydrate=r,a.patch=o,a["default"]=s;var l=e("moment"),i=n(l),u=e("./users"),c=a.HYDRATE_PROFILE="HYDRATE_PROFILE",d=a.PATCH_PROFILE="PATCH_PROFILE"},{"./users":200,moment:"moment"}],194:[function(e,t,a){"use strict";function n(e){return{type:i,items:e}}function r(){return{type:u}}function o(e){return{type:c,item:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case i:return t.items;case u:return[];case c:return(0,l.toggle)(e,t.item);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SELECT_ITEM=a.SELECT_NONE=a.SELECT_ALL=void 0,a.all=n,a.none=r,a.item=o,a["default"]=s;var l=e("../utils/sets"),i=a.SELECT_ALL="SELECT_ALL",u=a.SELECT_NONE="SELECT_NONE",c=a.SELECT_ITEM="SELECT_ITEM"},{"../utils/sets":225}],195:[function(e,t,a){"use strict";function n(e,t){return{type:l,message:e,messageType:t}}function r(){return{type:i}}function o(){var e=arguments.length<=0||void 0===arguments[0]?s:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===l?{type:t.messageType,message:t.message,isVisible:!0}:t.type===i?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.showSnackbar=n,a.hideSnackbar=r,a["default"]=o;var s=a.initialState={type:"info",message:"",isVisible:!1},l=a.SHOW_SNACKBAR="SHOW_SNACKBAR",i=a.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],196:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{started_on:(0,d["default"])(e.started_on),last_post_on:(0,d["default"])(e.last_post_on),isBusy:!1})}function o(){return{type:f}}function s(){return{type:p}}function l(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];return{type:h,state:t?e:r(e)}}function i(e){return{type:m,data:e}}function u(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case f:return Object.assign({},e,{isBusy:!0});case p:return Object.assign({},e,{isBusy:!1});case h:return t.state;case m:return Object.assign({},e,t.data);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_THREAD=a.REPLACE_THREAD=a.RELEASE_THREAD=a.BUSY_THREAD=void 0,a.hydrate=r,a.busy=o,a.release=s,a.replace=l,a.update=i,a["default"]=u;var c=e("moment"),d=n(c),f=a.BUSY_THREAD="BUSY_THREAD",p=a.RELEASE_THREAD="RELEASE_THREAD",h=a.REPLACE_THREAD="REPLACE_THREAD",m=a.UPDATE_THREAD="UPDATE_THREAD"},{moment:"moment"}],197:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){return{type:g,items:e,sorting:t}}function o(e){return{type:v,thread:e}}function s(e,t){return{type:_,category:e,categoriesMap:t}}function l(e){return{type:E,items:e}}function i(e,t){var a=arguments.length<=2||void 0===arguments[2]?null:arguments[2];return{type:w,thread:e,patch:t,sorting:a}}function u(){return{type:O}}function c(e){return{type:k,sorting:e}}function d(e){var t=[];return N.forEach(function(a){e[a]&&t.push(a)}),t}function f(e){return Object.assign({},e,{started_on:(0,m["default"])(e.started_on),last_post_on:(0,m["default"])(e.last_post_on),moderation:d(e.acl)})}function p(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case g:var a=(0,y["default"])(t.items.map(f),e);return a.sort(t.sorting);case v:return e.filter(function(e){return e.id!==t.thread.id});case _:return e.filter(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght?!0:2==e.weight});case E:return t.items.map(f);case w:var n=e.map(function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e});return t.sorting?n.sort(t.sorting):n;case O:return e.map(function(e){return Object.assign({},e,{is_read:!0})});case k:return e.sort(t.sorting);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.MODERATION_PERMISSIONS=a.SORT_THREADS=a.READ_THREADS=a.PATCH_THREAD=a.HYDRATE_THREADS=a.FILTER_THREADS=a.DELETE_THREAD=a.APPEND_THREADS=void 0,a.append=r,a.deleteThread=o,a.filterThreads=s,a.hydrate=l,a.patch=i,a.read=u,a.sort=c,a.getThreadModerationOptions=d,a.hydrateThread=f,a["default"]=p;var h=e("moment"),m=n(h),b=e("../utils/concat-unique"),y=n(b),g=a.APPEND_THREADS="APPEND_THREADS",v=a.DELETE_THREAD="DELETE_THREAD",_=a.FILTER_THREADS="FILTER_THREADS",E=a.HYDRATE_THREADS="HYDRATE_THREADS",w=a.PATCH_THREAD="PATCH_THREAD",O=a.READ_THREADS="READ_THREADS",k=a.SORT_THREADS="SORT_THREADS",N=a.MODERATION_PERMISSIONS=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"]},{"../utils/concat-unique":216,moment:"moment"}],198:[function(e,t,a){"use strict";function n(){return{type:s}}function r(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===s?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.doTick=n,a["default"]=r;var o=a.initialState={tick:0},s=a.TICK="TICK"},{}],199:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return{type:h,change:e,user:t,changedBy:a}}function o(e){return{type:m,items:e}}function s(e){return{type:b,items:e}}function l(e){return Object.assign({},e,{changed_on:(0,c["default"])(e.changed_on)})}function i(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case h:var a=e.slice();return a.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:(0,c["default"])(),new_username:t.change.username,old_username:t.user.username}),a;case m:return(0,p["default"])(e,t.items.map(l));case b:return t.items.map(l);case d.UPDATE_AVATAR:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatar_hash:t.avatarHash})),e});case d.UPDATE_USERNAME:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.HYDRATE_HISTORY=a.APPEND_HISTORY=a.ADD_NAME_CHANGE=void 0,a.addNameChange=r,a.append=o,a.hydrate=s,a.hydrateNamechange=l,a["default"]=i;var u=e("moment"),c=n(u),d=e("./users"),f=e("../utils/concat-unique"),p=n(f),h=a.ADD_NAME_CHANGE="ADD_NAME_CHANGE",m=a.APPEND_HISTORY="APPEND_HISTORY",b=a.HYDRATE_HISTORY="HYDRATE_HISTORY"},{"../utils/concat-unique":216,"./users":200,moment:"moment"}],200:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:m,items:e}}function o(e){return{type:b,items:e}}function s(e){return e?Object.assign({},e,{last_click:e.last_click?(0,f["default"])(e.last_click):null,banned_until:e.banned_until?(0,f["default"])(e.banned_until):null}):null}function l(e){return Object.assign({},e,{joined_on:(0,f["default"])(e.joined_on),status:s(e.status)})}function i(e,t){return{type:y,userId:e.id,avatarHash:t}}function u(e,t,a){return{type:g,userId:e.id,username:t,slug:a}}function c(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case m:var a=(0,h["default"])(e,t.items.map(l));return a.sort(function(e,t){return e.username<t.username?-1:e.username>t.username?1:0});case b:return t.items.map(l);case y:return e.map(function(e){return e=Object.assign({},e),e.id===t.userId&&(e.avatar_hash=t.avatarHash),e});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_USERNAME=a.UPDATE_AVATAR=a.HYDRATE_USERS=a.APPEND_USERS=void 0,a.append=r,a.hydrate=o,a.hydrateStatus=s,a.hydrateUser=l,a.updateAvatar=i,a.updateUsername=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("../utils/concat-unique"),h=n(p),m=a.APPEND_USERS="APPEND_USERS",b=a.HYDRATE_USERS="HYDRATE_USERS",y=a.UPDATE_AVATAR="UPDATE_AVATAR",g=a.UPDATE_USERNAME="UPDATE_USERNAME"},{"../utils/concat-unique":216,moment:"moment"}],201:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},o=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}}(),s=a.Ajax=function(){function e(){n(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return o(e,[{key:"init",value:function(e){this._cookieName=e,this._csrfToken=this.getCsrfToken()}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,a){var n=this;return new Promise(function(r,o){var s={url:t,method:e,headers:{"X-CSRFToken":n._csrfToken},data:a?JSON.stringify(a):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(s)})}},{key:"get",value:function(e,t,a){var n=this;if(t&&(e+="?"+$.param(t)),!a)return this.request("GET",e);var o=function(){var t=n;return n._locks[a]&&(n._locks[a].url=e),n._locks[a]&&n._locks[a].waiter?{v:{then:function(){}}}:n._locks[a]&&n._locks[a].wait?(n._locks[a].waiter=!0,{v:new Promise(function(n,r){var o=function s(e){t._locks[a].wait?window.setTimeout(function(){
-s(e)},300):t._locks[a].url!==e?s(t._locks[a].url):(t._locks[a].waiter=!1,t.request("GET",t._locks[a].url).then(function(r){t._locks[a].url===e?n(r):(t._locks[a].waiter=!0,s(t._locks[a].url))},function(n){t._locks[a].url===e?r(n):(t._locks[a].waiter=!0,s(t._locks[a].url))}))};window.setTimeout(function(){o(e)},300)})}):(n._locks[a]={url:e,wait:!0,waiter:!1},{v:new Promise(function(n,r){t.request("GET",e).then(function(r){t._locks[a].wait=!1,t._locks[a].url===e&&n(r)},function(n){t._locks[a].wait=!1,t._locks[a].url===e&&r(n)})})})}();return"object"===("undefined"==typeof o?"undefined":r(o))?o.v:void 0}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e){return this.request("DELETE",e)}},{key:"upload",value:function(e,t,a){var n=this;return new Promise(function(r,o){var s={url:e,method:"POST",headers:{"X-CSRFToken":n._csrfToken},data:t,contentType:!1,processData:!1,xhr:function l(){var l=new window.XMLHttpRequest;return l.upload.addEventListener("progress",function(e){e.lengthComputable&&a(Math.round(e.loaded/e.total*100))},!1),l},success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(s)})}}]),e}();a["default"]=new s},{}],202:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Auth=void 0;var r=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}}(),o=e("../reducers/auth"),s=a.Auth=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t,a){this._store=e,this._local=t,this._modal=a,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,o.signIn)({username:t.username})):e._store.dispatch((0,o.signOut)())}),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,o.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,o.signOut)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,o.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();a["default"]=new s},{"../reducers/auth":190}],203:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(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 o(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 s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Captcha=a.ReCaptcha=a.ReCaptchaComponent=a.QACaptcha=a.NoCaptcha=a.BaseCaptcha=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("../components/form-group"),d=n(c),f=a.BaseCaptcha=function(){function e(){s(this,e)}return l(e,[{key:"init",value:function(e,t,a,n){this._context=e,this._ajax=t,this._include=a,this._snackbar=n}}]),e}(),p=a.NoCaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),l(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(f),h=a.QACaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),l(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,a){e._ajax.get(e._context.get("CAPTCHA_API")).then(function(a){e.question=a.question,e.helpText=a.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),a()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:this.helpText||null},u["default"].createElement("input",{type:"text",id:"id_captcha",className:"form-control","aria-describedby":"id_captcha_status",disabled:e.form.state.isLoading,onChange:e.form.bindInput("captcha"),value:e.form.state.captcha}))}}]),t}(f),m=a.ReCaptchaComponent=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),l(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return u["default"].createElement("div",{id:"recaptcha"})}}]),t}(u["default"].Component),b=a.ReCaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),l(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function a(){"undefined"==typeof grecaptcha?window.setTimeout(function(){a()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:gettext("Captcha"),"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:gettext("Please solve the quick test.")},u["default"].createElement(m,{siteKey:this._context.get("SETTINGS").recaptcha_site_key,binding:e.form.bindInput("captcha")}))}}]),t}(f),y=a.Captcha=function(){function e(){s(this,e)}return l(e,[{key:"init",value:function(e,t,a,n){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new h;break;case"re":this._captcha=new b}this._captcha.init(e,t,a,n)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();a["default"]=new y},{"../components/form-group":20,react:"react"}],204:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Include=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();a["default"]=new o},{}],205:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=window.localStorage,s=a.LocalStorage=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var a=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(a)})})}},{key:"set",value:function(e,t){o.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=o.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();a["default"]=new s},{}],206:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.MobileNavbarDropdown=void 0;var o=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}}(),s=e("../utils/mount-component"),l=n(s),i=a.MobileNavbarDropdown=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,l["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,l["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();a["default"]=new i},{"../utils/mount-component":220}],207:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Modal=void 0;var o=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}}(),s=e("react-dom"),l=n(s),i=e("../utils/mount-component"),u=n(i),c=a.Modal=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){l["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,u["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();a["default"]=new c},{"../utils/mount-component":220,"react-dom":"react-dom"}],208:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.PageTitle=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(!e)return void(document.title=this._indexTitle||this._forumName);"string"==typeof e&&(e={title:e});var t=e.title;if(e.page>1){var a=interpolate(gettext("page: %(page)s"),{page:e.page},!0);t+=" ("+a+")"}e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}}]),e}();a["default"]=new o},{}],209:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Polls=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var a=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then(function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))},function(a){t._polls[e.poll]._stopped||(e.error?e.error(a):t._snackbar.apiError(a))})};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(a,e.frequency)}:a()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();a["default"]=new o},{}],210:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Posting=void 0;var o=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}}(),s=e("react"),l=n(s),i=e("react-dom"),u=n(i),c=e("../components/posting"),d=n(c),f=e("../utils/mount-component"),p=n(f),h=a.Posting=function(){function e(){var t=this;r(this,e),this.close=function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout(function(){u["default"].render(l["default"].createElement("div",null),document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1},300))}}return o(e,[{key:"init",value:function(e,t,a){this._ajax=e,this._snackbar=t,this._placeholder=$(a),this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(this._isOpen===!1)this._isOpen=e.config,this._realOpen(e);else if(this._isOpen!==e.config){var t=confirm(gettext("You are already working on other message. Do you want to discard it?"));t&&(this._isOpen=e.config,this._realOpen(e))}}},{key:"_realOpen",value:function(e){(0,p["default"])(l["default"].createElement(d["default"],e),"posting-mount"),this._placeholder.addClass("slide-in")}}]),e}();a["default"]=new h},{"../components/posting":41,"../utils/mount-component":220,react:"react","react-dom":"react-dom"}],211:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var r=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}}(),o=e("../reducers/snackbar"),s=300,l=5e3,i=a.Snackbar=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var a=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,o.hideSnackbar)()),this._timeout=window.setTimeout(function(){a._timeout=null,a.alert(e,t)},s)):(this._store.dispatch((0,o.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){a._store.dispatch((0,o.hideSnackbar)()),a._timeout=null},l))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();a["default"]=new i},{"../reducers/snackbar":195}],212:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.StoreWrapper=void 0;var r=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}}(),o=e("redux"),s=a.StoreWrapper=function(){function e(){n(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,a){this._reducers[e]=t,this._initialState[e]=a}},{key:"init",value:function(){this._store=(0,o.createStore)((0,o.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();a["default"]=new s},{redux:"redux"}],213:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Zxcvbn=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._include=e}},{key:"scorePassword",value:function(e,t){return zxcvbn(e,t).score}},{key:"load",value:function(){return"undefined"==typeof zxcvbn?(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise()):this._loadedPromise()}},{key:"_loadingPromise",value:function(){return new Promise(function(e){var t=function a(){"undefined"==typeof zxcvbn?window.setTimeout(function(){a()},200):e()};t()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();a["default"]=new o},{}],214:[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,t){if(u["default"].render(l["default"].createElement(c.Provider,{store:b["default"].getStore()},l["default"].createElement(g,{message:e.message,expires:e.expires_on?(0,o["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var a=h["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+a,window.history.pushState({},"",h["default"].get("BANNED_URL"))}};var r=e("moment"),o=n(r),s=e("react"),l=n(s),i=e("react-dom"),u=n(i),c=e("react-redux"),d=e("../components/banned-page"),f=n(d),p=e("../index"),h=n(p),m=e("../services/store"),b=n(m),y=function(e){return e.tick},g=(0,c.connect)(y)(f["default"])},{"../components/banned-page":3,"../index":150,"../services/store":212,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],215:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],n=[],r=[];if(e.forEach(function(e){r.push(e),r.length===t&&(n.push(r),r=[])}),a!==!1&&r.length>0&&r.length<t)for(var o=r.length;t>o;o++)r.push(a);return r.length&&n.push(r),n}},{}],216:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=[];return e.concat(t).filter(function(e){return-1===a.indexOf(e.id)?(a.push(e.id),!0):!1})}},{}],217:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=function(){function e(t,a){n(this,e),this._callback=t,this._count=a}return r(e,[{key:"count",value:function(){this._count-=1,0===this._count&&this._callback()}}]),e}();a["default"]=o},{}],218:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.replace(/[&<>"']/g,function(e){return n[e]})};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}},{}],219:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e>1e9?Math.round(100*e/1e9)/100+" GB":e>1e6?Math.round(100*e/1e6)/100+" MB":e>1e3?Math.round(100*e/1e3)/100+" KB":Math.round(100*e)/100+" B"}},{}],220:[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,t){var a=arguments.length<=2||void 0===arguments[2]?!0:arguments[2],n=document.getElementById(t),r=e.props?e:o["default"].createElement(e,null);n&&(a?l["default"].render(o["default"].createElement(i.Provider,{store:c["default"].getStore()},r),n):l["default"].render(r,n))};var r=e("react"),o=n(r),s=e("react-dom"),l=n(s),i=e("react-redux"),u=e("../services/store"),c=n(u)},{"../services/store":212,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],221:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=function(){function e(t){n(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,a){this._items.push({key:e,item:t,after:a?a.after||null:null,before:a?a.before||null:null})}},{key:"get",value:function(e,t){for(var a=0;a<this._items.length;a++)if(this._items[a].key===e)return this._items[a].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;-1===r.indexOf(e.key)&&(e.after?(t=r.indexOf(e.after),-1!==t&&(t+=1)):e.before&&(t=r.indexOf(e.before)),-1!==t&&(n.splice(t,0,e),r.splice(t,0,e.key)))}var a=[];e.forEach(function(e){a.push(e.key)});var n=[],r=[];e.forEach(function(e){e.after||e.before||(n.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(n.push(e),r.push(e.key))});for(var o=200;o>0&&a.length!==r.length;)o-=1,e.forEach(t);return n}}]),e}();a["default"]=o},{}],222:[function(e,t,a){"use strict";function n(e,t){return Math.floor(Math.random()*(t-e+1))+e}function r(e,t){for(var a=new Array(n(e,t)),r=0;r<a.length;r++)a[r]=r;return a}Object.defineProperty(a,"__esModule",{value:!0}),a["int"]=n,a.range=r},{}],223:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){window.scrollTo(0,0)}},{}],224:[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={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,a){a(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,l["default"].render(o["default"].createElement(i.Provider,{store:d["default"].getStore()},o["default"].createElement(u.Router,{routes:t,history:u.browserHistory})),f)};var r=e("react"),o=n(r),s=e("react-dom"),l=n(s),i=e("react-redux"),u=e("react-router"),c=e("../services/store"),d=n(c),f=document.getElementById("page-mount")},{"../services/store":212,react:"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router"}],225:[function(e,t,a){"use strict";function n(e,t){if(-1===e.indexOf(t)){var a=e.slice();return a.push(t),a}return e}function r(e,t){return e.indexOf(t)>=0?e.filter(function(e){return e!==t}):e}function o(e,t){if(-1===e.indexOf(t)){var a=e.slice();return a.push(t),a}return e.filter(function(e){return e!==t})}Object.defineProperty(a,"__esModule",{value:!0}),a.push=n,a.remove=r,a.toggle=o},{}],226:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(e=(e+"").toLowerCase(),t=(t+"").toLowerCase(),t.length<=0)return 0;for(var a=0,n=0,r=t.length;;){if(n=e.indexOf(t,n),!(n>=0))break;a+=1,n+=r}return a}},{}],227:[function(e,t,a){"use strict";function n(){return function(e){return 0===$.trim(e).length?gettext("This field is required."):void 0}}function r(e){return function(t){return d.test(t)?void 0:e||gettext("Enter a valid email address.")}}function o(e,t){return function(a){var n="",r=$.trim(a).length;return e>r?(n=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)):void 0}}function s(e,t){return function(a){var n="",r=$.trim(a).length;return r>e?(n=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)):void 0}}function l(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return this.minLength(e.username_length_min,t)}function i(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return this.maxLength(e.username_length_max,t)}function u(){return function(e){return f.test($.trim(e))?void 0:gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){var t=function(e){return ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e)};return this.minLength(e.password_length_min,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.required=n,a.email=r,a.minLength=o,a.maxLength=s,a.usernameMinLength=l,a.usernameMaxLength=i,a.usernameContent=u,a.passwordMinLength=c;var d=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,f=new RegExp("^[0-9a-z]+$","i")},{}]},{},[150,151,152,153,167,168,169,170,171,172,173,174,186,187,188,189,154,155,156,157,158,159,160,161,162,163,164,165,166,175,176,177,178,179,180,181,182,183,184,185]);
+!function e(t,a,n){function r(s,i){if(!a[s]){if(!t[s]){var l="function"==typeof require&&require;if(!i&&l)return l(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=a[s]={exports:{}};t[s][0].call(c.exports,function(e){var a=t[s][1][e];return r(a?a:e)},c,c.exports,e,t,a,n)}return a[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)r(n[s]);return r}({1:[function(e,t,a){(function(t){"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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Misago=void 0;var o=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}}(),s=e("../../../misago/frontend/src/utils/ordered-list"),i=n(s),l=a.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return o(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var a=new i["default"](this._initializers).orderedValues();a.forEach(function(e){e(t)})}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}(),u=new l;t.misago=u,a["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../../misago/frontend/src/utils/ordered-list":224}],2:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].init(s["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/ajax"),l=n(i);s["default"].addInitializer({name:"ajax",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/ajax":204}],3:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].init(f["default"],h["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/auth"),l=n(i),u=e("../../../../misago/frontend/src/services/modal"),c=n(u),d=e("../../../../misago/frontend/src/services/store"),f=n(d),p=e("../../../../misago/frontend/src/services/local-storage"),h=n(p);s["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/auth":205,"../../../../misago/frontend/src/services/local-storage":208,"../../../../misago/frontend/src/services/modal":210,"../../../../misago/frontend/src/services/store":215}],4:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,l["default"],f["default"],h["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/ajax"),l=n(i),u=e("../../../../misago/frontend/src/services/captcha"),c=n(u),d=e("../../../../misago/frontend/src/services/include"),f=n(d),p=e("../../../../misago/frontend/src/services/snackbar"),h=n(p);s["default"].addInitializer({name:"captcha",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/ajax":204,"../../../../misago/frontend/src/services/captcha":206,"../../../../misago/frontend/src/services/include":207,"../../../../misago/frontend/src/services/snackbar":214}],5:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,d["default"])((0,o.connect)(l.select)(u["default"]),"auth-message-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../../../../misago/frontend/src/index"),i=n(s),l=e("../../../../../misago/frontend/src/components/auth-message"),u=n(l),c=e("../../../../../misago/frontend/src/utils/mount-component"),d=n(c);i["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/auth-message":41,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223,"react-redux":"react-redux"}],6:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("BAN_MESSAGE")&&(0,l["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/utils/banned-page"),l=n(i);s["default"].addInitializer({name:"component:baned-page",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/banned-page":217}],7:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("categories-mount")&&(0,d["default"])((0,o.connect)(s.select)(i["default"]),"categories-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../../../../misago/frontend/src/components/categories/root"),i=n(s),l=e("../../../../../misago/frontend/src/index"),u=n(l),c=e("../../../../../misago/frontend/src/utils/mount-component"),d=n(c);u["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/categories/root":49,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223,"react-redux":"react-redux"}],8:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USER_OPTIONS")&&(0,c["default"])({root:l["default"].get("USERCP_URL"),component:s["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/components/options/root"),s=n(o),i=e("../../../../../misago/frontend/src/index"),l=n(i),u=e("../../../../../misago/frontend/src/utils/routed-component"),c=n(u);l["default"].addInitializer({name:"component:options",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/options/root":72,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/routed-component":227}],9:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,d["default"])({root:u["default"].get("PROFILE").absolute_url,component:(0,o.connect)(s.select)(i["default"]),paths:(0,s.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../../../../misago/frontend/src/components/profile/root"),i=n(s),l=e("../../../../../misago/frontend/src/index"),u=n(l),c=e("../../../../../misago/frontend/src/utils/routed-component"),d=n(c);u["default"].addInitializer({name:"component:profile",initializer:r,after:"reducer:profile-hydrate"})},{"../../../../../misago/frontend/src/components/profile/root":111,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/routed-component":227,"react-redux":"react-redux"}],10:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(l["default"],"request-activation-link-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/components/request-activation-link"),l=n(i),u=e("../../../../../misago/frontend/src/utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/request-activation-link":115,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223}],11:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(l["default"],"request-password-reset-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/components/request-password-reset"),l=n(i),u=e("../../../../../misago/frontend/src/utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/request-password-reset":116,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223}],12:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(l["default"],"reset-password-form-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/components/reset-password-form"),l=n(i),u=e("../../../../../misago/frontend/src/utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/reset-password-form":117,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223}],13:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(l.select)(l.Snackbar),"snackbar-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../../../../misago/frontend/src/index"),i=n(s),l=e("../../../../../misago/frontend/src/components/snackbar"),u=e("../../../../../misago/frontend/src/utils/mount-component"),c=n(u);i["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../../../../../misago/frontend/src/components/snackbar":121,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223,"react-redux":"react-redux"}],14:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREAD")&&e.has("POSTS")&&(0,u["default"])({paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/components/thread/root"),s=e("../../../../../misago/frontend/src/index"),i=n(s),l=e("../../../../../misago/frontend/src/utils/routed-component"),u=n(l);i["default"].addInitializer({name:"component:thread",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/thread/root":130,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/routed-component":227}],15:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREADS")&&e.has("CATEGORIES")&&(0,u["default"])({paths:(0,o.paths)(e.get("user"))})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/components/threads/root"),s=e("../../../../../misago/frontend/src/index"),i=n(s),l=e("../../../../../misago/frontend/src/utils/routed-component"),u=n(l);i["default"].addInitializer({name:"component:threads",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/threads/root":161,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/routed-component":227}],16:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(l.select)(l.UserMenu),"user-menu-mount"),(0,c["default"])((0,o.connect)(l.select)(l.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),s=e("../../../../../misago/frontend/src/index"),i=n(s),l=e("../../../../../misago/frontend/src/components/user-menu/root"),u=e("../../../../../misago/frontend/src/utils/mount-component"),c=n(u);i["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/user-menu/root":166,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/mount-component":223,"react-redux":"react-redux"}],17:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USERS_LISTS")&&(0,c["default"])({root:l["default"].get("USERS_LIST_URL"),component:s["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/components/users/root"),s=n(o),i=e("../../../../../misago/frontend/src/index"),l=n(i),u=e("../../../../../misago/frontend/src/utils/routed-component"),c=n(u);l["default"].addInitializer({name:"component:users",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/components/users/root":189,"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/utils/routed-component":227}],18:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){l["default"].init(e.get("STATIC_URL"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/include"),l=n(i);s["default"].addInitializer({name:"include",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/include":207}],19:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].init("misago_")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/local-storage"),l=n(i);s["default"].addInitializer({name:"local-storage",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/local-storage":208}],20:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&l["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/mobile-navbar-dropdown"),l=n(i);s["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/mobile-navbar-dropdown":209}],21:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&l["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/modal"),l=n(i);s["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/modal":210}],22:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){s["default"].locale($("html").attr("lang"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("moment"),s=n(o),i=e("../../../../misago/frontend/src/index"),l=n(i);l["default"].addInitializer({name:"moment",initializer:r})},{"../../../../misago/frontend/src/index":192,moment:"moment"}],23:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){l["default"].init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/page-title"),l=n(i);s["default"].addInitializer({name:"page-title",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/page-title":211}],24:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){f["default"].init(l["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/ajax"),l=n(i),u=e("../../../../misago/frontend/src/services/snackbar"),c=n(u),d=e("../../../../misago/frontend/src/services/polls"),f=n(d);s["default"].addInitializer({name:"polls",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/ajax":204,"../../../../misago/frontend/src/services/polls":212,"../../../../misago/frontend/src/services/snackbar":214}],25:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(l["default"],f["default"],document.getElementById("posting-placeholder"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/ajax"),l=n(i),u=e("../../../../misago/frontend/src/services/posting"),c=n(u),d=e("../../../../misago/frontend/src/services/snackbar"),f=n(d);s["default"].addInitializer({name:"posting",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/ajax":204,"../../../../misago/frontend/src/services/posting":213,"../../../../misago/frontend/src/services/snackbar":214}],26:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",l["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},i.initialState))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/auth"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/auth":193,"../../../../../misago/frontend/src/services/store":215}],27:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=s["default"].has("POSTS")?(0,i.hydrate)(s["default"].get("POSTS")):{isLoaded:!1,isBusy:!1},c["default"].addReducer("posts",l["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/posts"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:posts",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/posts":195,"../../../../../misago/frontend/src/services/store":215}],28:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){s["default"].has("PROFILE")&&u["default"].dispatch((0,i.hydrate)(s["default"].get("PROFILE")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/profile"),l=e("../../../../../misago/frontend/src/services/store"),u=n(l);s["default"].addInitializer({name:"reducer:profile-hydrate",initializer:r,after:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/profile":196,"../../../../../misago/frontend/src/services/store":215}],29:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("profile",l["default"],{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/profile"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:profile",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/profile":196,"../../../../../misago/frontend/src/services/store":215}],30:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("selection",l["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/selection"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:selection",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/selection":197,"../../../../../misago/frontend/src/services/store":215}],31:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",l["default"],i.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/snackbar"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/snackbar":198,"../../../../../misago/frontend/src/services/store":215}],32:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=s["default"].has("THREAD")?(0,i.hydrate)(s["default"].get("THREAD")):{isBusy:!1},c["default"].addReducer("thread",l["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/thread"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:thread",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/thread":199,"../../../../../misago/frontend/src/services/store":215}],33:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("threads",l["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/threads"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:threads",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/threads":200,"../../../../../misago/frontend/src/services/store":215}],34:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",l["default"],i.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/tick"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/tick":201,"../../../../../misago/frontend/src/services/store":215}],35:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("username-history",l["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/username-history"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:username-history",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/username-history":202,"../../../../../misago/frontend/src/services/store":215}],36:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("users",l["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../../misago/frontend/src/reducers/users"),l=n(i),u=e("../../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"reducer:users",initializer:r,before:"store"})},{"../../../../../misago/frontend/src/index":192,"../../../../../misago/frontend/src/reducers/users":203,"../../../../../misago/frontend/src/services/store":215}],37:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].init(c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/snackbar"),l=n(i),u=e("../../../../misago/frontend/src/services/store"),c=n(u);s["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/snackbar":214,"../../../../misago/frontend/src/services/store":215}],38:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].init()}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/store"),l=n(i);s["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/store":215}],39:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){u["default"].dispatch((0,i.doTick)())},c)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/reducers/tick"),l=e("../../../../misago/frontend/src/services/store"),u=n(l),c=5e4;s["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/reducers/tick":201,"../../../../misago/frontend/src/services/store":215}],40:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(l["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../../../misago/frontend/src/index"),s=n(o),i=e("../../../../misago/frontend/src/services/include"),l=n(i),u=e("../../../../misago/frontend/src/services/zxcvbn"),c=n(u);s["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../../../../misago/frontend/src/index":192,"../../../../misago/frontend/src/services/include":207,"../../../../misago/frontend/src/services/zxcvbn":216}],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)}function i(e){return{user:e.auth.user,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}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}}();a.select=i;var u=e("react"),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:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"getClassName",value:function(){return this.props.signedIn||this.props.signedOut?"auth-message show":"auth-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.refresh},gettext("Reload page"))," ",c["default"].createElement("span",{className:"hidden-xs hidden-sm text-muted"},gettext("or press F5 key.")))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],42:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.size||100,a=i;return a+=e.user&&e.user.id?e.user.avatar_hash+"/"+t+"/"+e.user.id+".png":t+".png"}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("img",{className:e.className||"user-avatar",src:r(e),title:gettext("User avatar")})},a.getSrc=r;var o=e("react"),s=n(o),i=$("base").attr("href")+"user-avatar/"},{react:"react"}],43:[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 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}}(),l=e("moment"),u=n(l),c=e("react"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getReasonMessage",value:function(){return this.props.message.html?d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):d["default"].createElement("p",{className:"lead"},this.props.message.plain)}},{key:"getExpirationMessage",value:function(){if(this.props.expires){if(this.props.expires.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.props.expires.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return gettext("This ban is permanent.")}},{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-error page-error-banned"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"message-panel"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"highlight_off")),d["default"].createElement("div",{className:"message-body"},this.getReasonMessage(),d["default"].createElement("p",{className:"message-footnote"},this.getExpirationMessage())))))}}]),t}(d["default"].Component);a["default"]=f},{moment:"moment",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 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}}(),l=e("react"),u=n(l),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),i(t,[{key:"render",value:function(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),u["default"].createElement("button",{type:this.props.onClick?"button":"submit",className:e,disabled:t,onClick:this.props.onClick},this.props.children,this.props.loading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=f,f.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},{"./loader":63,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 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}}(),l=e("react"),u=n(l),c=e("./last-activity"),d=n(c),f=e("./read-icon"),p=n(f),h=e("./stats"),m=n(h),b=e("./subcategory-subcategories"),g=n(b),y=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"list-group-item category-subcategory subcategory-"+this.props.category.css_class:"list-group-item category-subcategory"}},{key:"getDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"subcategory-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(g["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},u["default"].createElement("div",{className:"title-row"},u["default"].createElement("h4",null,u["default"].createElement(p["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(m["default"],{category:this.props.category})),u["default"].createElement(d["default"],{category:this.props.category}),this.getDescription(),this.getSubcategories())}}]),t}(u["default"].Component);a["default"]=y;var v=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-group category-subcategories"},this.props.categories.map(function(e){return u["default"].createElement(y,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=v},{"./last-activity":47,"./read-icon":48,"./stats":50,"./subcategory-subcategories":51,react:"react"}],46:[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 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}}(),l=e("react"),u=n(l),c=e("./category-subcategories"),d=n(c),f=e("./last-activity"),p=n(f),h=e("./read-icon"),m=n(h),b=e("./stats"),g=n(b),y=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"panel panel-default panel-category panel-category-"+this.props.category.css_class:"panel panel-default panel-category"}},{key:"getHeadingClassName",value:function(){return this.props.category.subcategories.length?"panel-heading":"panel-heading heading-alone"}},{key:"getCategoryDescription",value:function(){return this.props.category.description?u["default"].createElement("div",{className:"panel-body category-description",dangerouslySetInnerHTML:{__html:this.props.category.description.html}}):null}},{key:"getSubcategories",value:function(){return this.props.category.subcategories.length?u["default"].createElement(d["default"],{categories:this.props.category.subcategories}):null}},{key:"render",value:function(){return u["default"].createElement("div",{id:"panel-category-"+this.props.category.id,className:this.getClassName()},u["default"].createElement("div",{className:this.getHeadingClassName()},u["default"].createElement("div",{className:"panel-heading-inblock"},u["default"].createElement("div",{className:"panel-heading-top-row"},u["default"].createElement("h3",{className:"panel-title"},u["default"].createElement(m["default"],{category:this.props.category}),u["default"].createElement("a",{href:this.props.category.absolute_url,className:"item-title"},this.props.category.name)),u["default"].createElement(g["default"],{category:this.props.category})),u["default"].createElement(p["default"],{category:this.props.category}))),this.getCategoryDescription(),this.getSubcategories())}}]),t}(u["default"].Component);a["default"]=y},{"./category-subcategories":45,"./last-activity":47,"./read-icon":48,"./stats":50,react:"react"}],47:[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.ProtectedMessage=a.PrivateMessage=a.EmptyMessage=a.LastPostMessage=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}}(),l=e("react"),u=n(l),c=e("../../utils/escape-html"),d=n(c),f='<a href="%(url)s" class="poster-title">%(user)s</a>',p='<span class="poster-title">%(user)s</span>',h='<a href="%(url)s" class="item-title thread-title">%(thread)s</a>',m='<a href="%(url)s" class="last-title" title="%(absolute)s">%(relative)s</a>',b=a.LastPostMessage=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getLastPoster",value:function(){return this.props.category.last_poster_url?interpolate(f,{url:(0,d["default"])(this.props.category.last_poster_url),user:(0,d["default"])(this.props.category.last_poster_name)},!0):interpolate(p,{user:(0,d["default"])(this.props.category.last_poster_name)},!0)}},{key:"getLastThread",value:function(){return interpolate(h,{url:(0,d["default"])(this.props.category.last_thread_url),thread:(0,d["default"])(this.props.category.last_thread_title)},!0)}},{key:"getLastReplyDate",value:function(){return interpolate(m,{url:(0,d["default"])(this.props.category.last_post_url),absolute:(0,d["default"])(this.props.category.last_post_on.format("LLL")),relative:(0,d["default"])(this.props.category.last_post_on.fromNow())},!0)}},{key:"render",value:function(){return u["default"].createElement("p",{className:"category-last-post",dangerouslySetInnerHTML:{__html:interpolate((0,d["default"])(gettext("Last post in %(thread)s by %(user)s %(date)s")),{thread:this.getLastThread(),date:this.getLastReplyDate(),user:this.getLastPoster()},!0)}})}}]),t}(u["default"].Component),g=a.EmptyMessage=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"error_outline"),gettext("This category is empty."))}}]),t}(u["default"].Component),y=a.PrivateMessage=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"info_outline"),gettext("This category is private. You can see only your own threads within it."))}}]),t}(u["default"].Component),v=a.ProtectedMessage=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("p",{className:"category-thread-message"},u["default"].createElement("span",{className:"material-icon"},"highlight_off"),gettext("This category is protected. You can't browse it's contents."))}}]),t}(u["default"].Component),_=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return this.props.category.acl.can_browse?this.props.category.acl.can_see_all_threads?this.props.category.last_thread_title?u["default"].createElement(b,{category:this.props.category}):u["default"].createElement(g,null):u["default"].createElement(y,null):u["default"].createElement(v,null)}}]),t}(u["default"].Component);a["default"]=_},{"../../utils/escape-html":221,react:"react"}],48:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.category.is_read?"read-status item-read":"read-status item-new"}},{key:"getTitle",value:function(){return this.props.category.is_closed?this.props.category.is_read?gettext("This category has no new posts. (closed)"):gettext("This category has new posts. (closed)"):this.props.category.is_read?gettext("This category has no new posts."):gettext("This category has new posts.")}},{key:"getIcon",value:function(){return this.props.category.is_closed?this.props.category.is_read?"lock_outline":"lock":this.props.category.is_read?"chat_bubble_outline":"chat_bubble"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),title:this.getTitle()},u["default"].createElement("span",{className:"material-icon"},this.getIcon()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],49:[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 i(e){return{tick:e.tick.tick}}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}}();a.select=i;var u=e("moment"),c=n(u),d=e("react"),f=n(d),p=e("./category"),h=n(p),m=e("../../index"),b=n(m),g=e("../../services/polls"),y=n(g),v=function E(e){return Object.assign({},e,{last_post_on:e.last_post_on?(0,c["default"])(e.last_post_on):null,subcategories:e.subcategories.map(E)})},_=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){a.setState({categories:e.map(v)})},a.state={categories:b["default"].get("CATEGORIES").map(v)},a.startPolling(b["default"].get("CATEGORIES_API")),a}return s(t,e),l(t,[{key:"startPolling",value:function(e){y["default"].start({poll:"categories",url:e,frequency:18e4,update:this.update})}},{key:"render",value:function(){return f["default"].createElement("div",{className:"categories-list"},this.state.categories.map(function(e){return f["default"].createElement(h["default"],{category:e,key:e.id})}))}}]),t}(f["default"].Component);a["default"]=_},{"../../index":192,"../../services/polls":212,"./category":46,moment:"moment",react:"react"}],50:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getThreadsCount",value:function(){var e=ngettext("%(threads)s thread","%(threads)s threads",this.props.category.threads);return interpolate(e,{threads:this.props.category.threads},!0)}},{key:"getPostsCount",value:function(){var e=ngettext("%(posts)s post","%(posts)s posts",this.props.category.posts);return interpolate(e,{posts:this.props.category.posts},!0)}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-inline category-stats"},u["default"].createElement("li",{className:"category-threads"},this.getThreadsCount()),u["default"].createElement("li",{className:"category-posts"},this.getPostsCount()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],51:[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 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}}(),l=e("react"),u=n(l),c=e("./subcategory-subcategories"),d=(n(c),function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.category.css_class?"subcategory subcategory-"+this.props.category.css_class:"subcategory"}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement("a",{href:this.props.category.absolute_url,className:this.getClassName()},this.props.category.name))}}]),t}(u["default"].Component));a["default"]=d;var f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"list-inline subcategories-list"},this.props.categories.map(function(e){return u["default"].createElement(d,{category:e,key:e.id})}))}}]),t}(u["default"].Component);a["default"]=f},{"./subcategory-subcategories":51,react:"react"}],52:[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("select",{className:e.className||"form-control",disabled:e.disabled||!1,id:e.id||null,onChange:e.onChange,value:e.value},e.choices.map(function(e){return o["default"].createElement("option",{disabled:e.disabled||!1,key:e.value,value:e.value},"- - ".repeat(e.level)+e.label)}))};var r=e("react"),o=n(r)},{react:"react"}],53:[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 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}}(),l=e("react"),u=n(l),c=e("../avatar"),d=(n(c),e("../button")),f=n(d),p=e("../../services/ajax"),h=n(p),m=e("../../services/snackbar"),b=n(m),g=$("base").attr("href")+"user-avatar",y=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.cropAvatar=function(){if(a.state.isLoading)return!1;a.setState({isLoading:!0});var e=a.props.upload?"crop_tmp":"crop_org",t=$(".crop-form");h["default"].post(a.props.user.api_url.avatar,{avatar:e,crop:{offset:t.cropit("offset"),zoom:t.cropit("zoom")}}).then(function(e){a.props.onComplete(e.avatar_hash,e.options),b["default"].success(e.detail)},function(e){400===e.status?(b["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)})},a.state={isLoading:!1},a}return s(t,e),i(t,[{key:"getAvatarSize",value:function(){return this.props.upload?this.props.options.crop_tmp.size:this.props.options.crop_org.size}},{key:"getAvatarSecret",value:function(){return this.props.upload?this.props.options.crop_tmp.secret:this.props.options.crop_org.secret}},{key:"getAvatarHash",value:function(){return this.props.upload||this.props.user.avatar_hash}},{key:"getImagePath",value:function(){return[g,this.getAvatarSecret()+":"+this.getAvatarHash(),this.props.user.id+".png"].join("/")}},{key:"componentDidMount",value:function(){var e=this,t=$(".crop-form");t.width(this.getAvatarSize()),t.cropit({width:this.getAvatarSize(),height:this.getAvatarSize(),imageState:{src:this.getImagePath()},onImageLoaded:function(){if(e.props.upload){var a=t.cropit("zoom"),n=t.cropit("imageSize");if(n.width>n.height){var r=n.width*a,o=(r-e.getAvatarSize())/-2;t.cropit("offset",{x:o,y:0})}else if(n.width<n.height){var s=n.height*a,i=(s-e.getAvatarSize())/-2;t.cropit("offset",{x:0,y:i})}else t.cropit("offset",{x:0,y:0})}else{var l=e.props.options.crop_org.crop;l&&(t.cropit("zoom",l.zoom),t.cropit("offset",{x:l.x,y:l.y}))}}})}},{key:"componentWillUnmount",value:function(){$(".crop-form").cropit("disable")}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement("div",{className:"modal-body modal-avatar-crop"},u["default"].createElement("div",{className:"crop-form"},u["default"].createElement("div",{className:"cropit-preview"}),u["default"].createElement("input",{type:"range",className:"cropit-image-zoom-input"}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("div",{className:"col-md-6 col-md-offset-3"},u["default"].createElement(f["default"],{onClick:this.cropAvatar,loading:this.state.isLoading,className:"btn-primary btn-block"},this.props.upload?gettext("Set avatar"):gettext("Crop image")),u["default"].createElement(f["default"],{onClick:this.props.showIndex,disabled:this.state.isLoading,className:"btn-default btn-block"},gettext("Cancel")))))}}]),t}(u["default"].Component);a["default"]=y},{"../../services/ajax":204,"../../services/snackbar":214,"../avatar":42,"../button":44,react:"react"}],54:[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.Gallery=a.GalleryItem=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}}(),l=e("react"),u=n(l),c=e("../button"),d=n(c),f=e("../../index"),p=n(f),h=e("../../services/ajax"),m=n(h),b=e("../../services/snackbar"),g=n(b),y=e("../../utils/batch"),v=n(y),_=a.GalleryItem=function(e){function t(){var e,a,n,s;r(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.select=function(){n.props.select(n.props.image)},s=a,o(n,s)}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.selection===this.props.image?this.props.disabled?"btn btn-avatar btn-disabled avatar-selected":"btn btn-avatar avatar-selected":this.props.disabled?"btn btn-avatar btn-disabled":"btn btn-avatar"}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.select},u["default"].createElement("img",{src:p["default"].get("MEDIA_URL")+this.props.image}))}}]),t}(u["default"].Component),E=a.Gallery=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){var e=this;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,v["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}),g["default"].success(e.detail),a.props.onComplete(e.avatar_hash,e.options)},function(e){400===e.status?(g["default"].error(e.detail),a.setState({isLoading:!1})):a.props.showError(e)}))},a.state={selection:null,isLoading:!1},a}return s(t,e),i(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":192,"../../services/ajax":204,"../../services/snackbar":214,"../../utils/batch":218,"../button":44,react:"react"}],55:[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 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}}(),l=e("react"),u=n(l),c=e("../avatar"),d=n(c),f=e("../button"),p=n(f),h=e("../loader"),m=n(h),b=e("../../services/ajax"),g=n(b),y=e("../../services/snackbar"),v=n(y),_=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),i(t,[{key:"callApi",value:function(e){var t=this;return this.state.isLoading?!1:(this.setState({isLoading:!0}),void g["default"].post(this.props.user.api_url.avatar,{avatar:e}).then(function(e){t.setState({isLoading:!1}),v["default"].success(e.detail),t.props.onComplete(e.avatar_hash,e.options)},function(e){400===e.status?(v["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":204,"../../services/snackbar":214,"../avatar":42,"../button":44,"../loader":63,react:"react"}],56:[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 i(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.ChangeAvatarError=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}}();a.select=i;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),g=e("./gallery"),y=n(g),v=e("../modal-loader"),_=n(v),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),l(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 i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),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:y["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),l(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":203,"../../services/ajax":204,"../../services/store":215,"../modal-loader":64,"./crop":53,"./gallery":54,"./index":55,"./upload":57,react:"react"}],57:[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 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}}(),l=e("react"),u=n(l),c=e("./crop"),d=n(c),f=e("../button"),p=n(f),h=e("../../services/ajax"),m=n(h),b=e("../../services/snackbar"),g=n(b),y=e("../../utils/file-size"),v=n(y),_=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 g["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}),g["default"].info(gettext("Your image has been uploaded and you may now crop it."))},function(e){400===e.status?(g["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),i(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,v["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,v["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":204,"../../services/snackbar":214,"../../utils/file-size":222,"../button":44,"./crop":53,react:"react"}],58:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],59:[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 i(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 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}}();a.Protect=i;var u=e("react"),c=n(u),d=e("../button"),f=n(d),p=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 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(f["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(i,{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"]=p},{"../button":44,react:"react"}],60:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],61:[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 i(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}}(),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,i;o(this,t);for(var l=arguments.length,u=Array(l),c=0;l>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})}},i=a,s(n,i)}return i(t,e),l(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],i=this.validateField(s,this.state[s]);null===i?e[s]=null:i&&(e[s]=i)}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 i in n.optional){var l=n.optional[i](t);l&&a.push(l)}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":214,"../utils/validators":230,react:"react"}],62:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],63:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],64:[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 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}}(),l=e("react"),u=n(l),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),i(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":63,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)}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}}(),l=e("react"),u=n(l),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),i(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":78,react:"react"}],66:[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 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}}(),l=e("react"),u=n(l),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),i(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":77,react:"react"}],67:[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 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}}(),l=e("react"),u=n(l),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),i(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":78,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}}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 i(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}}(),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),g=e("../../../services/ajax"),y=r(g),v=e("../../../services/snackbar"),_=r(v),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 i(t,e),l(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 y["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":204,"../../../services/snackbar":214,"../../../utils/validators":230,"../../button":44,"../../form":61,"../../form-group":60,react:"react"}],69:[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 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}}(),l=e("moment"),u=n(l),c=e("react"),d=n(c),f=e("./form-loading"),p=n(f),h=e("./form-locked"),m=n(h),b=e("./form"),g=n(b),y=e("../../username-history/root"),v=n(y),_=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),T=e("../../../services/store"),S=n(T),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}),S["default"].dispatch((0,w.addNameChange)({username:e,slug:t},a.props.user,a.props.user)),S["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),i(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){S["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(g["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(v["default"],{isLoaded:this.state.isLoaded,changes:this.props["username-history"]}))}}]),t}(d["default"].Component);a["default"]=M},{"../../../index":192,"../../../reducers/username-history":202,"../../../reducers/users":203,"../../../services/ajax":204,"../../../services/page-title":211,"../../../services/snackbar":214,"../../../services/store":215,"../../username-history/root":174,"./form":68,"./form-loading":66,"./form-locked":67,moment:"moment",react:"react"}],70:[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 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}}(),l=e("react"),u=n(l),c=e("../button"),d=n(c),f=e("../form"),p=n(f),h=e("../form-group"),m=n(h),b=e("../select"),g=n(b),y=e("../yes-no-switch"),v=n(y),_=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),i(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(v["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(g["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(g["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(g["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":193,"../../services/ajax":204,"../../services/page-title":211,"../../services/snackbar":214,"../../services/store":215,"../button":44,"../form":61,"../form-group":60,"../select":119,"../yes-no-switch":191,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}),a.CompactNav=a.SideNav=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}}(),l=e("react"),u=n(l),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),i(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),i(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":192,"../li":62,react:"react","react-router":"react-router"}],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)}function i(e){return{tick:e.tick.tick,user:e.auth.user,"username-history":e["username-history"]}}function l(){return[{path:N["default"].get("USERCP_URL")+"forum-options/",component:(0,f.connect)(i)(g["default"])},{path:N["default"].get("USERCP_URL")+"change-username/",component:(0,f.connect)(i)(v["default"])},{path:N["default"].get("USERCP_URL")+"sign-in-credentials/",component:(0,f.connect)(i)(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=i,a.paths=l;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"),g=n(b),y=e("./change-username/root"),v=n(y),_=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":192,"../dropdown-toggle":58,"../with-dropdown":190,"./change-username/root":69,"./forum-options":70,"./navs":71,"./sign-in-credentials/root":75,react:"react","react-redux":"react-redux"}],73:[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 i(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}}(),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),g=e("../../../services/ajax"),y=r(g),v=e("../../../services/snackbar"),_=r(v),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 i(t,e),l(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 y["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":204,"../../../services/snackbar":214,"../../../utils/validators":230,"../../button":44,"../../form":61,"../../form-group":60,react:"react"}],74:[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 i(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}}(),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),g=e("../../../index"),y=r(g),v=e("../../../services/ajax"),_=r(v),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(y["default"].get("SETTINGS"))],repeat_password:[],password:[]},isLoading:!1},a}return i(t,e),l(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":192,"../../../services/ajax":204,"../../../services/snackbar":214,"../../../utils/validators":230,"../../button":44,"../../form":61,"../../form-group":60,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 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}}(),l=e("react"),u=n(l),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"),g=n(b),y=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"componentDidMount",value:function(){g["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"]=y},{"../../../index":192,"../../../services/page-title":211,"./change-email":73,"./change-password":74,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 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}}(),l=e("react"),u=n(l),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),i(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":229,react:"react"}],77:[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 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}}(),l=e("react"),u=n(l),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),i(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":63,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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],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}),a.LABELS=a.STYLES=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}}(),l=e("react"),u=n(l),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),i(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":216,react:"react"}],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});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}}(),l=e("react"),u=n(l),c=e("../editor"),d=n(c),f=e("../form"),p=n(f),h=e("./utils/container"),m=n(h),b=e("./utils/loader"),g=n(b),y=e("./utils/message"),v=n(y),_=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),i(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(v["default"],{message:this.state.isErrored}):u["default"].createElement(g["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":204,"../../services/posting":213,"../../services/snackbar":214,"../editor":59,"../form":61,"./utils/container":84,"./utils/loader":86,"./utils/message":87,"./utils/validators":89,react:"react"}],81:[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(i["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"),i=n(s),l=e("./reply"),u=n(l),c=e("./edit"),d=n(c)},{"./edit":80,"./reply":82,"./start":83,react:"react"}],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 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}}(),l=e("react"),u=n(l),c=e("../editor"),d=n(c),f=e("../form"),p=n(f),h=e("./utils/container"),m=n(h),b=e("./utils/loader"),g=n(b),y=e("./utils/message"),v=n(y),_=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),i(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(v["default"],{message:this.state.isErrored}):u["default"].createElement(g["default"],null)}}]),t}(p["default"]);a["default"]=j},{"../../services/ajax":204,"../../services/posting":213,"../../services/snackbar":214,"../editor":59,"../form":61,"./utils/container":84,"./utils/loader":86,"./utils/message":87,"./utils/validators":89,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 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}}(),l=e("react"),u=n(l),c=e("../category-select"),d=n(c),f=e("../editor"),p=n(f),h=e("../form"),m=n(h),b=e("./utils/container"),g=n(b),y=e("./utils/loader"),v=n(y),_=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"),T=n(C),S=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),i(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 T["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return T["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(T["default"].error(e.title[0]),!1):e.post?(T["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){T["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?T["default"].error(e.category[0]):e.title?T["default"].error(e.title[0]):e.post&&T["default"].error(e.post[0]):T["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?u["default"].createElement(g["default"],{className:"posting-form",withFirstRow:!0},u["default"].createElement("form",{onSubmit:this.handleSubmit,method:"POST"},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(v["default"],null)}}]),t}(m["default"]);a["default"]=S},{"../../services/ajax":204,"../../services/posting":213,"../../services/snackbar":214,"../category-select":52,"../editor":59,"../form":61,"./utils/container":84,"./utils/loader":86,"./utils/message":87,"./utils/options":88,"./utils/validators":89,react:"react"}],84:[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(i["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"),i=n(s)},{"./filler":85,react:"react"}],85:[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(l["default"],null))))},a.FirstRow=r;var o=e("react"),s=n(o),i=e("../../editor"),l=n(i)},{"../../editor":59,react:"react"}],86:[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(i["default"],{className:"posting-loader"},o["default"].createElement(u["default"],null))};var r=e("react"),o=n(r),s=e("./container"),i=n(s),l=e("../../loader"),u=n(l)},{"../../loader":63,"./container":84,react:"react"}],87:[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(i["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"),i=n(s),l=e("../../../services/posting"),u=n(l)},{"../../../services/posting":213,"./container":84,react:"react"}],88:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.show?l["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"},l["default"].createElement("span",{className:"material-icon"},e.close?"lock":"lock_outline")):null}function o(e){return e.show?l["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"},l["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 l["default"].createElement("button",{className:"btn btn-default",disabled:e.disabled,onClick:a,title:n,type:"button"},l["default"].createElement("span",{className:"material-icon"},t))}return null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.showOptions?l["default"].createElement("div",{className:"col-md-2 posting-options"},l["default"].createElement(s,{disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin}),l["default"].createElement(o,{disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide}),l["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 i=e("react"),l=n(i)},{react:"react"}],89:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){return[s(),i()]}function o(){return f["default"].get("SETTINGS").post_length_max?[l(),u()]:[l()]}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 i(){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 l(){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=i,a.validatePostLengthMin=l,a.validatePostLengthMax=u;var c=e("../../../utils/validators"),d=e("../../.."),f=n(d)},{"../../..":192,"../../../utils/validators":230}],90:[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={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"}],91:[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.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(i["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"),i=n(s),l=e("./info"),u=n(l),c=e("./message"),d=n(c)},{"./icon":90,"./info":92,"./message":93,react:"react"}],92:[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.poster?interpolate(h,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(p,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(d,{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 l["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(h,{url:(0,c["default"])(e.post.poster.absolute_url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(p,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(f,{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 l["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function s(e){return e.user.acl.can_see_users_ips?l["default"].createElement("li",{className:"event-ip"},l["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("ul",{className:"list-inline event-info"},l["default"].createElement(r,e),l["default"].createElement(o,e),l["default"].createElement(s,e))},a.Hidden=r,a.Poster=o,a.Ip=s;var i=e("react"),l=n(i),u=e("../../../utils/escape-html"),c=n(u),d='<abbr title="%(absolute)s">%(relative)s</abbr>',f='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',p='<span class="item-title">%(user)s</span>',h='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":221,react:"react"}],93:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,u["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(d,{url:(0,u["default"])(e.post.event_context.from_category.url),name:(0,u["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 o(e){var t=(0,u["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(f,{merged_thread:(0,u["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 c[e.post.event_type]?i["default"].createElement("p",{className:"event-message"},c[e.post.event_type]):"moved"===e.post.event_type?i["default"].createElement(r,e):"merged"===e.post.event_type?i["default"].createElement(o,e):null},a.Moved=r,a.Merged=o;var s=e("react"),i=n(s),l=e("../../../utils/escape-html"),u=n(l),c={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.")},d='<a href="%(url)s" class="item-title">%(name)s</a>',f='<span class="item-title">%(merged_thread)s</span>'},{"../../../utils/escape-html":221,react:"react"}],94:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?i["default"].createElement(u["default"],e):i["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?i["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return i["default"].createElement(r,o({key:t.id,post:t},e))})):i["default"].createElement("ul",{className:"posts-list ui-preview"},i["default"].createElement(p["default"],null))},a.ListItem=r;var s=e("react"),i=n(s),l=e("./event"),u=n(l),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":91,"./post":99,"./post/preview":100,react:"react"}],95:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("article",{className:"misago-markup",dangerouslySetInnerHTML:{__html:e.post.parsed}}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(d,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(f,{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 %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return l["default"].createElement("div",{className:"panel-body panel-body-hidden"},l["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot not see its contents.")),l["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function s(e){return l["default"].createElement("div",{className:"panel-body panel-body-invalid"},l["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),l["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?l["default"].createElement(o,e):e.post.parsed?l["default"].createElement(r,e):l["default"].createElement(s,e)},a.Default=r,a.Hidden=o,a.Invalid=s;var i=e("react"),l=n(i),u=e("../../../utils/escape-html"),c=n(u),d='<a href="%(url)s" class="item-title">%(user)s</a>',f='<span class="item-title">%(user)s</span>',p='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":221,react:"react"}],96:[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?l["default"].createElement("div",{className:"post-status-message post-status-hidden"},l["default"].createElement("span",{
+className:"material-icon"},"visibility_off"),l["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?l["default"].createElement("div",{className:"post-status-message post-status-unapproved"},l["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),l["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 i=e("react"),l=n(i)},{react:"react"}],97:[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 i(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 l(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 i(e.post)?f["default"].createElement("div",{className:"panel-footer post-footer"},f["default"].createElement(l,e),f["default"].createElement(u,e),f["default"].createElement(m,e),f["default"].createElement(b,e)):null},a.isVisible=i,a.Likes=l,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 i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.onClick=function(){h["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts,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 i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),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":213,react:"react"}],98:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.poster?u["default"].createElement("a",{className:"item-title",href:e.post.poster.absolute_url},e.post.poster.username):u["default"].createElement("strong",{className:"item-title"},e.post.poster_name)}function o(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?u["default"].createElement("a",{href:e.post.poster.rank.absolute_url,className:"label "+t},e.post.poster.short_title):u["default"].createElement("span",{className:"label "+t},e.post.poster.short_title)}return u["default"].createElement("span",{className:"rank-name item-title"},gettext("Unregistered"))}function s(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 u["default"].createElement("a",{href:e.post.url.index,className:"posted-on",title:t},a)}function i(e){return e.post.is_read?null:u["default"].createElement("span",{className:"label label-success pull-right"},gettext("New"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"panel-heading post-heading"},u["default"].createElement(r,e),u["default"].createElement(o,e),u["default"].createElement(s,e),u["default"].createElement(i,e))},a.Poster=r,a.PosterRank=o,a.PostedOn=s,a.UnreadLabel=i;var l=e("react"),u=n(l)},{react:"react"}],99:[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(l["default"],{size:100,user:e.post.poster})):s["default"].createElement(l["default"],{size:100})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="post";return e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),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),i=e("../../avatar"),l=n(i),u=e("./body"),c=n(u),d=e("./flags"),f=e("./footer"),p=n(f),h=e("./header"),m=n(h)},{"../../avatar":42,"./body":95,"./flags":96,"./footer":97,"./header":98,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}}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(l["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),i=e("../../avatar"),l=r(i),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":225,"../../avatar":42,react:"react"}],101:[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 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}}(),l=e("moment"),u=n(l),c=e("react"),d=n(c),f=e("../panel-loader"),p=n(f),h=e("../panel-message"),m=n(h),b=e("../../index"),g=n(b),y=e("../../services/polls"),v=n(y),_=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})},g["default"].has("PROFILE_BAN")?a.initWithPreloadedData(g["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api_url.ban),a}return s(t,e),i(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){v["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(){v["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":192,"../../services/page-title":211,"../../services/polls":212,"../panel-loader":77,"../panel-message":78,moment:"moment",react:"react"}],102:[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 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}}(),l=e("react"),u=n(l),c=e("../button"),d=n(c),f=e("../../reducers/profile"),p=e("../../services/ajax"),h=n(p),m=e("../../services/snackbar"),b=n(m),g=e("../../services/store"),y=n(g),v=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?y["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):y["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}),y["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),i(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"]=v},{"../../reducers/profile":196,"../../services/ajax":204,"../../services/snackbar":214,"../../services/store":215,"../button":44,react:"react"}],103:[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 i(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}}(),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),g=e("../../index"),y=n(g),v=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(),y["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(y["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return i(t,e),l(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,v.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(y["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,v.hydrate)(e.results)):N["default"].dispatch((0,v.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":192,"../../reducers/users":203,"../../services/ajax":204,"../../services/page-title":211,"../../services/snackbar":214,"../../services/store":215,"../button":44,"../search":118,"../users-list/root":175,react:"react"}],104:[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 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}}(),l=e("react"),u=(n(l),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),i(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":103,react:"react"}],105:[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 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}}(),l=e("react"),u=n(l),c=e("../avatar"),d=n(c),f=e("../dropdown-toggle"),p=n(f),h=e("./follow-button"),m=n(h),b=e("./moderation/nav"),g=n(b),y=e("../user-status"),v=n(y),_=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getUserStatus",value:function(){return u["default"].createElement("li",{className:"user-status-display"},u["default"].createElement(v["default"],{user:this.props.profile,status:this.props.profile.status},u["default"].createElement(y.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),u["default"].createElement(y.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(g["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":42,"../dropdown-toggle":58,"../user-status":168,"./follow-button":102,"./moderation/nav":109,react:"react"}],106:[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 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}}(),l=e("react"),u=n(l),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),g=n(b),y=e("../../yes-no-switch"),v=n(y),_=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),i(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(v["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(g["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":203,"../../../services/ajax":204,"../../../services/snackbar":214,"../../../services/store":215,"../../button":44,"../../form":61,"../../form-group":60,"../../modal-loader":64,"../../modal-message":65,"../../yes-no-switch":191,react:"react"}],107:[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 i(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}}(),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),g=e("../../modal-loader"),y=r(g),v=e("../../modal-message"),_=r(v),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"),T=r(C),S=e("../../../utils/validators"),M=n(S),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 i(t,e),l(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:""}),T["default"].dispatch((0,O.addNameChange)(e,this.props.profile,this.props.user)),T["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(y["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":192,"../../../reducers/username-history":202,"../../../reducers/users":203,"../../../services/ajax":204,"../../../services/snackbar":214,"../../../services/store":215,"../../../utils/validators":230,"../../button":44,"../../form":61,"../../form-group":60,"../../modal-loader":64,"../../modal-message":65,react:"react"}],108:[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 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}}(),l=e("react"),u=n(l),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),h=e("../../form-group"),m=n(h),b=e("../../modal-loader"),g=n(b),y=e("../../modal-message"),v=n(y),_=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),i(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(v["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(g["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":192,"../../../services/ajax":204,"../../../services/polls":212,"../../button":44,"../../form":61,"../../form-group":60,"../../modal-loader":64,"../../modal-message":65,"../../yes-no-switch":191,react:"react"}],109:[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 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}}(),l=e("react"),u=n(l),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),g=e("../../../services/modal"),y=n(g),v=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 i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.showAvatarDialog=function(){y["default"].show((0,c.connect)(v)(f["default"]))},n.showRenameDialog=function(){y["default"].show((0,c.connect)(v)(h["default"]))},n.showDeleteDialog=function(){y["default"].show((0,c.connect)(v)(b["default"]))},s=a,o(n,s)}return s(t,e),i(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":210,"./avatar-controls":106,"./change-username":107,"./delete-account":108,react:"react","react-redux":"react-redux"}],110:[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 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}}(),l=e("react"),u=n(l),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),i(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),i(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":192,"../li":62,"./follow-button":102,react:"react","react-router":"react-router"}],111:[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 i(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users,profile:e.profile,"username-history":e["username-history"]}}function l(){var e=[];return S["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:S["default"].get("PROFILE").absolute_url+t.component+"/",component:(0,f.connect)(i)(B[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=i,a.paths=l;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../avatar"),h=n(p),m=e("./ban-details"),b=n(m),g=e("./followers"),y=n(g),v=e("./follows"),_=n(v),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),T=e("../../index"),S=n(T),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:S["default"].get("PROFILE_PAGES"),baseUrl:S["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:S["default"].get("PROFILE_PAGES"),baseUrl:S["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),B={posts:D,threads:D,followers:y["default"],follows:_["default"],"username-history":w["default"],"ban-details":b["default"]}},{"../../index":192,"../../reducers/profile":196,"../../services/polls":212,"../../services/store":215,"../avatar":42,"../with-dropdown":190,"./ban-details":101,"./followers":103,"./follows":104,"./header":105,"./moderation/nav":109,"./navs":110,"./username-history":112,react:"react","react-redux":"react-redux"}],112:[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 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}}(),l=e("react"),u=n(l),c=e("../button"),d=n(c),f=e("../search"),p=n(f),h=e("../username-history/root"),m=n(h),b=e("../../index"),g=n(b),y=e("../../reducers/username-history"),v=e("../../services/ajax"),_=n(v),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)},g["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(g["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return s(t,e),i(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,y.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(g["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,y.hydrate)(a.results)):k["default"].dispatch((0,y.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":192,"../../reducers/username-history":202,"../../services/ajax":204,"../../services/page-title":211,"../../services/snackbar":214,"../../services/store":215,"../button":44,"../search":118,"../username-history/root":174,react:"react"}],113:[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 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}}(),l=e("react"),u=n(l),c=e("./loader"),d=n(c),f=e("./register.js"),p=n(f),h=e("../services/captcha"),m=n(h),b=e("../services/modal"),g=n(b),y=e("../services/snackbar"),v=n(y),_=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?v["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?g["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}),g["default"].show(p["default"])}))},a.state={isLoading:!1,isLoaded:!1},a}return s(t,e),i(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":206,"../services/modal":210,"../services/snackbar":214,"../services/zxcvbn":216,"./loader":63,"./register.js":114,react:"react"}],114:[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 i(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 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}}(),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),g=e("./password-strength"),y=r(g),v=e(".."),_=r(v),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"),T=r(C),S=e("../utils/banned-page"),M=r(S),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 i(t,e),l(t,[{key:"clean",value:function(){return this.isValid()?!0:(T["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)}),T["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,M["default"])(e.ban),P["default"].hide()):T["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(y["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 i(t,e),l(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 i(t,e),l(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},{"..":192,"../services/ajax":204,"../services/auth":205,"../services/captcha":206,"../services/modal":210,"../services/snackbar":214,"../utils/banned-page":217,"../utils/validators":230,"./button":44,"./form":61,"./form-group":60,"./password-strength":79,react:"react"}],115:[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 i(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 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}}(),u=e("react"),c=r(u),d=e("../index"),f=r(d),p=e("./button"),h=r(p),m=e("./form"),b=r(m),g=e("../services/ajax"),y=r(g),v=e("../services/snackbar"),_=r(v),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 i(t,e),l(t,[{key:"clean",value:function(){return this.isValid()?!0:(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y["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 i(t,e),l(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 i(t,e),l(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":192,"../services/ajax":204,"../services/snackbar":214,"../utils/banned-page":217,"../utils/validators":230,"./button":44,"./form":61,react:"react"}],116:[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 i(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 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}}(),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),g=e("./form"),y=r(g),v=e("../services/ajax"),_=r(v),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 i(t,e),l(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}(y["default"]),P=a.LinkSent=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(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 i(t,e),l(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),T=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 i(t,e),l(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"]=T},{"../index":192,"../services/ajax":204,"../services/snackbar":214,"../utils/banned-page":217,"../utils/validators":230,"./button":44,"./form":61,react:"react","react-dom":"react-dom"}],117:[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 i(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 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}}(),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),g=e("./form"),y=r(g),v=e("./sign-in.js"),_=r(v),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"),T=n(C),S=e("../utils/banned-page"),M=r(S),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:[T.passwordMinLength(h["default"].get("SETTINGS"))]}},a}return i(t,e),l(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}(y["default"]),R=a.PasswordChangedPage=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(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 i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),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 i(t,e),l(t,[{key:"render",value:function(){return c["default"].createElement(L,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=A},{"../index":192,"../services/ajax":204,"../services/auth":205,"../services/modal":210,"../services/snackbar":214,"../utils/banned-page":217,"../utils/validators":230,"./button":44,"./form":61,"./sign-in.js":120,react:"react","react-dom":"react-dom"}],118:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(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"}],119:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){var e,a,n,s;r(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.change=function(e){return function(){n.props.onChange({target:{value:e}})}},s=a,o(n,s)}return s(t,e),i(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"}],120:[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 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}}(),l=e("react"),u=n(l),c=e("../index"),d=n(c),f=e("./button"),p=n(f),h=e("./form"),m=n(h),b=e("../services/ajax"),g=n(b),y=e("../services/modal"),v=n(y),_=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),i(t,[{key:"clean",value:function(){return this.isValid()?!0:(E["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return g["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(g["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),v["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),v["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":192,"../services/ajax":204,"../services/modal":210,"../services/snackbar":214,"../utils/banned-page":217,"./button":44,"./form":61,react:"react"}],121:[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 i(e){return e.snackbar}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=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}}();a.select=i;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),l(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"}],122:[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"}],123:[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,{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(l["default"],{path:e.thread.path}),s["default"].createElement("div",{className:"container"},s["default"].createElement("h1",{className:"pull-left"},e.thread.title),s["default"].createElement(r,{thread:e.thread,user:e.user})),s["default"].createElement(d["default"],{thread:e.thread}))},a.Moderation=r;var o=e("react"),s=n(o),i=e("./breadcrumbs"),l=n(i),u=e("../moderation/thread"),c=e("./stats"),d=n(c)},{"../moderation/thread":126,"./breadcrumbs":122,"./stats":124,react:"react"}],124:[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 i(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 l(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=i,a.Replies=l,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(i,{thread:e.thread}),d["default"].createElement(l,{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":221,react:"react"}],125:[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 i(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}}(),u=e("react"),c=r(u),d=e("../../../../reducers/thread"),f=n(d),p=e("../../../../services/ajax"),h=r(p),m=e("../../../../services/snackbar"),b=r(m),g=e("../../../../services/store"),y=r(g),v=function(e){function t(){var e,a,n,r;o(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.callApi=function(e,t){y["default"].dispatch(f.busy()),h["default"].patch(n.props.thread.api.index,e).then(function(e){y["default"].dispatch(f.update(e)),y["default"].dispatch(f.release()),b["default"].success(t)},function(e){y["default"].dispatch(f.release()),400===e.status?b["default"].error(e.detail[0]):b["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(){console.log("TODO!")},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(y["default"].dispatch(f.busy()),h["default"]["delete"](n.props.thread.api.index).then(function(e){b["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.absolute_url},function(e){b["default"].apiError(e)}))},r=a,s(n,r)}return i(t,e),l(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:"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.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component);a["default"]=v},{"../../../../reducers/thread":199,"../../../../services/ajax":204,"../../../../services/snackbar":214,"../../../../services/store":215,react:"react"}],126:[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"),i=n(s);a.ModerationControls=o["default"],a.isModerationVisible=i["default"]},{"./controls":125,"./is-visible":127}],127:[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}},{}],128:[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(i,e),d["default"].createElement(l,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 i(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 l(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"},d["default"].createElement(r,e),d["default"].createElement(u,{more:e.posts.more}))},a.Pager=r,a.FirstPage=o,a.PreviousPage=s,a.NextPage=i,a.LastPage=l,a.More=u;var c=e("react"),d=n(c),f=e("react-router")},{react:"react","react-router":"react-router"}],129:[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"}],130:[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)(l["default"])},{path:t+":page/",component:(0,s.connect)(r)(l["default"])}]}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.paths=o;var s=e("react-redux"),i=e("./route"),l=n(i),u=e("../../index"),c=n(u)},{"../../index":192,"./route":131,"react-redux":"react-redux"}],131:[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 i(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=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"),g=r(b),y=e("./toolbar-top"),v=r(y),_=e("../../reducers/posts"),E=n(_),w=e("../../reducers/thread"),O=n(w),k=e("../../services/ajax"),N=r(k),x=e("../../services/polls"),j=r(x),P=e("../../services/snackbar"),C=r(P),T=e("../../services/posting"),S=r(T),M=e("../../services/store"),L=r(M),R=e("../../services/page-title"),A=r(R),I=function(e){function t(){var e,a,n,r;o(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.update=function(e){L["default"].dispatch(O.replace(e)),L["default"].dispatch(E.load(e.post_set)),n.setPageTitle()},n.openReplyForm=function(){S["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts})},r=a,s(n,r)}return i(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;L["default"].dispatch(E.unload()),N["default"].get(this.props.thread.api.posts,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){C["default"].apiError(e)})}},{key:"startPollingApi",value:function(){j["default"].start({poll:"thread-posts",url:this.props.thread.api.posts,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){j["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){A["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(v["default"],l({openReplyForm:this.openReplyForm},this.props)),d["default"].createElement(p["default"],this.props),d["default"].createElement(g["default"],this.props)))}}]),t}(d["default"].Component);a["default"]=I},{"../../reducers/posts":195,"../../reducers/thread":199,"../../services/ajax":204,"../../services/page-title":211,"../../services/polls":212,"../../services/posting":213,"../../services/snackbar":214,"../../services/store":215,"../posts-list":94,"./header":123,"./paginator":128,"./toolbar-top":132,react:"react"}],132:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.thread.is_new?u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-default",title:gettext("Go to first new post")},gettext("New"))):null}function o(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-default",title:gettext("Go to first unapproved post")},gettext("Unapproved"))):null}function s(e){return u["default"].createElement("li",null,u["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default",title:gettext("Go to last post")},gettext("Last")))}function i(e){return e.thread.acl.can_reply?u["default"].createElement("li",{className:"pull-right"},u["default"].createElement(d["default"],{onClick:e.openReplyForm})):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"toolbar"},u["default"].createElement("ul",{className:"list-inline"},u["default"].createElement(r,{thread:e.thread}),u["default"].createElement(o,{thread:e.thread}),u["default"].createElement(s,{thread:e.thread}),u["default"].createElement(i,{openReplyForm:e.openReplyForm,thread:e.thread})))},a.GotoNew=r,a.GotoUnapproved=o,a.GotoLast=s,a.Reply=i;var l=e("react"),u=n(l),c=e("./reply-button"),d=n(c)},{"./reply-button":129,react:"react"}],133:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){var e=ngettext("There is %(threads)s new or updated thread. Click this message to show it.","There are %(threads)s new or updated threads. Click this message to show them.",this.props.diffSize);return interpolate(e,{threads:this.props.diffSize},!0)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item threads-diff-message"},u["default"].createElement("button",{type:"button",className:"btn btn-block btn-default",onClick:this.props.applyDiff},u["default"].createElement("span",{className:"material-icon"},"cached"),u["default"].createElement("span",{className:"diff-message"},this.getMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],134:[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 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}}(),l=e("react"),u=n(l),c=e("./diff-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),i(t,[{key:"getDiffMessage",value:function(){return this.props.diffSize>0?u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff}):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.children))}}]),t}(u["default"].Component);a["default"]=f},{"./diff-message":133,react:"react"}],135:[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 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}}(),l=e("react"),u=n(l),c=e("../thread/preview"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"../thread/preview":144,react:"react"}],136:[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 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}}(),l=e("react"),u=n(l),c=e("./diff-message"),d=n(c),f=e("../thread/ready"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getDiffMessage",value:function(){return this.props.diffSize>0?u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff}):null}},{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.threads.map(function(t){return u["default"].createElement(p["default"],{categories:e.props.categories,thread:t,list:e.props.list,showOptions:e.props.showOptions,isSelected:e.props.selection.indexOf(t.id)>=0,isBusy:e.props.busyThreads.indexOf(t.id)>=0,key:t.id})})))}}]),t}(u["default"].Component);a["default"]=h},{"../thread/ready":145,"./diff-message":133,react:"react"}],137:[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 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}}(),l=e("react"),u=n(l),c=e("./list/empty"),d=n(c),f=e("./list/ready"),p=n(f),h=e("./list/preview"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return this.props.isLoaded?this.props.threads.length>0?u["default"].createElement(p["default"],{threads:this.props.threads,categories:this.props.categories,list:this.props.list,diffSize:this.props.diffSize,applyDiff:this.props.applyDiff,showOptions:this.props.showOptions,selection:this.props.selection,busyThreads:this.props.busyThreads}):u["default"].createElement(d["default"],{diffSize:this.props.diffSize,applyDiff:this.props.applyDiff},this.props.children):u["default"].createElement(m["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list/empty":134,"./list/preview":135,"./list/ready":136,react:"react"}],138:[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 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}}(),l=e("react"),u=n(l),c=e("react-router"),d=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getUrl",value:function(){return this.props.category.absolute_url+this.props.list.path}},{key:"getClassName",value:function(){return this.props.category.css_class?"thread-category thread-category-"+this.props.category.css_class:"thread-category"}},{key:"render",value:function(){return u["default"].createElement(c.Link,{to:this.getUrl(),className:this.getClassName()},this.props.category.name)}}]),t}(u["default"].Component);a["default"]=d},{react:"react","react-router":"react-router"}],139:[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 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}}(),l=e("react"),u=n(l),c=e("../category"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getPath",value:function(){var e=this.props.categories[this.props.thread.top_category],t=this.props.categories[this.props.thread.category];return e&&t&&e.id!==t.id?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:t,list:this.props.list})):e?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list})):null}},{key:"getRepliesCount",value:function(){return u["default"].createElement("li",{className:"thread-replies-count"},u["default"].createElement("span",{className:"material-icon"},"forum"),u["default"].createElement("span",{className:"icon-legend"},this.props.thread.replies))}},{key:"getLastReply",value:function(){return u["default"].createElement("li",{className:"thread-last-reply-clock"},u["default"].createElement("span",{className:"material-icon"},"schedule"),u["default"].createElement("span",{className:"icon-legend"},this.props.thread.last_post_on.fromNow()))}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"thread-details-compact list-inline"},this.getPath(),this.getRepliesCount(),this.getLastReply())}}]),t}(u["default"].Component);a["default"]=f},{"../category":138,react:"react"}],140:[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 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}}(),l=e("react"),u=n(l),c=e("../category"),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='<a href="%(url)s" class="last-title" title="%(absolute)s">%(relative)s</a>',g=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getNewLabel",value:function(){return this.props.thread.is_read?null:u["default"].createElement("li",{className:"thread-new-posts",title:gettext("Go to first unread post")},u["default"].createElement("a",{href:this.props.thread.url.new_post},u["default"].createElement("span",{className:"material-icon"},"comment"),u["default"].createElement("span",{className:"icon-legend"},gettext("New posts"))))}},{key:"getPinnedLabel",value:function(){return 2===this.props.thread.weight?u["default"].createElement("li",{className:"thread-pinned-globally"},u["default"].createElement("span",{className:"material-icon"},"bookmark"),u["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1===this.props.thread.weight?u["default"].createElement("li",{className:"thread-pinned-locally"},u["default"].createElement("span",{className:"material-icon"},"bookmark_border"),u["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}},{key:"getUnapprovedLabel",value:function(){return this.props.thread.is_unapproved?u["default"].createElement("li",{className:"thread-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle"),u["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):this.props.thread.has_unapproved_posts?u["default"].createElement("li",{className:"thread-unapproved-posts"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),u["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}},{key:"getHiddenLabel",value:function(){return this.props.thread.is_hidden?u["default"].createElement("li",{className:"thread-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off"),u["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}},{key:"getClosedLabel",value:function(){return this.props.thread.is_closed?u["default"].createElement("li",{className:"thread-closed"},u["default"].createElement("span",{className:"material-icon"},"lock_outline"),u["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}},{key:"getPath",value:function(){var e=this.props.categories[this.props.thread.top_category],t=this.props.categories[this.props.thread.category];return e&&t&&e.id!==t.id?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list}),u["default"].createElement("span",{className:"path-separator material-icon"},"arrow_forward"),u["default"].createElement(d["default"],{category:t,list:this.props.list})):e?u["default"].createElement("li",{className:"thread-path"},u["default"].createElement(d["default"],{category:e,list:this.props.list})):null}},{key:"getRepliesCount",value:function(){var e=ngettext("%(replies)s reply","%(replies)s replies",this.props.thread.replies);return u["default"].createElement("li",{className:"thread-replies"},u["default"].createElement("span",{className:"material-icon"},"forum"),u["default"].createElement("span",{className:"icon-legend"},interpolate(e,{replies:this.props.thread.replies},!0)))}},{key:"getLastReplyDate",value:function(){return interpolate(b,{url:(0,p["default"])(this.props.thread.url.last_post),absolute:(0,p["default"])(this.props.thread.last_post_on.format("LLL")),relative:(0,p["default"])(this.props.thread.last_post_on.fromNow())},!0)}},{key:"getLastPoster",value:function(){return this.props.thread.url.last_poster?interpolate(h,{url:(0,p["default"])(this.props.thread.url.last_poster),user:(0,p["default"])(this.props.thread.last_poster_name)},!0):interpolate(m,{user:(0,p["default"])(this.props.thread.last_poster_name)},!0)}},{key:"getLastReply",value:function(){return u["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:this.getLastReplyDate(),user:this.getLastPoster()},!0)}})}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"thread-details-full list-inline"},this.getNewLabel(),this.getPinnedLabel(),this.getUnapprovedLabel(),this.getHiddenLabel(),this.getClosedLabel(),this.getPath(),this.getRepliesCount(),this.getLastReply())}}]),t}(u["default"].Component);a["default"]=g},{"../../../../utils/escape-html":221,"../category":138,react:"react"}],141:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getPinnedIcon",value:function(){return 2===this.props.thread.weight?u["default"].createElement("span",{className:"thread-pinned-globally"},u["default"].createElement("span",{className:"material-icon"},"bookmark")):1===this.props.thread.weight?u["default"].createElement("span",{className:"thread-pinned-locally"},u["default"].createElement("span",{className:"material-icon"},"bookmark_border")):null}},{key:"getUnapprovedIcon",value:function(){return this.props.thread.is_unapproved?u["default"].createElement("span",{className:"thread-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle")):this.props.thread.has_unapproved_posts?u["default"].createElement("span",{className:"thread-unapproved-posts"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline")):null}},{key:"getHiddenIcon",value:function(){return this.props.thread.is_hidden?u["default"].createElement("span",{className:"thread-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off")):null}},{key:"getClosedIcon",value:function(){return this.props.thread.is_closed?u["default"].createElement("span",{className:"thread-closed"},u["default"].createElement("span",{className:"material-icon"},"lock_outline")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"thread-flags"},this.getPinnedIcon(),this.getUnapprovedIcon(),this.getHiddenIcon(),this.getClosedIcon())}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],142:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.thread.is_read?"read-status item-read":"read-status item-new"}},{key:"getTitle",value:function(){return this.props.thread.is_read?gettext("This thread has no new posts."):gettext("This thread has new posts.")}},{key:"getIcon",value:function(){return this.props.thread.is_read?"chat_bubble_outline":"chat_bubble"}},{key:"getUrl",value:function(){return this.props.thread.is_read?this.props.thread.url.last_post:this.props.thread.url.new_post}},{key:"render",value:function(){return u["default"].createElement("a",{className:this.getClassName(),href:this.getUrl(),title:this.getTitle()},u["default"].createElement("span",{className:"material-icon"},this.getIcon()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],143:[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 i(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}}(),u=e("react"),c=r(u),d=e("./subscription/compact"),f=r(d),p=e("./subscription/full"),h=r(p),m=e("../../../reducers/selection"),b=n(m),g=e("../../../services/store"),y=r(g),v=function(e){function t(){var e,a,n,r;o(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.toggleSelection=function(){y["default"].dispatch(b.item(n.props.thread.id))},r=a,s(n,r)}return i(t,e),l(t,[{key:"getSelectToggle",value:function(){return this.props.thread.moderation.length?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-default btn-checkbox",onClick:this.toggleSelection,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},this.props.isSelected?"check_box":"check_box_outline_blank"),c["default"].createElement("span",{className:"icon-legend"},this.props.isSelected?gettext("Selected"):gettext("Select")))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"thread-options"},c["default"].createElement("ul",{className:"list-inline"},this.getSelectToggle(),c["default"].createElement(h["default"],{thread:this.props.thread,disabled:this.props.disabled}),c["default"].createElement(f["default"],{thread:this.props.thread,disabled:this.props.disabled})))}}]),t}(c["default"].Component);a["default"]=v},{"../../../reducers/selection":197,"../../../services/store":215,"./subscription/compact":146,"./subscription/full":147,react:"react"}],144:[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 i(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}}(),u=e("react"),c=r(u),d=e("../../../utils/random"),f=n(d),p=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item thread-preview hidden-xs hidden-sm":"list-group-item thread-preview"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"thread-icon"},c["default"].createElement("span",{className:"read-status item-read"},c["default"].createElement("span",{className:"material-icon"},"chat_bubble_outline"))),c["default"].createElement("div",{className:"thread-main"},c["default"].createElement("span",{className:"item-title thread-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](60,200)+"px"}}," ")),c["default"].createElement("ul",{className:"thread-details-compact list-inline"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](20,70)+"px"}}," "))),c["default"].createElement("ul",{className:"thread-details-full list-inline"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](50,150)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](50,100)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](100,250)+"px"}}," ")))),c["default"].createElement("div",{className:"clearfix"}))}}]),t}(c["default"].Component);a["default"]=p},{"../../../utils/random":225,react:"react"}],145:[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 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}}(),l=e("react"),u=n(l),c=e("../../loader"),d=n(c),f=e("./details/compact"),p=n(f),h=e("./details/full"),m=n(h),b=e("./flags"),g=n(b),y=e("./icon"),v=n(y),_=e("./options"),E=n(_),w=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getIcon",value:function(){return this.props.isBusy?u["default"].createElement(d["default"],null):u["default"].createElement(v["default"],{thread:this.props.thread})}},{key:"getOptions",value:function(){return this.props.showOptions?u["default"].createElement(E["default"],{thread:this.props.thread,disabled:this.props.isBusy,isSelected:this.props.isSelected}):null}},{key:"getClassName",value:function(){var e=["list-group-item"];return this.props.thread.is_read?e.push("thread-read"):e.push("thread-new"),this.props.isBusy?e.push("thread-busy"):this.props.isSelected&&e.push("thread-selected"),this.props.showOptions&&(this.props.thread.moderation.length?e.push("thread-ops-two"):e.push("thread-ops-one")),e.join(" ")}},{key:"render",value:function(){return u["default"].createElement("li",{className:this.getClassName()},u["default"].createElement("div",{className:"thread-icon"},this.getIcon(),u["default"].createElement(g["default"],{thread:this.props.thread})),this.getOptions(),u["default"].createElement("div",{className:"thread-main"},u["default"].createElement("a",{href:this.props.thread.url.index,className:"item-title thread-title"},this.props.thread.title),u["default"].createElement(m["default"],{categories:this.props.categories,list:this.props.list,thread:this.props.thread}),u["default"].createElement(p["default"],{categories:this.props.categories,list:this.props.list,thread:this.props.thread})),u["default"].createElement("div",{className:"clearfix"}))}}]),t}(u["default"].Component);a["default"]=w},{"../../loader":63,"./details/compact":139,"./details/full":140,"./flags":141,"./icon":142,"./options":143,react:"react"}],146:[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 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}}(),l=e("react"),u=n(l),c=e("./full"),d=n(c),f=e("./modal"),p=n(f),h=e("../../../../services/modal"),m=n(h),b=function(e){function t(){var e,a,n,s;r(this,t);for(var i=arguments.length,l=Array(i),c=0;i>c;c++)l[c]=arguments[c];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.showOptions=function(){m["default"].show(u["default"].createElement(p["default"],{thread:n.props.thread}))},s=a,o(n,s)}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("li",{className:"hidden-md hidden-lg"},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.showOptions},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"icon-legend"},this.getLegend())))}}]),t}(d["default"]);a["default"]=b},{"../../../../services/modal":210,"./full":147,"./modal":148,react:"react"}],147:[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 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}}(),l=e("react"),u=n(l),c=e("./options"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getIcon",value:function(){return this.props.thread.subscription===!0?"star":this.props.thread.subscription===!1?"star_half":"star_border"}},{key:"getLegend",value:function(){return this.props.thread.subscription===!0?gettext("E-mail"):this.props.thread.subscription===!1?gettext("Enabled"):gettext("Disabled")}},{key:"getClassName",value:function(){return this.props.thread.subscription===!0?"btn btn-default btn-subscribe btn-subscribe-full dropdown-toggle":this.props.thread.subscription===!1?"btn btn-default btn-subscribe btn-subscribe-half dropdown-toggle":"btn btn-default btn-subscribe dropdown-toggle"}},{key:"render",value:function(){return u["default"].createElement("li",{className:"hidden-xs hidden-sm"},u["default"].createElement("div",{className:"btn-group"},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"icon-legend"},this.getLegend())),u["default"].createElement(d["default"],{className:"dropdown-menu dropdown-menu-right",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":149,react:"react"}],148:[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 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}}(),l=e("react"),u=n(l),c=e("./options"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm",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("Change subscription"))),u["default"].createElement(d["default"],{className:"modal-menu",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":149,react:"react"}],149:[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 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}}(),l=e("react"),u=n(l),c=e("../../../button"),d=(n(c),e("../../../../reducers/threads")),f=e("../../../../services/ajax"),p=n(f),h=e("../../../../services/modal"),m=n(h),b=e("../../../../services/snackbar"),g=n(b),y=e("../../../../services/store"),v=n(y),_={unsubscribe:null,notify:!1,email:!0},E=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.setSubscription=function(e){m["default"].hide(),a.setState({isLoading:!0});var t=a.props.thread.subscription;v["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[e]})),p["default"].patch(a.props.thread.api.index,[{op:"replace",path:"subscription",value:e}]).then(function(){a.setState({isLoading:!1})},function(e){a.setState({isLoading:!1}),v["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[t]})),g["default"].apiError(e)})},a.unsubscribe=function(){a.setSubscription("unsubscribe")},a.notify=function(){a.setSubscription("notify")},a.email=function(){a.setSubscription("email")},a.state={isLoading:!1},a}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:this.props.className},u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.unsubscribe},u["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.notify},u["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.email},u["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail"))))}}]),t}(u["default"].Component);a["default"]=E},{"../../../../reducers/threads":200,"../../../../services/ajax":204,"../../../../services/modal":210,"../../../../services/snackbar":214,"../../../../services/store":215,"../../../button":44,react:"react"}],150:[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.Subcategory=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}}(),l=e("react"),u=n(l),c=e("react-router"),d=a.Subcategory=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getUrl",value:function(){return this.props.listPath?this.props.category.absolute_url+this.props.listPath:this.props.category.absolute_url}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement(c.Link,{to:this.getUrl(),className:"btn btn-link"},this.props.category.name));
+}}]),t}(u["default"].Component),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"btn-group category-picker"},u["default"].createElement("button",{type:"button",className:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"more_vert"),gettext("Go to")),u["default"].createElement("ul",{className:"dropdown-menu categories-menu"},this.props.choices.map(function(t){return e.props.categories[t]?u["default"].createElement(d,{category:e.props.categories[t],listPath:e.props.list.path,key:t}):null})))}}]),t}(u["default"].Component);a["default"]=f},{react:"react","react-router":"react-router"}],151:[function(e,t,a){"use strict";function n(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function r(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:n(e,t)}function o(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:n(e,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.compareLastPostAge=n,a.compareGlobalWeight=r,a.compareWeight=o},{}],152:[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 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}}(),l=e("react"),u=n(l),c=e("../page-lead"),d=n(c),f=e("./toolbar"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getCategoryDescription",value:function(){return this.props.route.category.description?u["default"].createElement("div",{className:"category-description"},u["default"].createElement(d["default"],{copy:this.props.route.category.description.html})):null}},{key:"getToolbarLabel",value:function(){if(this.props.isLoaded){var e=null;return e=this.props.route.list.path?ngettext("%(threads)s thread found.","%(threads)s threads found.",this.props.threadsCount):this.props.route.category.parent?ngettext("There is %(threads)s thread in this category.","There are %(threads)s threads in this category.",this.props.threadsCount):ngettext("There is %(threads)s thread on our forums.","There are %(threads)s threads on our forums.",this.props.threadsCount),interpolate(e,{threads:this.props.threadsCount},!0)}return gettext("Loading threads...")}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"getToolbar",value:function(){return this.props.subcategories.length||this.props.user.id?u["default"].createElement(p["default"],{subcategories:this.props.subcategories,categories:this.props.route.categories,categoriesMap:this.props.route.categoriesMap,list:this.props.route.list,threads:this.props.threads,moderation:this.props.moderation,selection:this.props.selection,selectAllThreads:this.props.selectAllThreads,selectNoneThreads:this.props.selectNoneThreads,addThreads:this.props.addThreads,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,route:this.props.route,disabled:this.getDisableToolbar(),user:this.props.user},this.getToolbarLabel()):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"container"},this.getCategoryDescription(),this.getToolbar(),this.props.children)}}]),t}(u["default"].Component);a["default"]=h},{"../page-lead":76,"./toolbar":163,react:"react"}],153:[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 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}}(),l=e("react"),u=n(l),c=e("react-router"),d=e("../button"),f=n(d),p=e("../dropdown-toggle"),h=n(p),m=e("./navs"),b=e("../../reducers/threads"),g=e("../../services/ajax"),y=n(g),v=e("../../services/posting"),_=n(v),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../.."),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.markAsRead=function(){a.setState({isBusy:!0}),y["default"].post(a.props.route.category.api_url.read).then(function(){k["default"].dispatch((0,b.read)()),a.setState({isBusy:!1}),w["default"].success(gettext("Threads have been marked as read."))},function(e){a.setState({isBusy:!1}),w["default"].apiError(e)})},a.startThread=function(){_["default"].open({mode:"START",config:x["default"].get("THREAD_EDITOR_URL"),submit:x["default"].get("THREADS_API"),category:a.props.route.category.id})},a.state={isBusy:!1},a}return s(t,e),i(t,[{key:"getGoBackButton",value:function(){if(this.props.route.category.parent){var e=this.props.categories[this.props.route.category.parent];return u["default"].createElement(c.Link,{className:"btn btn-default btn-aligned btn-icon btn-go-back pull-left",to:e.absolute_url+this.props.route.list.path},u["default"].createElement("span",{className:"material-icon"},"keyboard_arrow_left"))}return null}},{key:"getStartThreadButton",value:function(){return this.props.user.id?u["default"].createElement(f["default"],{className:"btn btn-success btn-aligned hidden-xs hidden-sm",onClick:this.startThread,disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Start thread")):null}},{key:"getMarkAsReadButton",value:function(){return this.props.user.id?u["default"].createElement(f["default"],{className:"btn btn-default btn-aligned hidden-xs hidden-sm",onClick:this.markAsRead,loading:this.state.isBusy,disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"playlist_add_check"),gettext("Mark as read")):null}},{key:"getCompactNavToggle",value:function(){return this.props.route.lists.length>1?u["default"].createElement(h["default"],{toggleNav:this.props.toggleNav,dropdown:this.props.dropdown}):null}},{key:"getTabsNav",value:function(){return this.props.route.lists.length>1?u["default"].createElement(m.TabsNav,{baseUrl:this.props.route.category.absolute_url,list:this.props.route.list,lists:this.props.route.lists}):null}},{key:"getClassName",value:function(){return this.props.route.lists.length>1?"page-header tabbed":"page-header"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("div",{className:"container"},this.getGoBackButton(),u["default"].createElement("h1",{className:"pull-left"},this.props.title),this.getStartThreadButton(),this.getMarkAsReadButton(),this.getCompactNavToggle()),this.getTabsNav())}}]),t}(u["default"].Component);a["default"]=j},{"../..":192,"../../reducers/threads":200,"../../services/ajax":204,"../../services/posting":213,"../../services/snackbar":214,"../../services/store":215,"../button":44,"../dropdown-toggle":58,"./navs":160,react:"react","react-router":"react-router"}],154:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return"all"===this.props.list.type?u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.category.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},gettext("No threads matching specified criteria were found."))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],155:[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 i(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}}(),u=e("react"),c=r(u),d=e("./errors-list"),f=r(d),p=e("./merge"),h=r(p),m=e("./move"),b=r(m),g=e("../../../reducers/selection"),y=n(g),v=e("../../../services/ajax"),_=r(v),E=e("../../../services/modal"),w=r(E),O=e("../../../services/snackbar"),k=r(O),N=e("../../../services/store"),x=r(N),j=e("../../../utils/countdown"),P=r(j),C=function(e){function t(){var e,a,n,r;o(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.callApi=function(e,t){var a=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r=[],o=new P["default"](function(){n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),r.length?w["default"].show(c["default"].createElement(f["default"],{errors:r})):(k["default"].success(t),a&&a())},n.props.threads.length);n.props.threads.forEach(function(t){n.props.freezeThread(t.id),_["default"].patch(t.api.index,e).then(function(e){n.props.updateThread(e),o.count()},function(e){r.push({thread:t,errors:[e.detail]}),o.count()})})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))},n.move=function(){w["default"].show(c["default"].createElement(b["default"],{callApi:n.callApi,categories:n.props.categories,categoriesMap:n.props.categoriesMap,route:n.props.route,user:n.props.user}))},n.merge=function(){var e=[];if(n.props.threads.forEach(function(t){t.acl.can_merge||e.append({id:t.id,title:t.title,errors:[gettext("You don't have permission to merge this thread with others.")]})}),n.props.threads.length<2)k["default"].info(gettext("You have to select at least two threads to merge."));else{if(e.length)return void w["default"].show(c["default"].createElement(f["default"],{errors:e}));w["default"].show(c["default"].createElement(h["default"],n.props))}},n["delete"]=function(){if(confirm(gettext("Are you sure you want to delete selected threads?"))){var e=[],t=new P["default"](function(){e.length?w["default"].show(c["default"].createElement(f["default"],{errors:e})):k["default"].success(gettext("Selected threads were deleted.")),n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),x["default"].dispatch(y.all(n.props.threads.map(function(e){return e.id})))},n.props.threads.length);n.props.threads.forEach(function(a){n.props.freezeThread(a.id),_["default"]["delete"](a.api.index).then(function(e){n.props.freezeThread(a.id),n.props.deleteThread(a),t.count()},function(n){e.push({thread:a,errors:[n.detail]}),t.count()})})}},r=a,s(n,r)}return i(t,e),l(t,[{key:"getPinGloballyButton",value:function(){return 2==this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinGlobally},gettext("Pin threads globally"))):null}},{key:"getPinLocallyButton",value:function(){return this.props.moderation.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.pinLocally},gettext("Pin threads locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.moderation.can_pin>0?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unpin},gettext("Unpin threads"))):null}},{key:"getMoveButton",value:function(){return this.props.moderation.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.move},gettext("Move threads"))):null}},{key:"getMergeButton",value:function(){return this.props.moderation.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.merge},gettext("Merge threads"))):null}},{key:"getApproveButton",value:function(){return this.props.moderation.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.approve},gettext("Approve threads"))):null}},{key:"getOpenButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.open},gettext("Open threads"))):null}},{key:"getCloseButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.close},gettext("Close threads"))):null}},{key:"getUnhideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.unhide},gettext("Unhide threads"))):null}},{key:"getHideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.hide},gettext("Hide threads"))):null}},{key:"getDeleteButton",value:function(){return 2==this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this["delete"]},gettext("Delete threads"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},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"]=C},{"../../../reducers/selection":197,"../../../services/ajax":204,"../../../services/modal":210,"../../../services/snackbar":214,"../../../services/store":215,"../../../utils/countdown":220,"./errors-list":156,"./merge":157,"./move":158,react:"react"}],156:[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 i(e){return c["default"].createElement("li",null,c["default"].createElement("h5",null,e.thread.title),c["default"].createElement("ul",{className:"list-unstyled list-item-errors"},e.errors.map(function(e,t){return c["default"].createElement("li",{key:t},e)})))}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}}();a.ThreadErrors=i;var u=e("react"),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:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog",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("Threads moderation"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("p",{className:"lead"},gettext("Errors were encountered when performing moderation action on one or more threads:")),c["default"].createElement("ul",{className:"list-unstyled list-errored-items"},this.props.errors.map(function(e){return c["default"].createElement(i,{errors:e.errors,key:e.thread.id,thread:e.thread})})))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],157:[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 i(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}}(),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),g=e("../../category-select"),y=r(g),v=e("../../select"),_=r(v),E=e("../../../index"),w=r(E),O=e("../../../reducers/threads"),k=e("../../../reducers/selection"),N=n(k),x=e("./errors-list"),j=r(x),P=e("../../../services/ajax"),C=r(P),T=e("../../../services/modal"),S=r(T),M=e("../../../services/snackbar"),L=r(M),R=e("../../../services/store"),A=r(R),I=e("../../../utils/validators"),U=n(I),D=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));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_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,weight:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.acl={};for(var n in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var r=e.user.acl.categories[n];a.acl[r.id]=r}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=a.acl[e.id],n=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:n,level:e.level-1,label:e.name}),n||a.state.category||(a.state.category=e.id)}}),a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a}return i(t,e),l(t,[{key:"clean",value:function(){return this.isValid()?!0:(L["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return C["default"].post(w["default"].get("MERGE_THREADS_API"),{top_category:this.props.route.category.id,threads:this.props.threads.map(function(e){return e.id}),title:this.state.title,category:this.state.category,weight:this.state.weight,is_closed:this.state.is_closed})}},{key:"handleSuccess",value:function(e){var t=this;this.props.threads.forEach(function(e){t.props.freezeThread(e.id),t.props.deleteThread(e)}),A["default"].dispatch(N.none()),this.props.addThreads([e]),A["default"].dispatch((0,O.filterThreads)(this.props.route.category,this.props.categoriesMap)),S["default"].hide()}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),L["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?S["default"].show(c["default"].createElement(j["default"],{errors:e})):L["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e.push({value:1,icon:"bookmark_border",label:gettext("Pinned locally")}),e.push({value:0,icon:"remove",label:gettext("Not pinned")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?c["default"].createElement(b["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(_["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?c["default"].createElement(b["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},c["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),c["default"].createElement("div",{className:"clearfix"}),c["default"].createElement(b["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},c["default"].createElement(y["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),c["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderClosedField()),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return 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"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to merge threads to it."))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{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("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),t}(h["default"]);a["default"]=D},{"../../../index":192,"../../../reducers/selection":197,"../../../reducers/threads":200,"../../../services/ajax":204,"../../../services/modal":210,"../../../services/snackbar":214,"../../../services/store":215,"../../../utils/validators":230,"../../button":44,"../../category-select":52,"../../form":61,"../../form-group":60,"../../select":119,"./errors-list":156,react:"react"}],158:[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 i(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}}(),u=e("react"),c=r(u),d=e("../../form"),f=r(d),p=e("../../form-group"),h=r(p),m=e("../../category-select"),b=r(m),g=e("../../../reducers/selection"),y=n(g),v=e("../../../reducers/threads"),_=e("../../../services/modal"),E=r(_),w=e("../../../services/store"),O=r(w),k=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));a.handleSubmit=function(e){e.preventDefault(),E["default"].hide();var t=function(){O["default"].dispatch((0,v.filterThreads)(a.props.route.category,a.props.categoriesMap));var e=O["default"].getState(),t=e.threads.map(function(e){return e.id});O["default"].dispatch(y.all(e.selection.filter(function(e){return-1!==t.indexOf(e)})))};a.props.callApi([{op:"replace",path:"category",value:a.state.category},{op:"add",path:"top-category",value:a.props.route.category.id},{op:"replace",path:"flatten-categories",value:null}],gettext("Selected threads were moved."),t)},a.state={category:null};var n={};for(var r in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(r)){var i=e.user.acl.categories[r];n[i.id]=i}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:r,level:e.level-1,label:e.name}),r||a.state.category||(a.state.category=e.id)}}),a}return i(t,e),l(t,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(h["default"],{label:gettext("New category"),"for":"id_new_category",labelClass:"col-sm-4",controlClass:"col-sm-8"},c["default"].createElement(b["default"],{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-primary"},gettext("Move threads"))))}},{key:"renderCantMoveMessage",value:function(){return 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"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to move threads to it."))))}},{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("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),t}(f["default"]);a["default"]=k},{"../../../reducers/selection":197,"../../../reducers/threads":200,"../../../services/modal":210,"../../../services/store":215,"../../category-select":52,"../../form":61,"../../form-group":60,react:"react"}],159:[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 i(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}}(),u=e("react"),c=r(u),d=e("../../../reducers/selection"),f=n(d),p=e("../../../services/store"),h=r(p),m=function(e){function t(){var e,a,n,r;o(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=s(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.selectAll=function(){h["default"].dispatch(f.all(n.props.threads.map(function(e){return e.id})))},n.selectNone=function(){h["default"].dispatch(f.none())},r=a,s(n,r)}return i(t,e),l(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectAll},c["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Select all"))),c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectNone},c["default"].createElement("span",{className:"material-icon"},"check_box_outline_blank"),gettext("Select none"))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../reducers/selection":197,"../../../services/store":215,react:"react"}],160:[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.TabsNav=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}}(),l=e("react"),u=n(l),c=e("react-router"),d=e("../li"),f=n(d),p=function(e,t,a,n){return a.map(function(a){return u["default"].createElement(f["default"],{isControlled:!0,isActive:a.path===t.path,key:e+a.path},u["default"].createElement(c.Link,{to:e+a.path,onClick:n},u["default"].createElement("span",{className:"hidden-xs hidden-sm"},a.name),u["default"].createElement("span",{className:"hidden-md hidden-lg"},a.longName)))})};a.TabsNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"page-tabs hidden-xs hidden-sm"},u["default"].createElement("div",{className:"container"},u["default"].createElement("ul",{className:"nav nav-pills"},p(this.props.baseUrl,this.props.list,this.props.lists,this.props.hideNav))))}}]),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),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},p(this.props.baseUrl,this.props.list,this.props.lists,this.props.hideNav))}}]),t}(u["default"].Component)},{"../li":62,react:"react","react-router":"react-router"}],161:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{selection:e.selection,threads:e.threads,tick:e.tick.tick,user:e.auth.user}}function o(e){var t=[{type:"all",path:"",name:gettext("All"),longName:gettext("All threads")}];return e.id&&(t.push({type:"my",path:"my/",name:gettext("My"),longName:gettext("My threads")}),t.push({type:"new",path:"new/",name:gettext("New"),longName:gettext("New threads")}),t.push({type:"unread",path:"unread/",name:gettext("Unread"),longName:gettext("Unread threads")}),t.push({type:"subscribed",path:"subscribed/",name:gettext("Subscribed"),longName:gettext("Subscribed threads")}),e.acl.can_see_unapproved_content_lists&&t.push({type:"unapproved",path:"unapproved/",name:gettext("Unapproved"),longName:gettext("Unapproved content")})),t}function s(e){var t=o(e),a=[],n={};return d["default"].get("CATEGORIES").forEach(function(e){t.forEach(function(o){n[e.id]=e,a.push({path:e.absolute_url+o.path,component:(0,i.connect)(r)(u["default"]),categories:d["default"].get("CATEGORIES"),categoriesMap:n,category:e,lists:t,list:o})})}),a}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.getLists=o,a.paths=s;var i=e("react-redux"),l=e("./route"),u=n(l),c=e("../../index"),d=n(c)},{"../../index":192,"./route":162,"react-redux":"react-redux"}],162:[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 i(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}}(),u=e("react"),c=r(u),d=e("../button"),f=r(d),p=e("./compare"),h=e("./container"),m=r(h),b=e("./navs"),g=e("./header"),y=r(g),v=e("./utils"),_=e("../threads-list/root"),E=r(_),w=e("./list-empty"),O=r(w),k=e("../with-dropdown"),N=r(k),x=e("../../index"),j=r(x),P=e("../../reducers/selection"),C=n(P),T=e("../../reducers/threads"),S=e("../../services/ajax"),M=r(S),L=e("../../services/polls"),R=r(L),A=e("../../services/snackbar"),I=r(A),U=e("../../services/store"),D=r(U),B=e("../../services/page-title"),z=r(B),H=e("../../utils/sets"),F=n(H),G=function(e){function t(e){o(this,t);var a=s(this,Object.getPrototypeOf(t).call(this,e));a.loadMore=function(){a.setState({isBusy:!0}),a.loadThreads(a.getCategory(),a.state.page+1)},a.pollResponse=function(e){a.setState({diff:Object.assign({},e,{results:(0,v.diffThreads)(a.props.threads,e.results)})})},a.addThreads=function(e){D["default"].dispatch((0,T.append)(e,a.getSorting()))},a.applyDiff=function(){a.addThreads(a.state.diff.results),a.setState(Object.assign({},a.state.diff,{moderation:(0,v.getModerationActions)(D["default"].getState().threads),diff:{results:[]}}))},a.freezeThread=function(e){a.setState(function(t){return{busyThreads:F.toggle(t.busyThreads,e)}})},a.updateThread=function(e){D["default"].dispatch((0,T.patch)(e,e,a.getSorting()))},a.deleteThread=function(e){D["default"].dispatch((0,T.deleteThread)(e))},a.state={isMounted:!0,isLoaded:!1,isBusy:!1,diff:{results:[]},moderation:[],busyThreads:[],dropdown:!1,subcategories:[],count:0,more:0,page:1,pages:1};var n=a.getCategory();return j["default"].has("THREADS")?a.initWithPreloadedData(n,j["default"].get("THREADS")):a.initWithoutPreloadedData(n),a}return i(t,e),l(t,[{key:"getCategory",value:function(){return this.props.route.category.special_role?null:this.props.route.category.id}},{key:"initWithPreloadedData",value:function(e,t){this.state=Object.assign(this.state,{moderation:(0,v.getModerationActions)(t.results),subcategories:t.subcategories,count:t.count,more:t.more,page:t.page,pages:t.pages}),this.startPolling(e)}},{key:"initWithoutPreloadedData",value:function(e){this.loadThreads(e)}},{key:"loadThreads",value:function(e){var t=this,a=arguments.length<=1||void 0===arguments[1]?1:arguments[1];M["default"].get(j["default"].get("THREADS_API"),{category:e,list:this.props.route.list.type,page:a||1},"threads").then(function(n){t.state.isMounted&&(1===a?D["default"].dispatch((0,T.hydrate)(n.results)):D["default"].dispatch((0,T.append)(n.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:(0,v.getModerationActions)(D["default"].getState().threads),subcategories:n.subcategories,count:n.count,more:n.more,page:n.page,pages:n.pages}),t.startPolling(e))},function(e){I["default"].apiError(e)})}},{key:"startPolling",value:function(e){R["default"].start({poll:"threads",url:j["default"].get("THREADS_API"),data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),j["default"].has("THREADS")&&(D["default"].dispatch((0,T.hydrate)(j["default"].pop("THREADS").results)),this.setState({isLoaded:!0})),D["default"].dispatch(C.none())}},{key:"componentWillUnmount",value:function(){this.state.isMounted=!1,R["default"].stop("threads")}},{key:"getTitle",value:function(){return(0,v.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!j["default"].get("THREADS_ON_INDEX")?z["default"].set((0,v.getPageTitle)(this.props.route)):j["default"].get("SETTINGS").forum_index_title?document.title=j["default"].get("SETTINGS").forum_index_title:document.title=j["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.special_role?p.compareGlobalWeight:p.compareWeight}},{key:"getCompactNav",value:function(){return this.props.route.lists.length>1?c["default"].createElement("div",{className:this.getCompactNavClassName()},c["default"].createElement(b.CompactNav,{baseUrl:this.props.route.category.absolute_url,list:this.props.route.list,lists:this.props.route.lists,hideNav:this.hideNav})):null}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list,this.props.route.category.css_class&&(e+=" page-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(y["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),this.getCompactNav(),c["default"].createElement(m["default"],{route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(E["default"],{categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(O["default"],{category:this.props.route.category,list:this.props.route.list})),this.getMoreButton()))}}]),t}(N["default"]);a["default"]=G},{"../../index":192,"../../reducers/selection":197,"../../reducers/threads":200,"../../services/ajax":204,"../../services/page-title":211,"../../services/polls":212,"../../services/snackbar":214,"../../services/store":215,"../../utils/sets":228,"../button":44,"../threads-list/root":137,"../with-dropdown":190,"./compare":151,"./container":152,"./header":153,"./list-empty":154,"./navs":160,"./utils":164,react:"react"}],163:[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 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}}(),l=e("react"),u=n(l),c=e("./category-picker"),d=n(c),f=e("./moderation/controls"),p=n(f),h=e("./moderation/selection"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getCategoryPicker",value:function(){return this.props.subcategories.length?u["default"].createElement("div",{className:"toolbar-left"},u["default"].createElement(d["default"],{choices:this.props.subcategories,categories:this.props.categoriesMap,list:this.props.list})):null}},{key:"showModerationOptions",value:function(){return this.props.user.id&&this.props.moderation.allow}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"toolbar-right dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(m["default"],{className:"dropdown-menu dropdown-menu-right",threads:this.props.threads})):null}},{key:"getSelectedThreads",value:function(){var e=this;return this.props.threads.filter(function(t){return e.props.selection.indexOf(t.id)>=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"toolbar-right dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Moderation")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"toolbar with-js"},this.getCategoryPicker(),u["default"].createElement("p",{className:"toolbar-left hidden-xs hidden-sm"},this.props.children),this.getSelectionButton(),this.getModerationButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":150,"./moderation/controls":155,"./moderation/selection":159,react:"react"}],164:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function s(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.top_category===t.top_category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function i(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return a[e.id]?s(a[e.id],e):!0})}function l(e){var t={allow:!1,can_approve:0,can_close:0,can_hide:0,can_merge:0,can_move:0,can_pin:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),t.allow=t.can_approve||t.can_close||t.can_hide||t.can_merge||t.can_move||t.can_pin}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=s,a.diffThreads=i,a.getModerationActions=l;var u=e("../../index"),c=n(u)},{"../../index":192}],165:[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.CompactGuestNav=a.GuestNav=a.GuestMenu=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}}(),l=e("react"),u=n(l),c=e("../avatar"),d=n(c),f=e("../register-button"),p=n(f),h=e("../sign-in.js"),m=n(h),b=e("../../services/mobile-navbar-dropdown"),g=n(b),y=e("../../services/modal"),v=n(y),_=a.GuestMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"showSignInModal",value:function(){v["default"].show(m["default"])}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},u["default"].createElement("li",{className:"guest-preview"},u["default"].createElement("h4",null,gettext("You are browsing as guest.")),u["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.showSignInModal},gettext("Sign in"))),u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement(p["default"],{className:"btn-primary btn-block"},gettext("Register"))))))}}]),t}(u["default"].Component);a.GuestNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"nav nav-guest"},u["default"].createElement("button",{type:"button",className:"btn navbar-btn btn-default",onClick:this.showSignInModal},gettext("Sign in")),u["default"].createElement(p["default"],{className:"navbar-btn btn-primary"},gettext("Register")))}}]),t}(_),a.CompactGuestNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"showGuestMenu",value:function(){g["default"].show(_)}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},u["default"].createElement(d["default"],{size:"64"}))}}]),t}(u["default"].Component)},{"../../services/mobile-navbar-dropdown":209,"../../services/modal":210,"../avatar":42,"../register-button":113,"../sign-in.js":120,react:"react"}],166:[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 i(e){return e.auth}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserMenu=a.UserMenu=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}}();a.select=i;var u=e("react"),c=n(u),d=e("./guest-nav"),f=e("./user-nav");a.UserMenu=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 this.props.isAuthenticated?c["default"].createElement(f.UserNav,{user:this.props.user}):c["default"].createElement(d.GuestNav,null)}}]),t}(c["default"].Component),a.CompactUserMenu=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 this.props.isAuthenticated?c["default"].createElement(f.CompactUserNav,{user:this.props.user}):c["default"].createElement(d.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":165,"./user-nav":167,react:"react"}],167:[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 i(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserNav=a.UserNav=a.UserMenu=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}}();a.selectUserMenu=i;var u=e("react"),c=n(u),d=e("react-redux"),f=e("../avatar"),p=n(f),h=e("../change-avatar/root"),m=n(h),b=e("../../index"),g=n(b),y=e("../../services/mobile-navbar-dropdown"),v=n(y),_=e("../../services/modal"),E=n(_),w=a.UserMenu=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"changeAvatar",value:function(){E["default"].show((0,d.connect)(h.select)(m["default"]))}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},c["default"].createElement("li",{className:"dropdown-header"},c["default"].createElement("strong",null,this.props.user.username)),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",null,c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),c["default"].createElement("li",null,c["default"].createElement("a",{href:g["default"].get("USERCP_URL")},c["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn-link",onClick:this.changeAvatar},c["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Change avatar"))),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",{className:"dropdown-buttons"},c["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.logout},gettext("Log out"))))}}]),t}(c["default"].Component);a.UserNav=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 c["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},c["default"].createElement("li",{className:"dropdown"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",role:"button"},c["default"].createElement(p["default"],{user:this.props.user,size:"64"})),c["default"].createElement(w,{user:this.props.user})))}}]),t}(c["default"].Component),a.CompactUserNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),l(t,[{key:"showUserMenu",value:function(){v["default"].showConnected("user-menu",(0,d.connect)(i)(w))}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",onClick:this.showUserMenu},c["default"].createElement(p["default"],{user:this.props.user,size:"64"}))}}]),t}(c["default"].Component)},{"../../index":192,"../../services/mobile-navbar-dropdown":209,"../../services/modal":210,"../avatar":42,"../change-avatar/root":56,react:"react","react-redux":"react-redux"}],168:[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.StatusLabel=a.StatusIcon=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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getClass",value:function(){var e="";return this.props.status.is_banned?e="banned":this.props.status.is_hidden?e="offline":this.props.status.is_online_hidden?e="online":this.props.status.is_offline_hidden?e="offline":this.props.status.is_online?e="online":this.props.status.is_offline&&(e="offline"),"user-status user-"+e}},{key:"render",value:function(){return u["default"].createElement("span",{className:this.getClass()},this.props.children)}}]),t}(u["default"].Component);a["default"]=c;a.StatusIcon=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return u["default"].createElement("span",{className:"material-icon status-icon"},this.getIcon())}}]),t}(u["default"].Component),a.StatusLabel=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getHelp",value:function(){return this.props.status.is_banned?this.props.status.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:this.props.user.username,ban_expires:this.props.status.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:this.props.user.username},!0):this.props.status.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:this.props.user.username},!0):this.props.status.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:this.props.user.username},!0):this.props.status.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:this.props.user.username,last_click:this.props.status.last_click.fromNow()},!0):this.props.status.is_online?interpolate(gettext("%(username)s is online"),{username:this.props.user.username},!0):this.props.status.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:this.props.user.username,
+last_click:this.props.status.last_click.fromNow()},!0):void 0}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return u["default"].createElement("span",{className:this.props.className||"status-label",title:this.getHelp()},this.getLabel())}}]),t}(u["default"].Component)},{react:"react"}],169:[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 i(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}}(),u=e("react"),c=r(u),d=e("../avatar"),f=r(d),p=e("../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"change-avatar"},c["default"].createElement("span",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"100"}))),c["default"].createElement("div",{className:"change-author"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,100)+"px"}}," ")),c["default"].createElement("div",{className:"change"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,70)+"px"}}," "),c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,70)+"px"}}," ")),c["default"].createElement("div",{className:"change-date"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](80,140)+"px"}}," ")))}}]),t}(c["default"].Component);a["default"]=m},{"../../utils/random":225,"../avatar":42,react:"react"}],170:[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 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}}(),l=e("react"),u=n(l),c=e("../avatar"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.absolute_url,className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{user:this.props.change.changed_by,size:"100"})):u["default"].createElement("span",{className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{size:"100"}))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.absolute_url,className:"item-title"},this.props.change.changed_by.username):u["default"].createElement("span",{className:"item-title"},this.props.change.changed_by_username)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item",key:this.props.change.id},u["default"].createElement("div",{className:"change-avatar"},this.renderUserAvatar()),u["default"].createElement("div",{className:"change-author"},this.renderUsername()),u["default"].createElement("div",{className:"change"},u["default"].createElement("span",{className:"old-username"},this.props.change.old_username),u["default"].createElement("span",{className:"material-icon"},"arrow_forward"),u["default"].createElement("span",{className:"new-username"},this.props.change.new_username)),u["default"].createElement("div",{className:"change-date"},u["default"].createElement("abbr",{title:this.props.change.changed_on.format("LLL")},this.props.change.changed_on.fromNow())))}}]),t}(u["default"].Component);a["default"]=f},{"../avatar":42,react:"react"}],171:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement("li",{className:"list-group-item empty-message"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],172:[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 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}}(),l=e("react"),u=n(l),c=e("./change-preview"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change-preview":169,react:"react"}],173:[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 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}}(),l=e("react"),u=n(l),c=e("./change"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.changes.map(function(e){return u["default"].createElement(d["default"],{change:e,key:e.id})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change":170,react:"react"}],174:[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 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}}(),l=e("react"),u=n(l),c=e("./list-empty"),d=n(c),f=e("./list-ready"),p=n(f),h=e("./list-preview"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return this.props.isLoaded?this.props.changes.length?u["default"].createElement(p["default"],{changes:this.props.changes}):u["default"].createElement(d["default"],{emptyMessage:this.props.emptyMessage}):u["default"].createElement(m["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list-empty":171,"./list-preview":172,"./list-ready":173,react:"react"}],175:[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 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}}(),l=e("react"),u=n(l),c=e("./user-card"),d=n(c),f=e("./user-preview"),p=n(f),h=e("../../utils/batch"),m=n(h),b=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(e){return e.isLoaded}},{key:"getPager",value:function(){return this.props.pages>1?u["default"].createElement(Pager,this.props):null}},{key:"getClassName",value:function(){return this.props.className?"users-cards-list "+this.props.className+" ui-ready":"users-cards-list ui-ready"}},{key:"getColClassName",value:function(){return"col-md-"+12/this.props.cols}},{key:"getBody",value:function(){var e=this;if(this.props.isLoaded)return(0,m["default"])(this.props.users,this.props.cols).map(function(t,a){return u["default"].createElement("div",{className:"row",key:a},t.map(function(t){return u["default"].createElement("div",{className:e.getColClassName(),key:t.id},u["default"].createElement(d["default"],{user:t,showStatus:e.props.showStatus,showRank:e.props.showRank}))}))});for(var t=[],a=0;a<this.props.cols;a++)0===a?t.push(this.getColClassName()):t.push(this.getColClassName()+" hidden-xs hidden-sm");return u["default"].createElement("div",{className:"row"},t.map(function(t,a){return u["default"].createElement("div",{className:t,key:a},u["default"].createElement(p["default"],{showStatus:e.props.showStatus}))}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"users-cards-list ui-ready"},this.getBody())}}]),t}(u["default"].Component);a["default"]=b},{"../../utils/batch":218,"./user-card":176,"./user-preview":177,react:"react"}],176:[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 i(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}}(),u=e("react"),c=r(u),d=e("../avatar"),f=r(d),p=e("../user-status"),h=r(p),m=e("../../utils/random"),b=n(m),g=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"getUserStatus",value:function(){return this.props.showStatus?this.props.user.status?c["default"].createElement(h["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(p.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(p.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text",style:{width:b["int"](30,50)+"px"}}," ")):null}},{key:"getRankName",value:function(){return this.props.showRank?this.props.user.rank.is_tab?c["default"].createElement("a",{href:this.props.user.rank.absolute_url,className:"item-title rank-name"},this.props.user.rank.name):c["default"].createElement("span",{className:"item-title rank-name"},this.props.user.rank.name):null}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title"},this.props.user.title):null}},{key:"getUserJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.user.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.user.joined_on.fromNow()},!0);return c["default"].createElement("span",{className:"user-joined-on",title:e},t)}},{key:"getPostsCount",value:function(){var e=ngettext("%(posts)s post","%(posts)s posts",this.props.user.posts);return interpolate(e,{posts:this.props.user.posts},!0)}},{key:"getThreadsCount",value:function(){var e=ngettext("%(threads)s thread","%(threads)s threads",this.props.user.threads);return interpolate(e,{threads:this.props.user.threads},!0)}},{key:"getFollowersCount",value:function(){var e=ngettext("%(followers)s follower","%(followers)s followers",this.props.user.followers);return interpolate(e,{followers:this.props.user.followers},!0)}},{key:"getClassName",value:function(){return this.props.user.rank.css_class?"user-card user-card-"+this.props.user.rank.css_class+" ui-ready":"user-card ui-ready"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"user-card-bg-image"},c["default"].createElement(f["default"],{user:this.props.user,size:"400",className:"bg-image"}),c["default"].createElement("div",{className:"user-card-bg"},c["default"].createElement("div",{className:"user-details"},c["default"].createElement("div",{className:"user-avatar"},c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement(f["default"],{user:this.props.user,size:"400"}))),c["default"].createElement("h4",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"item-title"},this.props.user.username)),c["default"].createElement("p",{className:"user-subscript"},this.getUserStatus(),this.getRankName(),this.getUserTitle(),this.getUserJoinedOn())),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",{className:"user-posts-count"},this.getPostsCount()),c["default"].createElement("li",{className:"user-threads-count"},this.getThreadsCount()),c["default"].createElement("li",{className:"user-followers-count"},this.getFollowersCount()))))))}}]),t}(c["default"].Component);a["default"]=g},{"../../utils/random":225,"../avatar":42,"../user-status":168,react:"react"}],177:[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 i(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}}(),u=e("react"),c=r(u),d=e("../avatar"),f=r(d),p=e("../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getUserStatus",value:function(){return this.props.showStatus?c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"user-card ui-preview"},c["default"].createElement("div",{className:"user-card-bg-image"},c["default"].createElement(f["default"],{size:"400",className:"bg-image"}),c["default"].createElement("div",{className:"user-card-bg"},c["default"].createElement("div",{className:"user-details"},c["default"].createElement("div",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"400"})),c["default"].createElement("h4",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](60,150)+"px"}}," "))),c["default"].createElement("p",{className:"user-subscript"},this.getUserStatus(),c["default"].createElement("span",{className:"user-joined-on"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")))),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",{className:"user-posts-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-threads-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-followers-count"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](40,70)+"px"}}," ")))))))}}]),t}(c["default"].Component);a["default"]=m},{"../../utils/random":225,"../avatar":42,react:"react"}],178:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],179:[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 i(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}}(),u=e("react"),c=r(u),d=e("../../avatar"),f=r(d),p=e("../../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,80)+"px"}}," "))),c["default"].createElement("div",{className:"user-details"},c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:h["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"rank-name"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](30,50)+"px"}}," ")))),c["default"].createElement("div",{className:"rank-position"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../utils/random":225,"../../avatar":42,react:"react"}],180:[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 i(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}}(),u=e("react"),c=r(u),d=e("react-router"),f=e("../../avatar"),p=r(f),h=e("../../user-status"),m=r(h),b=e("../../../index"),g=r(b),y=e("../../../utils/random"),v=n(y),_=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?c["default"].createElement(m["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(h.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(h.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:v["int"](30,50)+"px"}}," "))}},{key:"getRankName",value:function(){if(this.props.rank.is_tab){var e=g["default"].get("USERS_LIST_URL")+this.props.rank.slug+"/";return c["default"].createElement(d.Link,{to:e,className:"rank-name item-title"},this.props.rank.name)}return c["default"].createElement("span",{className:"rank-name item-title"},this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},this.props.user.title):null}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement(p["default"],{user:this.props.user,size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"item-title"},this.props.user.username)),c["default"].createElement("div",{className:"user-details"},this.getUserStatus(),this.getRankName(),this.getUserTitle())),c["default"].createElement("div",{className:"rank-position"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{
+className:"rank-posts-total"},c["default"].createElement("strong",null,this.props.user.posts),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=_},{"../../../index":192,"../../../utils/random":225,"../../avatar":42,"../../user-status":168,react:"react","react-router":"react-router"}],181:[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 i(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}}(),u=e("react"),c=r(u),d=e("./list-item-preview"),f=r(d),p=e("../../../utils/random"),h=n(p),m=function(e){function t(){return o(this,t),s(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),l(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"active-posters-list"},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead ui-preview"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:h["int"](50,220)+"px"}}," ")),c["default"].createElement("div",{className:"active-posters ui-preview"},c["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return c["default"].createElement(f["default"],{hiddenOnMobile:e>0,key:e})})))))}}]),t}(c["default"].Component);a["default"]=m},{"../../../utils/random":225,"./list-item-preview":179,react:"react"}],182:[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 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}}(),l=e("react"),u=n(l),c=e("./list-item"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getLeadMessage",value:function(){var e=ngettext("%(posters)s most active poster from last %(days)s days.","%(posters)s most active posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getLeadMessage()),u["default"].createElement("div",{className:"active-posters ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.users.map(function(e,t){return u["default"].createElement(d["default"],{user:e,rank:e.rank,counter:t+1,key:e.id})})))))}}]),t}(u["default"].Component);a["default"]=f},{"./list-item":180,react:"react"}],183:[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 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}}(),l=e("react"),u=n(l),c=e("./list-empty"),d=n(c),f=e("./list-preview"),p=n(f),h=e("./list-ready"),m=n(h),b=e("../../../index"),g=n(b),y=e("../../../reducers/users"),v=e("../../../services/polls"),_=n(v),E=e("../../../services/store"),w=n(E),O=e("../../../services/page-title"),k=n(O),N=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){w["default"].dispatch((0,y.hydrate)(e.results)),a.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})},g["default"].has("USERS")?a.initWithPreloadedData(g["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(),a}return s(t,e),i(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},w["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){_["default"].start({poll:"active-posters",url:g["default"].get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){k["default"].set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){_["default"].stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?u["default"].createElement(m["default"],{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):u["default"].createElement(d["default"],{trackedPeriod:this.state.trackedPeriod}):u["default"].createElement(p["default"],null)}}]),t}(u["default"].Component);a["default"]=N},{"../../../index":192,"../../../reducers/users":203,"../../../services/page-title":211,"../../../services/polls":212,"../../../services/store":215,"./list-empty":178,"./list-preview":181,"./list-ready":182,react:"react"}],184:[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.TabsNav=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}}(),l=e("react"),u=n(l),c=e("react-router"),d=e("../li"),f=n(d),p=e("../../index"),h=(n(p),function(e,t){var a=e;return a+="rank"===t.component?t.slug:t.component,a+"/"}),m=function(e,t,a){return t.map(function(t){var n=h(e,t);return u["default"].createElement(f["default"],{path:n,key:n},u["default"].createElement(c.Link,{to:n,onClick:a},t.name))})};a.TabsNav=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"nav nav-pills"},m(this.props.baseUrl,this.props.lists))}}]),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),i(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu",role:"menu"},m(this.props.baseUrl,this.props.lists,this.props.hideNav))}}]),t}(u["default"].Component)},{"../../index":192,"../li":62,react:"react","react-router":"react-router"}],185:[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 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}}(),l=e("react"),u=n(l),c=e("../../users-list/root"),d=n(c),f=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{isLoaded:!1,cols:3,showStatus:!0}))}}]),t}(u["default"].Component);a["default"]=f},{"../../users-list/root":175,react:"react"}],186:[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 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}}(),l=e("react"),u=n(l),c=e("./pager"),d=n(c),f=e("../../users-list/root"),p=n(f),h=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getPager",value:function(){return this.props.pages>1?u["default"].createElement(d["default"],this.props):null}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(p["default"],{users:this.props.users,showStatus:!0,cols:3,isLoaded:!0}),this.getPager())}}]),t}(u["default"].Component);a["default"]=h},{"../../users-list/root":175,"./pager":187,react:"react"}],187:[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 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}}(),l=e("react"),u=n(l),c=e("react-router"),d=e("../../../utils/reset-scroll"),f=n(d),p=function(e){function t(){return r(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),i(t,[{key:"getPreviousPage",value:function(){if(this.props.previous||this.props.first){var e=this.props.baseUrl;return this.props.previous&&(e+=this.props.previous+"/"),u["default"].createElement("li",{className:"previous"},u["default"].createElement(c.Link,{to:e,onClick:f["default"]},u["default"].createElement("span",{"aria-hidden":"true",className:"material-icon"},"arrow_back")))}return null}},{key:"getNextPage",value:function(){if(this.props.next){var e=this.props.baseUrl+this.props.next+"/";return u["default"].createElement("li",{className:"next"},u["default"].createElement(c.Link,{to:e,onClick:f["default"]},u["default"].createElement("span",{"aria-hidden":"true",className:"material-icon"},"arrow_forward")))}return null}},{key:"getProgessBar",value:function(){var e=this;return u["default"].createElement("ul",{className:"pager-progress-bar"},this.props.page_range.map(function(t){var a=t===e.props.page?"active":null,n=e.props.baseUrl;return t>1&&(n+=t+"/"),u["default"].createElement("li",{key:t,className:a},u["default"].createElement(c.Link,{to:n,onClick:f["default"]},t))}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"pager-undercontent"},u["default"].createElement("nav",null,u["default"].createElement("ul",{className:"pager"},this.getPreviousPage(),this.getNextPage()),this.getProgessBar()))}}]),t}(u["default"].Component);a["default"]=p},{"../../../utils/reset-scroll":226,react:"react","react-router":"react-router"}],188:[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 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},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}}(),u=e("react"),c=n(u),d=e("../../page-lead"),f=n(d),p=e("./list"),h=n(p),m=e("./list-loading"),b=n(m),g=e("../../../index"),y=n(g),v=e("../../../reducers/users"),_=e("../../../services/polls"),E=n(_),w=e("../../../services/store"),O=n(w),k=e("../../../services/page-title"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.update=function(e){O["default"].dispatch((0,v.hydrate)(e.results)),e.isLoaded=!0,a.setState(e)},y["default"].has("USERS")?a.initWithPreloadedData(y["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(e.params.page||1),a}return s(t,e),l(t,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),O["default"].dispatch((0,v.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){E["default"].start({poll:"rank-users",url:y["default"].get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){N["default"].set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){E["default"].stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(N["default"].set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),E["default"].stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?c["default"].createElement("div",{className:"rank-description"},c["default"].createElement(f["default"],{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){if(this.state.isLoaded){if(this.state.count>0){var e=y["default"].get("USERS_LIST_URL")+this.props.route.rank.slug+"/";return c["default"].createElement(h["default"],i({baseUrl:e,users:this.props.users},this.state))}return c["default"].createElement("p",{className:"lead"},gettext("There are no users with this rank at the moment."))}return c["default"].createElement(b["default"],null)}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},this.getRankDescription(),this.getComponent()))}}]),t}(c["default"].Component);a["default"]=x},{"../../../index":192,"../../../reducers/users":203,"../../../services/page-title":211,"../../../services/polls":212,"../../../services/store":215,"../../page-lead":76,"./list":186,"./list-loading":185,react:"react"}],189:[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 i(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function l(){var e=[];return O["default"].get("USERS_LISTS").forEach(function(t){"rank"===t.component?(e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,f.connect)(i)(v["default"]),rank:t}),e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/",component:(0,f.connect)(i)(v["default"]),rank:t})):"active-posters"===t.component&&e.push({path:O["default"].get("USERS_LIST_URL")+t.component+"/",component:(0,f.connect)(i)(g["default"]),extra:{name:t.name}})}),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=i,a.paths=l;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),h=n(p),m=e("./navs"),b=e("./active-posters/root"),g=n(b),y=e("./rank/root"),v=n(y),_=e("../with-dropdown"),E=n(_),w=e("../../index"),O=n(w),k=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-users-lists"},d["default"].createElement("div",{className:"page-header tabbed"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",{className:"pull-left"},gettext("Users")),d["default"].createElement(h["default"],{toggleNav:this.toggleNav,dropdown:this.state.dropdown})),d["default"].createElement("div",{className:"page-tabs hidden-xs hidden-sm"},d["default"].createElement("div",{className:"container"},d["default"].createElement(m.TabsNav,{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL")})))),d["default"].createElement("div",{className:this.getCompactNavClassName()},d["default"].createElement(m.CompactNav,{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL"),hideNav:this.hideNav})),this.props.children)}}]),t}(E["default"]);a["default"]=k},{"../../index":192,"../dropdown-toggle":58,"../with-dropdown":190,"./active-posters/root":183,"./navs":184,"./rank/root":188,react:"react","react-redux":"react-redux"}],190:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(e){r(this,t);var a=o(this,Object.getPrototypeOf(t).call(this,e));return a.toggleNav=function(){a.setState({dropdown:!a.state.dropdown})},a.hideNav=function(){a.setState({dropdown:!1})},a.state={dropdown:!1},a}return s(t,e),i(t,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],191:[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 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}}(),l=e("react"),u=n(l),c=function(e){function t(){var e,a,n,s;r(this,t);for(var i=arguments.length,l=Array(i),u=0;i>u;u++)l[u]=arguments[u];return a=n=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.toggle=function(){n.props.onChange({target:{value:!n.props.value}})},s=a,o(n,s)}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],192:[function(e,t,a){(function(t){"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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Misago=void 0;var o=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}}(),s=e("./utils/ordered-list"),i=n(s),l=a.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return o(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var a=new i["default"](this._initializers).orderedValues();a.forEach(function(e){e(t)})}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}(),u=new l;t.misago=u,a["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":224}],193:[function(e,t,a){"use strict";function n(e){return{type:u,patch:e}}function r(e){return{type:c,user:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];return{type:d,soft:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?l:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case u:var a=Object.assign({},e);return a.user=Object.assign({},e.user,t.patch),a;case c:return Object.assign({},e,{signedIn:t.user});case d:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case i.UPDATE_AVATAR:if(e.isAuthenticated&&e.user.id===t.userId){var n=Object.assign({},e);return n.user=Object.assign({},e.user,{avatar_hash:t.avatarHash}),n}return e;case i.UPDATE_USERNAME:if(e.isAuthenticated&&e.user.id===t.userId){var r=Object.assign({},e);return r.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),r}return e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SIGN_OUT=a.SIGN_IN=a.PATCH_USER=a.initialState=void 0,a.patch=n,a.signIn=r,a.signOut=o,a["default"]=s;var i=e("./users"),l=a.initialState={signedIn:!1,signedOut:!1},u=a.PATCH_USER="PATCH_USER",c=a.SIGN_IN="SIGN_IN",d=a.SIGN_OUT="SIGN_OUT"},{"./users":203}],194:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{posted_on:(0,s["default"])(e.posted_on),updated_on:(0,s["default"])(e.updated_on),hidden_on:(0,s["default"])(e.hidden_on),selected:!1,busy:!1})}Object.defineProperty(a,"__esModule",{value:!0}),a.hydrate=r;var o=e("moment"),s=n(o)},{moment:"moment"}],195:[function(e,t,a){"use strict";function n(e){return Object.assign({},e,{results:e.results.map(i.hydrate),isLoaded:!0,isBusy:!1})}function r(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];return{type:l,state:t?e:n(e)}}function o(){return{type:u}}function s(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case l:return t.state;case u:return Object.assign({},e,{isLoaded:!1});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UNLOAD_POSTS=a.LOAD_POSTS=void 0,a.hydrate=n,a.load=r,a.unload=o,a["default"]=s;var i=e("./post"),l=a.LOAD_POSTS="LOAD_POSTS",u=a.UNLOAD_POSTS="UNLOAD_POSTS"},{"./post":194}],196:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:c,profile:e}}function o(e){return{type:d,patch:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case c:return Object.assign({},t.profile,{joined_on:(0,l["default"])(t.profile.joined_on),status:(0,u.hydrateStatus)(t.profile.status)});case d:return Object.assign({},e,t.patch);case u.UPDATE_AVATAR:return e.id===t.userId?Object.assign({},e,{avatar_hash:t.avatarHash}):e;case u.UPDATE_USERNAME:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_PROFILE=a.HYDRATE_PROFILE=void 0,a.hydrate=r,a.patch=o,a["default"]=s;var i=e("moment"),l=n(i),u=e("./users"),c=a.HYDRATE_PROFILE="HYDRATE_PROFILE",d=a.PATCH_PROFILE="PATCH_PROFILE"},{"./users":203,moment:"moment"}],197:[function(e,t,a){"use strict";function n(e){return{type:l,items:e}}function r(){return{type:u}}function o(e){return{type:c,item:e}}function s(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case l:return t.items;case u:return[];case c:return(0,i.toggle)(e,t.item);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SELECT_ITEM=a.SELECT_NONE=a.SELECT_ALL=void 0,a.all=n,a.none=r,a.item=o,a["default"]=s;var i=e("../utils/sets"),l=a.SELECT_ALL="SELECT_ALL",u=a.SELECT_NONE="SELECT_NONE",c=a.SELECT_ITEM="SELECT_ITEM"},{"../utils/sets":228}],198:[function(e,t,a){"use strict";function n(e,t){return{type:i,message:e,messageType:t}}function r(){return{type:l}}function o(){var e=arguments.length<=0||void 0===arguments[0]?s:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===i?{type:t.messageType,message:t.message,isVisible:!0}:t.type===l?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.showSnackbar=n,a.hideSnackbar=r,a["default"]=o;var s=a.initialState={type:"info",message:"",isVisible:!1},i=a.SHOW_SNACKBAR="SHOW_SNACKBAR",l=a.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],199:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{started_on:(0,d["default"])(e.started_on),last_post_on:(0,d["default"])(e.last_post_on),isBusy:!1})}function o(){return{type:f}}function s(){return{type:p}}function i(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];return{type:h,state:t?e:r(e)}}function l(e){return{type:m,data:e}}function u(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case f:return Object.assign({},e,{isBusy:!0});case p:return Object.assign({},e,{isBusy:!1});case h:return t.state;case m:return Object.assign({},e,t.data);
+default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_THREAD=a.REPLACE_THREAD=a.RELEASE_THREAD=a.BUSY_THREAD=void 0,a.hydrate=r,a.busy=o,a.release=s,a.replace=i,a.update=l,a["default"]=u;var c=e("moment"),d=n(c),f=a.BUSY_THREAD="BUSY_THREAD",p=a.RELEASE_THREAD="RELEASE_THREAD",h=a.REPLACE_THREAD="REPLACE_THREAD",m=a.UPDATE_THREAD="UPDATE_THREAD"},{moment:"moment"}],200:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){return{type:y,items:e,sorting:t}}function o(e){return{type:v,thread:e}}function s(e,t){return{type:_,category:e,categoriesMap:t}}function i(e){return{type:E,items:e}}function l(e,t){var a=arguments.length<=2||void 0===arguments[2]?null:arguments[2];return{type:w,thread:e,patch:t,sorting:a}}function u(){return{type:O}}function c(e){return{type:k,sorting:e}}function d(e){var t=[];return N.forEach(function(a){e[a]&&t.push(a)}),t}function f(e){return Object.assign({},e,{started_on:(0,m["default"])(e.started_on),last_post_on:(0,m["default"])(e.last_post_on),moderation:d(e.acl)})}function p(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case y:var a=(0,g["default"])(t.items.map(f),e);return a.sort(t.sorting);case v:return e.filter(function(e){return e.id!==t.thread.id});case _:return e.filter(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght?!0:2==e.weight});case E:return t.items.map(f);case w:var n=e.map(function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e});return t.sorting?n.sort(t.sorting):n;case O:return e.map(function(e){return Object.assign({},e,{is_read:!0})});case k:return e.sort(t.sorting);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.MODERATION_PERMISSIONS=a.SORT_THREADS=a.READ_THREADS=a.PATCH_THREAD=a.HYDRATE_THREADS=a.FILTER_THREADS=a.DELETE_THREAD=a.APPEND_THREADS=void 0,a.append=r,a.deleteThread=o,a.filterThreads=s,a.hydrate=i,a.patch=l,a.read=u,a.sort=c,a.getThreadModerationOptions=d,a.hydrateThread=f,a["default"]=p;var h=e("moment"),m=n(h),b=e("../utils/concat-unique"),g=n(b),y=a.APPEND_THREADS="APPEND_THREADS",v=a.DELETE_THREAD="DELETE_THREAD",_=a.FILTER_THREADS="FILTER_THREADS",E=a.HYDRATE_THREADS="HYDRATE_THREADS",w=a.PATCH_THREAD="PATCH_THREAD",O=a.READ_THREADS="READ_THREADS",k=a.SORT_THREADS="SORT_THREADS",N=a.MODERATION_PERMISSIONS=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"]},{"../utils/concat-unique":219,moment:"moment"}],201:[function(e,t,a){"use strict";function n(){return{type:s}}function r(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===s?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.doTick=n,a["default"]=r;var o=a.initialState={tick:0},s=a.TICK="TICK"},{}],202:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return{type:h,change:e,user:t,changedBy:a}}function o(e){return{type:m,items:e}}function s(e){return{type:b,items:e}}function i(e){return Object.assign({},e,{changed_on:(0,c["default"])(e.changed_on)})}function l(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case h:var a=e.slice();return a.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:(0,c["default"])(),new_username:t.change.username,old_username:t.user.username}),a;case m:return(0,p["default"])(e,t.items.map(i));case b:return t.items.map(i);case d.UPDATE_AVATAR:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatar_hash:t.avatarHash})),e});case d.UPDATE_USERNAME:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.HYDRATE_HISTORY=a.APPEND_HISTORY=a.ADD_NAME_CHANGE=void 0,a.addNameChange=r,a.append=o,a.hydrate=s,a.hydrateNamechange=i,a["default"]=l;var u=e("moment"),c=n(u),d=e("./users"),f=e("../utils/concat-unique"),p=n(f),h=a.ADD_NAME_CHANGE="ADD_NAME_CHANGE",m=a.APPEND_HISTORY="APPEND_HISTORY",b=a.HYDRATE_HISTORY="HYDRATE_HISTORY"},{"../utils/concat-unique":219,"./users":203,moment:"moment"}],203:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:m,items:e}}function o(e){return{type:b,items:e}}function s(e){return e?Object.assign({},e,{last_click:e.last_click?(0,f["default"])(e.last_click):null,banned_until:e.banned_until?(0,f["default"])(e.banned_until):null}):null}function i(e){return Object.assign({},e,{joined_on:(0,f["default"])(e.joined_on),status:s(e.status)})}function l(e,t){return{type:g,userId:e.id,avatarHash:t}}function u(e,t,a){return{type:y,userId:e.id,username:t,slug:a}}function c(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case m:var a=(0,h["default"])(e,t.items.map(i));return a.sort(function(e,t){return e.username<t.username?-1:e.username>t.username?1:0});case b:return t.items.map(i);case g:return e.map(function(e){return e=Object.assign({},e),e.id===t.userId&&(e.avatar_hash=t.avatarHash),e});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_USERNAME=a.UPDATE_AVATAR=a.HYDRATE_USERS=a.APPEND_USERS=void 0,a.append=r,a.hydrate=o,a.hydrateStatus=s,a.hydrateUser=i,a.updateAvatar=l,a.updateUsername=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("../utils/concat-unique"),h=n(p),m=a.APPEND_USERS="APPEND_USERS",b=a.HYDRATE_USERS="HYDRATE_USERS",g=a.UPDATE_AVATAR="UPDATE_AVATAR",y=a.UPDATE_USERNAME="UPDATE_USERNAME"},{"../utils/concat-unique":219,moment:"moment"}],204:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},o=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}}(),s=a.Ajax=function(){function e(){n(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return o(e,[{key:"init",value:function(e){this._cookieName=e,this._csrfToken=this.getCsrfToken()}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,a){var n=this;return new Promise(function(r,o){var s={url:t,method:e,headers:{"X-CSRFToken":n._csrfToken},data:a?JSON.stringify(a):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(s)})}},{key:"get",value:function(e,t,a){var n=this;if(t&&(e+="?"+$.param(t)),!a)return this.request("GET",e);var o=function(){var t=n;return n._locks[a]&&(n._locks[a].url=e),n._locks[a]&&n._locks[a].waiter?{v:{then:function(){}}}:n._locks[a]&&n._locks[a].wait?(n._locks[a].waiter=!0,{v:new Promise(function(n,r){var o=function s(e){t._locks[a].wait?window.setTimeout(function(){s(e)},300):t._locks[a].url!==e?s(t._locks[a].url):(t._locks[a].waiter=!1,t.request("GET",t._locks[a].url).then(function(r){t._locks[a].url===e?n(r):(t._locks[a].waiter=!0,s(t._locks[a].url))},function(n){t._locks[a].url===e?r(n):(t._locks[a].waiter=!0,s(t._locks[a].url))}))};window.setTimeout(function(){o(e)},300)})}):(n._locks[a]={url:e,wait:!0,waiter:!1},{v:new Promise(function(n,r){t.request("GET",e).then(function(r){t._locks[a].wait=!1,t._locks[a].url===e&&n(r)},function(n){t._locks[a].wait=!1,t._locks[a].url===e&&r(n)})})})}();return"object"===("undefined"==typeof o?"undefined":r(o))?o.v:void 0}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e){return this.request("DELETE",e)}},{key:"upload",value:function(e,t,a){var n=this;return new Promise(function(r,o){var s={url:e,method:"POST",headers:{"X-CSRFToken":n._csrfToken},data:t,contentType:!1,processData:!1,xhr:function i(){var i=new window.XMLHttpRequest;return i.upload.addEventListener("progress",function(e){e.lengthComputable&&a(Math.round(e.loaded/e.total*100))},!1),i},success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(s)})}}]),e}();a["default"]=new s},{}],205:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Auth=void 0;var r=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}}(),o=e("../reducers/auth"),s=a.Auth=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t,a){this._store=e,this._local=t,this._modal=a,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,o.signIn)({username:t.username})):e._store.dispatch((0,o.signOut)())}),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,o.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,o.signOut)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,o.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();a["default"]=new s},{"../reducers/auth":193}],206:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(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 o(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 s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Captcha=a.ReCaptcha=a.ReCaptchaComponent=a.QACaptcha=a.NoCaptcha=a.BaseCaptcha=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}}(),l=e("react"),u=n(l),c=e("../components/form-group"),d=n(c),f=a.BaseCaptcha=function(){function e(){s(this,e)}return i(e,[{key:"init",value:function(e,t,a,n){this._context=e,this._ajax=t,this._include=a,this._snackbar=n}}]),e}(),p=a.NoCaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),i(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(f),h=a.QACaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),i(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,a){e._ajax.get(e._context.get("CAPTCHA_API")).then(function(a){e.question=a.question,e.helpText=a.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),a()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:this.helpText||null},u["default"].createElement("input",{type:"text",id:"id_captcha",className:"form-control","aria-describedby":"id_captcha_status",disabled:e.form.state.isLoading,onChange:e.form.bindInput("captcha"),value:e.form.state.captcha}))}}]),t}(f),m=a.ReCaptchaComponent=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return u["default"].createElement("div",{id:"recaptcha"})}}]),t}(u["default"].Component),b=a.ReCaptcha=function(e){function t(){return s(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),i(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function a(){"undefined"==typeof grecaptcha?window.setTimeout(function(){a()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:gettext("Captcha"),"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:gettext("Please solve the quick test.")},u["default"].createElement(m,{siteKey:this._context.get("SETTINGS").recaptcha_site_key,binding:e.form.bindInput("captcha")}))}}]),t}(f),g=a.Captcha=function(){function e(){s(this,e)}return i(e,[{key:"init",value:function(e,t,a,n){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new h;break;case"re":this._captcha=new b}this._captcha.init(e,t,a,n)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();a["default"]=new g},{"../components/form-group":60,react:"react"}],207:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Include=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();a["default"]=new o},{}],208:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=window.localStorage,s=a.LocalStorage=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var a=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(a)})})}},{key:"set",value:function(e,t){o.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=o.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();a["default"]=new s},{}],209:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.MobileNavbarDropdown=void 0;var o=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}}(),s=e("../utils/mount-component"),i=n(s),l=a.MobileNavbarDropdown=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,i["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,i["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();a["default"]=new l},{"../utils/mount-component":223}],210:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Modal=void 0;var o=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}}(),s=e("react-dom"),i=n(s),l=e("../utils/mount-component"),u=n(l),c=a.Modal=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){i["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,u["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();a["default"]=new c},{"../utils/mount-component":223,"react-dom":"react-dom"}],211:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.PageTitle=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(!e)return void(document.title=this._indexTitle||this._forumName);"string"==typeof e&&(e={title:e});var t=e.title;if(e.page>1){var a=interpolate(gettext("page: %(page)s"),{page:e.page},!0);t+=" ("+a+")"}e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}}]),e}();a["default"]=new o},{}],212:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Polls=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var a=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then(function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))},function(a){t._polls[e.poll]._stopped||(e.error?e.error(a):t._snackbar.apiError(a))})};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(a,e.frequency)}:a()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();a["default"]=new o},{}],213:[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")}Object.defineProperty(a,"__esModule",{value:!0}),a.Posting=void 0;var o=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}}(),s=e("react"),i=n(s),l=e("react-dom"),u=n(l),c=e("../components/posting"),d=n(c),f=e("../utils/mount-component"),p=n(f),h=a.Posting=function(){function e(){var t=this;r(this,e),this.close=function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout(function(){u["default"].render(i["default"].createElement("div",null),document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1},300))}}return o(e,[{key:"init",value:function(e,t,a){this._ajax=e,this._snackbar=t,this._placeholder=$(a),this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(this._isOpen===!1)this._isOpen=e.config,this._realOpen(e);else if(this._isOpen!==e.config){var t=confirm(gettext("You are already working on other message. Do you want to discard it?"));t&&(this._isOpen=e.config,this._realOpen(e))}}},{key:"_realOpen",value:function(e){(0,p["default"])(i["default"].createElement(d["default"],e),"posting-mount"),this._placeholder.addClass("slide-in")}}]),e}();a["default"]=new h},{"../components/posting":81,"../utils/mount-component":223,react:"react","react-dom":"react-dom"}],214:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var r=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}}(),o=e("../reducers/snackbar"),s=300,i=5e3,l=a.Snackbar=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var a=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,o.hideSnackbar)()),this._timeout=window.setTimeout(function(){a._timeout=null,a.alert(e,t)},s)):(this._store.dispatch((0,o.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){a._store.dispatch((0,o.hideSnackbar)()),a._timeout=null},i))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();a["default"]=new l},{"../reducers/snackbar":198}],215:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.StoreWrapper=void 0;var r=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}}(),o=e("redux"),s=a.StoreWrapper=function(){function e(){n(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,a){this._reducers[e]=t,this._initialState[e]=a}},{key:"init",value:function(){this._store=(0,o.createStore)((0,o.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();a["default"]=new s},{redux:"redux"}],216:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=a.Zxcvbn=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._include=e}},{key:"scorePassword",value:function(e,t){return zxcvbn(e,t).score}},{key:"load",value:function(){return"undefined"==typeof zxcvbn?(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise()):this._loadedPromise()}},{key:"_loadingPromise",value:function(){return new Promise(function(e){var t=function a(){"undefined"==typeof zxcvbn?window.setTimeout(function(){a()},200):e()};t()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();a["default"]=new o},{}],217:[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,t){if(u["default"].render(i["default"].createElement(c.Provider,{store:b["default"].getStore()},i["default"].createElement(y,{message:e.message,expires:e.expires_on?(0,o["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var a=h["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+a,window.history.pushState({},"",h["default"].get("BANNED_URL"))}};var r=e("moment"),o=n(r),s=e("react"),i=n(s),l=e("react-dom"),u=n(l),c=e("react-redux"),d=e("../components/banned-page"),f=n(d),p=e("../index"),h=n(p),m=e("../services/store"),b=n(m),g=function(e){return e.tick},y=(0,c.connect)(g)(f["default"])},{"../components/banned-page":43,"../index":192,"../services/store":215,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],218:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],n=[],r=[];if(e.forEach(function(e){r.push(e),r.length===t&&(n.push(r),r=[])}),a!==!1&&r.length>0&&r.length<t)for(var o=r.length;t>o;o++)r.push(a);return r.length&&n.push(r),n}},{}],219:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=[];return e.concat(t).filter(function(e){return-1===a.indexOf(e.id)?(a.push(e.id),!0):!1})}},{}],220:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=function(){function e(t,a){n(this,e),this._callback=t,this._count=a}return r(e,[{key:"count",value:function(){this._count-=1,0===this._count&&this._callback()}}]),e}();a["default"]=o},{}],221:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.replace(/[&<>"']/g,function(e){return n[e]})};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}},{}],222:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e>1e9?Math.round(100*e/1e9)/100+" GB":e>1e6?Math.round(100*e/1e6)/100+" MB":e>1e3?Math.round(100*e/1e3)/100+" KB":Math.round(100*e)/100+" B"}},{}],223:[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,t){var a=arguments.length<=2||void 0===arguments[2]?!0:arguments[2],n=document.getElementById(t),r=e.props?e:o["default"].createElement(e,null);n&&(a?i["default"].render(o["default"].createElement(l.Provider,{store:c["default"].getStore()},r),n):i["default"].render(r,n))};var r=e("react"),o=n(r),s=e("react-dom"),i=n(s),l=e("react-redux"),u=e("../services/store"),c=n(u)},{"../services/store":215,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],224:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=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}}(),o=function(){function e(t){n(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,a){this._items.push({key:e,item:t,after:a?a.after||null:null,before:a?a.before||null:null})}},{key:"get",value:function(e,t){for(var a=0;a<this._items.length;a++)if(this._items[a].key===e)return this._items[a].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;-1===r.indexOf(e.key)&&(e.after?(t=r.indexOf(e.after),-1!==t&&(t+=1)):e.before&&(t=r.indexOf(e.before)),-1!==t&&(n.splice(t,0,e),r.splice(t,0,e.key)))}var a=[];e.forEach(function(e){a.push(e.key)});var n=[],r=[];e.forEach(function(e){e.after||e.before||(n.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(n.push(e),r.push(e.key))});for(var o=200;o>0&&a.length!==r.length;)o-=1,e.forEach(t);return n}}]),e}();a["default"]=o},{}],225:[function(e,t,a){"use strict";function n(e,t){return Math.floor(Math.random()*(t-e+1))+e}function r(e,t){for(var a=new Array(n(e,t)),r=0;r<a.length;r++)a[r]=r;
+return a}Object.defineProperty(a,"__esModule",{value:!0}),a["int"]=n,a.range=r},{}],226:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){window.scrollTo(0,0)}},{}],227:[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={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,a){a(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,i["default"].render(o["default"].createElement(l.Provider,{store:d["default"].getStore()},o["default"].createElement(u.Router,{routes:t,history:u.browserHistory})),f)};var r=e("react"),o=n(r),s=e("react-dom"),i=n(s),l=e("react-redux"),u=e("react-router"),c=e("../services/store"),d=n(c),f=document.getElementById("page-mount")},{"../services/store":215,react:"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router"}],228:[function(e,t,a){"use strict";function n(e,t){if(-1===e.indexOf(t)){var a=e.slice();return a.push(t),a}return e}function r(e,t){return e.indexOf(t)>=0?e.filter(function(e){return e!==t}):e}function o(e,t){if(-1===e.indexOf(t)){var a=e.slice();return a.push(t),a}return e.filter(function(e){return e!==t})}Object.defineProperty(a,"__esModule",{value:!0}),a.push=n,a.remove=r,a.toggle=o},{}],229:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(e=(e+"").toLowerCase(),t=(t+"").toLowerCase(),t.length<=0)return 0;for(var a=0,n=0,r=t.length;;){if(n=e.indexOf(t,n),!(n>=0))break;a+=1,n+=r}return a}},{}],230:[function(e,t,a){"use strict";function n(){return function(e){return 0===$.trim(e).length?gettext("This field is required."):void 0}}function r(e){return function(t){return d.test(t)?void 0:e||gettext("Enter a valid email address.")}}function o(e,t){return function(a){var n="",r=$.trim(a).length;return e>r?(n=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)):void 0}}function s(e,t){return function(a){var n="",r=$.trim(a).length;return r>e?(n=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)):void 0}}function i(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return this.minLength(e.username_length_min,t)}function l(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return this.maxLength(e.username_length_max,t)}function u(){return function(e){return f.test($.trim(e))?void 0:gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){var t=function(e){return ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e)};return this.minLength(e.password_length_min,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.required=n,a.email=r,a.minLength=o,a.maxLength=s,a.usernameMinLength=i,a.usernameMaxLength=l,a.usernameContent=u,a.passwordMinLength=c;var d=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,f=new RegExp("^[0-9a-z]+$","i")},{}]},{},[1,2,3,4,18,19,20,21,22,23,24,25,37,38,39,40,5,6,7,8,9,10,11,12,13,14,15,16,17,26,27,28,29,30,31,32,33,34,35,36]);
 //# sourceMappingURL=misago.js.map

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


+ 11 - 2
misago/templates/misago/thread/posts/event/index.html

@@ -4,7 +4,9 @@
 
     <div class="post-avatar">
       <span class="material-icon">
-        {% if post.event_type == 'pinned_globally' %}
+        {% if post.event_type == 'changed_title' %}
+          edit
+        {% elif post.event_type == 'pinned_globally' %}
           bookmark
         {% elif post.event_type == 'pinned_locally' %}
           bookmark_border
@@ -30,7 +32,14 @@
 
     <div class="post-body">
       <p class="event-message">
-        {% if post.event_type == 'pinned_globally' %}
+        {% if post.event_type == 'changed_title' %}
+          {% capture trimmed as from_title %}
+            <span class="item-title">{{ post.event_context.from_title }}</span>
+          {% endcapture %}
+          {% blocktrans trimmed with old_title=old_title|safe %}
+            Thread title has been changed from {{ old_title }}.
+          {% endblocktrans %}
+        {% elif post.event_type == 'pinned_globally' %}
           {% trans "Thread has been pinned globally." %}
         {% elif post.event_type == 'pinned_locally' %}
           {% trans "Thread has been pinned locally." %}

+ 63 - 10
misago/threads/api/threadendpoints/patch.py

@@ -1,4 +1,5 @@
-from django.core.exceptions import PermissionDenied
+from django.core.exceptions import PermissionDenied, ValidationError
+from django.utils import six
 from django.utils.translation import gettext as _
 
 from misago.acl import add_acl
@@ -11,9 +12,29 @@ from misago.core.shortcuts import get_int_or_404, get_object_or_404
 from ...moderation import threads as moderation
 from ...permissions import allow_start_thread
 from ...utils import add_categories_to_threads
+from ...validators import validate_title
 
 
-thread_patch_endpoint = ApiPatch()
+thread_patch_dispatcher = ApiPatch()
+
+
+def patch_title(request, thread, value):
+    try:
+        value_cleaned = six.text_type(value).strip()
+    except (TypeError, ValueError):
+        raise PermissionDenied(_("Invalid thread title."))
+
+    try:
+        validate_title(value_cleaned)
+    except ValidationError as e:
+        raise PermissionDenied(e.args[0])
+
+    if not thread.acl.get('can_edit'):
+        raise PermissionDenied(_("You don't have permission to edit this thread."))
+
+    moderation.change_thread_title(request, thread, value_cleaned)
+    return {'title': thread.title}
+thread_patch_dispatcher.replace('title', patch_title)
 
 
 def patch_weight(request, thread, value):
@@ -34,7 +55,7 @@ def patch_weight(request, thread, value):
         moderation.unpin_thread(request, thread)
 
     return {'weight': thread.weight}
-thread_patch_endpoint.replace('weight', patch_weight)
+thread_patch_dispatcher.replace('weight', patch_weight)
 
 
 def patch_move(request, thread, value):
@@ -55,7 +76,7 @@ def patch_move(request, thread, value):
         return {'category': CategorySerializer(new_category).data}
     else:
         raise PermissionDenied(_("You don't have permission to move this thread."))
-thread_patch_endpoint.replace('category', patch_move)
+thread_patch_dispatcher.replace('category', patch_move)
 
 
 def patch_top_category(request, thread, value):
@@ -70,7 +91,7 @@ def patch_top_category(request, thread, value):
     ))
     add_categories_to_threads(root_category, categories, [thread])
     return {'top_category': CategorySerializer(thread.top_category).data}
-thread_patch_endpoint.add('top-category', patch_top_category)
+thread_patch_dispatcher.add('top-category', patch_top_category)
 
 
 def patch_flatten_categories(request, thread, value):
@@ -84,7 +105,7 @@ def patch_flatten_categories(request, thread, value):
             'category': thread.category_id,
             'top_category': None
         }
-thread_patch_endpoint.replace('flatten-categories', patch_flatten_categories)
+thread_patch_dispatcher.replace('flatten-categories', patch_flatten_categories)
 
 
 def patch_is_unapproved(request, thread, value):
@@ -100,7 +121,7 @@ def patch_is_unapproved(request, thread, value):
         }
     else:
         raise PermissionDenied(_("You don't have permission to approve this thread."))
-thread_patch_endpoint.replace('is-unapproved', patch_is_unapproved)
+thread_patch_dispatcher.replace('is-unapproved', patch_is_unapproved)
 
 
 def patch_is_closed(request, thread, value):
@@ -116,7 +137,7 @@ def patch_is_closed(request, thread, value):
             raise PermissionDenied(_("You don't have permission to close this thread."))
         else:
             raise PermissionDenied(_("You don't have permission to open this thread."))
-thread_patch_endpoint.replace('is-closed', patch_is_closed)
+thread_patch_dispatcher.replace('is-closed', patch_is_closed)
 
 
 def patch_is_hidden(request, thread, value):
@@ -129,7 +150,7 @@ def patch_is_hidden(request, thread, value):
         return {'is_hidden': thread.is_hidden}
     else:
         raise PermissionDenied(_("You don't have permission to hide this thread."))
-thread_patch_endpoint.replace('is-hidden', patch_is_hidden)
+thread_patch_dispatcher.replace('is-hidden', patch_is_hidden)
 
 
 def patch_subscribtion(request, thread, value):
@@ -155,4 +176,36 @@ def patch_subscribtion(request, thread, value):
         return {'subscription': True}
     else:
         return {'subscription': None}
-thread_patch_endpoint.replace('subscription', patch_subscribtion)
+thread_patch_dispatcher.replace('subscription', patch_subscribtion)
+
+
+def thread_patch_endpoint(request, thread):
+    old_title = thread.title
+    old_is_hidden = thread.is_hidden
+    old_is_unapproved = thread.is_unapproved
+    old_category = thread.category
+
+    response = thread_patch_dispatcher.dispatch(request, thread)
+
+    # diff thread's state against pre-patch and resync category if necessary
+    hidden_changed = old_is_hidden != thread.is_hidden
+    unapproved_changed = old_is_unapproved != thread.is_unapproved
+    category_changed = old_category != thread.category
+
+    title_changed = old_is_hidden != thread.is_hidden
+    if thread.category.last_thread_id != thread.pk:
+        title_changed = False # don't trigger resync on simple title change
+
+    if hidden_changed or unapproved_changed or category_changed:
+        thread.category.synchronize()
+        thread.category.save()
+
+        if category_changed:
+            old_category.synchronize()
+            old_category.save()
+    elif title_changed:
+        thread.category.last_thread_title = thread.title
+        thread.category.last_thread_slug = thread.slug
+        thread.category.save(update_fields=['last_thread_title', 'last_thread_slug'])
+
+    return response

+ 1 - 22
misago/threads/api/threads.py

@@ -40,28 +40,7 @@ class ViewSet(viewsets.ViewSet):
 
     def partial_update(self, request, pk):
         thread = self.get_thread(request, pk).thread
-
-        old_is_hidden = thread.is_hidden
-        old_is_unapproved = thread.is_unapproved
-        old_category = thread.category
-
-        response = thread_patch_endpoint.dispatch(request, thread)
-
-        # diff thread's state against pre-patch and resync category if necessary
-        hidden_changed = old_is_hidden != thread.is_hidden
-        unapproved_changed = old_is_unapproved != thread.is_unapproved
-        category_changed = old_category != thread.category
-
-        if hidden_changed or unapproved_changed or category_changed:
-            thread.category.synchronize()
-            thread.category.save()
-
-            if category_changed:
-                old_category.synchronize()
-                old_category.save()
-
-        # return response
-        return response
+        return thread_patch_endpoint(request, thread)
 
     def destroy(self, request, pk):
         thread = self.get_thread(request, pk).thread

+ 15 - 0
misago/threads/moderation/threads.py

@@ -6,6 +6,21 @@ from ..events import record_event
 
 
 @atomic
+def change_thread_title(request, thread, new_title):
+    if thread.title != new_title:
+        old_title = thread.title
+        thread.set_title(new_title)
+        thread.save(update_fields=['title', 'slug'])
+
+        record_event(request, thread, 'changed_title', {
+            'old_title': old_title
+        })
+        return True
+    else:
+        return False
+
+
+@atomic
 def pin_thread_globally(request, thread):
     if thread.weight != 2:
         thread.weight = 2

+ 49 - 0
misago/threads/tests/test_thread_patch_api.py

@@ -9,6 +9,55 @@ from misago.categories.models import Category
 from .test_threads_api import ThreadsApiTestCase
 
 
+class ThreadChangeTitleApiTests(ThreadsApiTestCase):
+    def test_change_thread_title(self):
+        """api makes it possible to change thread title"""
+        self.override_acl({
+            'can_edit_threads': 2
+        })
+
+        response = self.client.patch(self.api_link, json.dumps([
+            {'op': 'replace', 'path': 'title', 'value': "Lorem ipsum change!"}
+        ]),
+        content_type="application/json")
+        self.assertEqual(response.status_code, 200)
+
+        thread_json = self.get_thread_json()
+        self.assertEqual(thread_json['title'], "Lorem ipsum change!")
+
+    def test_change_thread_title_no_permission(self):
+        """api validates permission to change title"""
+        self.override_acl({
+            'can_edit_threads': 0
+        })
+
+        response = self.client.patch(self.api_link, json.dumps([
+            {'op': 'replace', 'path': 'title', 'value': "Lorem ipsum change!"}
+        ]),
+        content_type="application/json")
+        self.assertEqual(response.status_code, 400)
+
+        response_json = json.loads(smart_str(response.content))
+        self.assertEqual(response_json['detail'][0],
+            "You don't have permission to edit this thread.")
+
+    def test_change_thread_title_invalid(self):
+        """api cleans, validates and rejects too short title"""
+        self.override_acl({
+            'can_edit_threads': 2
+        })
+
+        response = self.client.patch(self.api_link, json.dumps([
+            {'op': 'replace', 'path': 'title', 'value': 12}
+        ]),
+        content_type="application/json")
+        self.assertEqual(response.status_code, 400)
+
+        response_json = json.loads(smart_str(response.content))
+        self.assertEqual(response_json['detail'][0],
+            "Thread title should be at least 5 characters long (it has 2).")
+
+
 class ThreadPinGloballyApiTests(ThreadsApiTestCase):
     def test_pin_thread(self):
         """api makes it possible to pin globally thread"""

+ 13 - 0
misago/threads/tests/test_threads_moderation.py

@@ -25,6 +25,19 @@ class ThreadsModerationTests(AuthenticatedUserTestCase):
     def reload_thread(self):
         self.thread = Thread.objects.get(pk=self.thread.pk)
 
+    def test_change_thread_title(self):
+        """change_thread_title changes thread's title and slug"""
+        self.assertTrue(moderation.change_thread_title(self.request, self.thread, "New title is here!"))
+
+        self.reload_thread()
+        self.assertEqual(self.thread.title, "New title is here!")
+        self.assertEqual(self.thread.slug, 'new-title-is-here')
+
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'changed_title')
+
     def test_pin_globally_thread(self):
         """pin_thread_globally makes thread pinned globally"""
         self.assertEqual(self.thread.weight, 0)

+ 13 - 0
misago/threads/tests/test_threadview.py

@@ -297,6 +297,19 @@ class ThreadEventVisibilityTests(ThreadViewTestCase):
             self.assertContains(response, message)
             self.assertContains(response, "Hidden by")
 
+    def test_changed_thread_title_event_renders(self):
+        """changed thread title event renders"""
+        threads_moderation.change_thread_title(MockRequest(self.user), self.thread, "Lorem renamed ipsum!")
+
+        event = self.thread.post_set.filter(is_event=True)[0]
+        self.assertEqual(event.event_type, 'changed_title')
+
+        # event renders
+        response = self.client.get(self.thread.get_absolute_url())
+        self.assertContains(response, event.get_absolute_url())
+        self.assertContains(response, "title has been changed from")
+        self.assertContains(response, self.thread.title)
+
     def test_thread_move_event_renders(self):
         """moved thread event renders"""
         self.thread.category = self.thread.category.parent

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