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
This commit is contained in:
		
							parent
							
								
									42fb4faa0f
								
							
						
					
					
						commit
						db7c7d1af1
					
				
					 2 changed files with 78 additions and 75 deletions
				
			
		|  | @ -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> | ||||
|     ); | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
		Reference in a new issue