about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJessica Stokes <hello@jessicastokes.net>2017-04-11 00:27:30 +1000
committerEugen <eugen@zeonfederated.com>2017-04-10 16:27:30 +0200
commitdb7c7d1af154a17808f3379a357c511b669be51c (patch)
treea5403258a23c41b7cf80fffcaf3192276fefc710
parent42fb4faa0f3bb4c6c4c7675a2ffb0b3bd86ae960 (diff)
Improve scrolling behaviour (#1415)
* Replace column margin with padding

This improves horizontal scrolling behaviour significantly; scrolled flex elements are... a little weird.

* Move clear column button styling to css
-rw-r--r--app/assets/javascripts/components/features/notifications/components/clear_column_button.jsx12
-rw-r--r--app/assets/stylesheets/components.scss141
2 files changed, 78 insertions, 75 deletions
diff --git a/app/assets/javascripts/components/features/notifications/components/clear_column_button.jsx b/app/assets/javascripts/components/features/notifications/components/clear_column_button.jsx
index 71877fb2b..debbfd01f 100644
--- a/app/assets/javascripts/components/features/notifications/components/clear_column_button.jsx
+++ b/app/assets/javascripts/components/features/notifications/components/clear_column_button.jsx
@@ -4,16 +4,6 @@ const messages = defineMessages({
   clear: { id: 'notifications.clear', defaultMessage: 'Clear notifications' }
 });
 
-const iconStyle = {
-  fontSize: '16px',
-  padding: '15px',
-  position: 'absolute',
-  right: '48px',
-  top: '0',
-  cursor: 'pointer',
-  zIndex: '2'
-};
-
 const ClearColumnButton = React.createClass({
 
   propTypes: {
@@ -25,7 +15,7 @@ const ClearColumnButton = React.createClass({
     const { intl } = this.props;
 
     return (
-      <div title={intl.formatMessage(messages.clear)} className='column-icon' tabIndex='0' style={iconStyle} onClick={this.props.onClick}>
+      <div title={intl.formatMessage(messages.clear)} className='column-icon column-icon-clear' tabIndex='0' onClick={this.props.onClick}>
         <i className='fa fa-eraser' />
       </div>
     );
diff --git a/app/assets/stylesheets/components.scss b/app/assets/stylesheets/components.scss
index f10fc6902..8775ce6fd 100644
--- a/app/assets/stylesheets/components.scss
+++ b/app/assets/stylesheets/components.scss
@@ -49,6 +49,22 @@
   }
 }
 
+.column-icon-clear {
+  font-size: 16px;
+  padding: 15px;
+  position: absolute;
+  right: 48px;
+  top: 0;
+  cursor: pointer;
+  z-index: 2;
+}
+
+@media screen and (min-width: 1024px) {
+  .column-icon-clear {
+    top: 10px;
+  }
+}
+
 .icon-button {
   display: inline-block;
   padding: 0;
@@ -714,15 +730,7 @@ a.status__content__spoiler-link {
 
 @media screen and (min-width: 360px) {
   .columns-area {
-    margin: 0;
-  }
-
-  .column:first-child, .drawer:first-child {
-    margin-left: 0;
-  }
-
-  .column:last-child, .drawer:last-child {
-    margin-right: 0;
+    padding: 10px;
   }
 }
 
@@ -730,9 +738,12 @@ a.status__content__spoiler-link {
   width: 330px;
   position: relative;
   box-sizing: border-box;
-  background: $color1;
   display: flex;
   flex-direction: column;
+
+  > .scrollable {
+    background: $color1;
+  }
 }
 
 .ui {
@@ -764,6 +775,58 @@ a.status__content__spoiler-link {
   border-bottom: 2px solid transparent;
 }
 
+.column, .drawer {
+  flex: 1 1 100%;
+  overflow: hidden;
+}
+
+@media screen and (min-width: 360px) {
+  .tabs-bar {
+    margin: 10px;
+    margin-bottom: 0;
+  }
+
+  .search {
+    margin-bottom: 10px;
+  }
+}
+
+@media screen and (max-width: 1024px) {
+  .column, .drawer {
+    width: 100%;
+    padding: 0;
+  }
+
+  .columns-area {
+    flex-direction: column;
+  }
+
+  .search__input, .autosuggest-textarea__textarea {
+    font-size: 16px;
+  }
+}
+
+@media screen and (min-width: 1024px) {
+  .columns-area {
+    padding: 0;
+  }
+
+  .column, .drawer {
+    flex: 0 0 auto;
+    padding: 10px;
+    padding-left: 5px;
+    padding-right: 5px;
+
+    &:first-child {
+      padding-left: 10px;
+    }
+
+    &:last-child {
+      padding-right: 10px;
+    }
+  }
+}
+
 @media screen and (min-width: 2560px) {
   .columns-area {
     justify-content: center;
@@ -823,38 +886,6 @@ a.status__content__spoiler-link {
   }
 }
 
-.column, .drawer {
-  margin: 10px;
-  margin-left: 5px;
-  margin-right: 5px;
-  flex: 0 0 auto;
-  overflow: hidden;
-}
-
-.column:first-child, .drawer:first-child {
-  margin-left: 10px;
-}
-
-.column:last-child, .drawer:last-child {
-  margin-right: 10px;
-}
-
-@media screen and (max-width: 1024px) {
-  .column, .drawer {
-    width: 100%;
-    margin: 0;
-    flex: 1 1 100%;
-  }
-
-  .columns-area {
-    flex-direction: column;
-  }
-
-  .search__input, .autosuggest-textarea__textarea {
-    font-size: 16px;
-  }
-}
-
 .tabs-bar {
   display: flex;
   background: lighten($color1, 8%);
@@ -895,27 +926,6 @@ a.status__content__spoiler-link {
   }
 }
 
-@media screen and (min-width: 360px) {
-  .columns-area {
-    margin: 10px;
-  }
-
-  .tabs-bar {
-    margin: 10px;
-    margin-bottom: 0;
-  }
-
-  .search {
-    margin-bottom: 10px;
-  }
-}
-
-@media screen and (min-width: 1024px) {
-  .columns-area {
-    margin: 0;
-  }
-}
-
 @media screen and (min-width: 600px) {
   .tabs-bar__link {
     span {
@@ -1379,12 +1389,15 @@ button.active i.fa-retweet {
 
 .empty-column-indicator {
   color: lighten($color1, 20%);
+  background: $color1;
   text-align: center;
   padding: 20px;
-  padding-top: 100px;
   font-size: 15px;
   font-weight: 400;
   cursor: default;
+  display: flex;
+  flex: 1 1 auto;
+  align-items: center;
 
   a {
     color: $color4;