about summary refs log tree commit diff
path: root/app/assets
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-11-21 10:03:55 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-11-21 10:03:55 +0100
commite616ffc5d60acafb67dadf90e396226d408d0cda (patch)
tree1be2e4094a5b29663f599f379c1bf9d2808acb51 /app/assets
parent29b12f9e0abb5031b368f2815d6408705e0498c6 (diff)
Fix responsive layout breakpoint, replace mentions column with notifications
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/components/features/notifications/index.jsx39
-rw-r--r--app/assets/javascripts/components/features/ui/components/tabs_bar.jsx2
-rw-r--r--app/assets/javascripts/components/features/ui/index.jsx23
3 files changed, 39 insertions, 25 deletions
diff --git a/app/assets/javascripts/components/features/notifications/index.jsx b/app/assets/javascripts/components/features/notifications/index.jsx
index 9c8b07dea..00feeece7 100644
--- a/app/assets/javascripts/components/features/notifications/index.jsx
+++ b/app/assets/javascripts/components/features/notifications/index.jsx
@@ -22,7 +22,8 @@ const Notifications = React.createClass({
 
   propTypes: {
     notifications: ImmutablePropTypes.list.isRequired,
-    dispatch: React.PropTypes.func.isRequired
+    dispatch: React.PropTypes.func.isRequired,
+    trackScroll: React.PropTypes.bool
   },
 
   mixins: [PureRenderMixin],
@@ -41,19 +42,31 @@ const Notifications = React.createClass({
   },
 
   render () {
-    const { intl, notifications } = this.props;
-
-    return (
-      <Column icon='bell' heading={intl.formatMessage(messages.title)}>
-        <ScrollContainer scrollKey='notifications'>
-          <div className='scrollable' onScroll={this.handleScroll}>
-            <div>
-              {notifications.map(item => <NotificationContainer key={item.get('id')} notification={item} accountId={item.get('account')} />)}
-            </div>
-          </div>
-        </ScrollContainer>
-      </Column>
+    const { intl, notifications, trackScroll } = this.props;
+
+    const scrollableArea = (
+      <div className='scrollable' onScroll={this.handleScroll}>
+        <div>
+          {notifications.map(item => <NotificationContainer key={item.get('id')} notification={item} accountId={item.get('account')} />)}
+        </div>
+      </div>
     );
+
+    if (trackScroll) {
+      return (
+        <Column icon='bell' heading={intl.formatMessage(messages.title)}>
+          <ScrollContainer scrollKey='notifications'>
+            {scrollableArea}
+          </ScrollContainer>
+        </Column>
+      );
+    } else {
+      return (
+        <Column icon='bell' heading={intl.formatMessage(messages.title)}>
+          {scrollableArea}
+        </Column>
+      );
+    }
   }
 
 });
diff --git a/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx b/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx
index 8313d8826..868ebe00a 100644
--- a/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx
+++ b/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx
@@ -31,7 +31,7 @@ const TabsBar = () => {
     <div style={outerStyle}>
       <Link style={tabStyle} activeStyle={tabActiveStyle} to='/statuses/new'><i className='fa fa-fw fa-pencil' /> <FormattedMessage id='tabs_bar.compose' defaultMessage='Compose' /></Link>
       <Link style={tabStyle} activeStyle={tabActiveStyle} to='/timelines/home'><i className='fa fa-fw fa-home' /> <FormattedMessage id='tabs_bar.home' defaultMessage='Home' /></Link>
-      <Link style={tabStyle} activeStyle={tabActiveStyle} to='/timelines/mentions'><i className='fa fa-fw fa-at' /> <FormattedMessage id='tabs_bar.mentions' defaultMessage='Mentions' /></Link>
+      <Link style={tabStyle} activeStyle={tabActiveStyle} to='/notifications'><i className='fa fa-fw fa-bell' /> <FormattedMessage id='tabs_bar.notifications' defaultMessage='Notifications' /></Link>
       <Link style={tabStyle} activeStyle={tabActiveStyle} to='/timelines/public'><i className='fa fa-fw fa-globe' /> <FormattedMessage id='tabs_bar.public' defaultMessage='Public' /></Link>
     </div>
   );
diff --git a/app/assets/javascripts/components/features/ui/index.jsx b/app/assets/javascripts/components/features/ui/index.jsx
index 655b1e2ee..9b5469bbd 100644
--- a/app/assets/javascripts/components/features/ui/index.jsx
+++ b/app/assets/javascripts/components/features/ui/index.jsx
@@ -1,13 +1,14 @@
-import ColumnsArea            from './components/columns_area';
+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 MediaQuery             from 'react-responsive';
-import TabsBar                from './components/tabs_bar';
-import ModalContainer         from './containers/modal_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 MediaQuery from 'react-responsive';
+import TabsBar from './components/tabs_bar';
+import ModalContainer from './containers/modal_container';
+import Notifications from '../notifications';
 
 const UI = React.createClass({
 
@@ -26,11 +27,11 @@ const UI = React.createClass({
           {this.props.children}
         </MediaQuery>
 
-        <MediaQuery minWidth={layoutBreakpoint}>
+        <MediaQuery minWidth={layoutBreakpoint + 1}>
           <ColumnsArea>
             <Compose />
             <HomeTimeline trackScroll={false} />
-            <MentionsTimeline trackScroll={false} />
+            <Notifications trackScroll={false} />
             {this.props.children}
           </ColumnsArea>
         </MediaQuery>