import ColumnsArea from './components/columns_area'; import NotificationsContainer from './containers/notifications_container'; import PureRenderMixin from 'react-addons-pure-render-mixin'; import LoadingBarContainer from './containers/loading_bar_container'; import HomeTimeline from '../home_timeline'; import MentionsTimeline from '../mentions_timeline'; import Compose from '../compose'; import TabsBar from './components/tabs_bar'; import ModalContainer from './containers/modal_container'; import Notifications from '../notifications'; import { debounce } from 'react-decoration'; const UI = React.createClass({ getInitialState () { return { width: window.innerWidth }; }, mixins: [PureRenderMixin], @debounce(500) handleResize () { this.setState({ width: window.innerWidth }); }, componentWillMount () { window.addEventListener('resize', this.handleResize, { passive: true }); }, componentWillUnmount () { window.removeEventListener('resize', this.handleResize); }, render () { const layoutBreakpoint = 1024; let mountedColumns; if (this.state.width <= layoutBreakpoint) { mountedColumns = ( {this.props.children} ); } else { mountedColumns = ( {this.props.children} ); } return (
{mountedColumns}
); } }); export default UI;