banned-page.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import moment from 'moment'; // jshint ignore:line
  2. import React from 'react'; // jshint ignore:line
  3. import ReactDOM from 'react-dom';
  4. import { Provider, connect } from 'react-redux'; // jshint ignore:line
  5. import BannedPage from 'misago/components/banned-page'; // jshint ignore:line
  6. import misago from 'misago/index';
  7. import store from 'misago/services/store'; // jshint ignore:line
  8. /* jshint ignore:start */
  9. let select = function(state) {
  10. return state.tick;
  11. };
  12. let RedrawedBannedPage = connect(select)(BannedPage);
  13. /* jshint ignore:end */
  14. export default function(ban, changeState) {
  15. ReactDOM.unmountComponentAtNode(document.getElementById('page-mount'));
  16. ReactDOM.render(
  17. /* jshint ignore:start */
  18. <Provider store={store.getStore()}>
  19. <RedrawedBannedPage message={ban.message}
  20. expires={ban.expires_on ? moment(ban.expires_on) : null} />
  21. </Provider>,
  22. /* jshint ignore:end */
  23. document.getElementById('page-mount')
  24. );
  25. if (typeof changeState === 'undefined' || !changeState) {
  26. let forumName = misago.get('SETTINGS').forum_name;
  27. document.title = gettext("You are banned") + ' | ' + forumName;
  28. window.history.pushState({}, "", misago.get('BANNED_URL'));
  29. }
  30. }