catstodon/app/assets/javascripts/components/features/ui/index.jsx

48 lines
1.6 KiB
React
Raw Normal View History

import ColumnsArea from './components/columns_area';
import NotificationsContainer from './containers/notifications_container';
import PureRenderMixin from 'react-addons-pure-render-mixin';
2016-09-20 01:53:30 +02:00
import LoadingBarContainer from './containers/loading_bar_container';
import HomeTimeline from '../home_timeline';
import MentionsTimeline from '../mentions_timeline';
import Compose from '../compose';
import MediaQuery from 'react-responsive';
import TabsBar from './components/tabs_bar';
2016-10-24 18:07:40 +02:00
import ModalContainer from './containers/modal_container';
const UI = React.createClass({
mixins: [PureRenderMixin],
render () {
const layoutBreakpoint = 1024;
return (
<div style={{ flex: '0 0 auto', display: 'flex', flexDirection: 'column', width: '100%', height: '100%', background: '#1a1c23' }}>
<MediaQuery maxWidth={layoutBreakpoint}>
<TabsBar />
</MediaQuery>
<MediaQuery maxWidth={layoutBreakpoint} component={ColumnsArea}>
2016-10-07 16:00:11 +02:00
{this.props.children}
</MediaQuery>
<MediaQuery minWidth={layoutBreakpoint}>
<ColumnsArea>
<Compose />
<HomeTimeline trackScroll={false} />
<MentionsTimeline trackScroll={false} />
{this.props.children}
</ColumnsArea>
</MediaQuery>
<NotificationsContainer />
2016-09-20 01:53:30 +02:00
<LoadingBarContainer style={{ backgroundColor: '#2b90d9', left: '0', top: '0' }} />
2016-10-24 18:07:40 +02:00
<ModalContainer />
</div>
);
}
});
export default UI;