root.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import React from 'react'; // jshint ignore:line
  2. import { connect } from 'react-redux';
  3. import DropdownToggle from 'misago/components/dropdown-toggle'; // jshint ignore:line
  4. import { SideNav, CompactNav } from 'misago/components/options/navs'; // jshint ignore:line
  5. import ChangeForumOptions from 'misago/components/options/forum-options';
  6. import ChangeUsername from 'misago/components/options/change-username/root';
  7. import ChangeSignInCredentials from 'misago/components/options/sign-in-credentials/root';
  8. import WithDropdown from 'misago/components/with-dropdown';
  9. import misago from 'misago/index';
  10. export default class extends WithDropdown {
  11. render() {
  12. /* jshint ignore:start */
  13. return <div className="page page-options">
  14. <div className="page-header">
  15. <div className="container">
  16. <h1 className="pull-left">{gettext("Change your options")}</h1>
  17. <DropdownToggle toggleNav={this.toggleNav}
  18. dropdown={this.state.dropdown} />
  19. </div>
  20. </div>
  21. <div className={this.getCompactNavClassName()}>
  22. <CompactNav options={misago.get('USER_OPTIONS')}
  23. baseUrl={misago.get('USERCP_URL')}
  24. hideNav={this.hideNav} />
  25. </div>
  26. <div className="container">
  27. <div className="row">
  28. <div className="col-md-3 hidden-xs hidden-sm">
  29. <SideNav options={misago.get('USER_OPTIONS')}
  30. baseUrl={misago.get('USERCP_URL')} />
  31. </div>
  32. <div className="col-md-9">
  33. {this.props.children}
  34. </div>
  35. </div>
  36. </div>
  37. </div>;
  38. /* jshint ignore:end */
  39. }
  40. }
  41. export function select(store) {
  42. return {
  43. 'tick': store.tick.tick,
  44. 'user': store.auth.user,
  45. 'username-history': store['username-history']
  46. };
  47. }
  48. export function paths() {
  49. return [
  50. {
  51. path: misago.get('USERCP_URL') + 'forum-options/',
  52. component: connect(select)(ChangeForumOptions)
  53. },
  54. {
  55. path: misago.get('USERCP_URL') + 'change-username/',
  56. component: connect(select)(ChangeUsername)
  57. },
  58. {
  59. path: misago.get('USERCP_URL') + 'sign-in-credentials/',
  60. component: connect(select)(ChangeSignInCredentials)
  61. }
  62. ];
  63. }