You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.7 KiB

  1. import ColumnsArea from './components/columns_area';
  2. import Column from './components/column';
  3. import Drawer from './components/drawer';
  4. import ComposeFormContainer from './containers/compose_form_container';
  5. import FollowFormContainer from './containers/follow_form_container';
  6. import UploadFormContainer from './containers/upload_form_container';
  7. import StatusListContainer from './containers/status_list_container';
  8. import NotificationsContainer from './containers/notifications_container';
  9. import NavigationContainer from './containers/navigation_container';
  10. import PureRenderMixin from 'react-addons-pure-render-mixin';
  11. import LoadingBarContainer from './containers/loading_bar_container';
  12. const UI = React.createClass({
  13. propTypes: {
  14. router: React.PropTypes.object
  15. },
  16. mixins: [PureRenderMixin],
  17. render () {
  18. return (
  19. <div style={{ flex: '0 0 auto', display: 'flex', width: '100%', height: '100%', background: '#1a1c23' }}>
  20. <Drawer>
  21. <div style={{ flex: '1 1 auto' }}>
  22. <NavigationContainer />
  23. <ComposeFormContainer />
  24. <UploadFormContainer />
  25. </div>
  26. <FollowFormContainer />
  27. </Drawer>
  28. <ColumnsArea>
  29. <Column icon='home' heading='Home'>
  30. <StatusListContainer type='home' />
  31. </Column>
  32. <Column icon='at' heading='Mentions'>
  33. <StatusListContainer type='mentions' />
  34. </Column>
  35. {this.props.children}
  36. </ColumnsArea>
  37. <NotificationsContainer />
  38. <LoadingBarContainer style={{ backgroundColor: '#2b90d9', left: '0', top: '0' }} />
  39. </div>
  40. );
  41. }
  42. });
  43. export default UI;