Merge branch 'dropdown' of https://github.com/blackle/mastodon into blackle-dropdown
This commit is contained in:
		
						commit
						3bddd647e0
					
				
					 6 changed files with 25 additions and 5 deletions
				
			
		|  | @ -49,7 +49,7 @@ const StatusActionBar = React.createClass({ | |||
|   }, | ||||
| 
 | ||||
|   handleMentionClick () { | ||||
|     this.props.onMention(this.props.status.get('account')); | ||||
|     this.props.onMention(this.props.status.get('account'), this.context.router); | ||||
|   }, | ||||
| 
 | ||||
|   handleBlockClick () { | ||||
|  |  | |||
|  | @ -15,6 +15,7 @@ import { blockAccount } from '../actions/accounts'; | |||
| import { deleteStatus } from '../actions/statuses'; | ||||
| import { openMedia } from '../actions/modal'; | ||||
| import { createSelector } from 'reselect' | ||||
| import { isMobile } from '../is_mobile' | ||||
| 
 | ||||
| const mapStateToProps = (state, props) => ({ | ||||
|   statusBase: state.getIn(['statuses', props.id]), | ||||
|  | @ -86,8 +87,11 @@ const mapDispatchToProps = (dispatch) => ({ | |||
|     dispatch(deleteStatus(status.get('id'))); | ||||
|   }, | ||||
| 
 | ||||
|   onMention (account) { | ||||
|   onMention (account, router) { | ||||
|     dispatch(mentionCompose(account)); | ||||
|     if (isMobile(window.innerWidth)) { | ||||
|       router.push('/statuses/new'); | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   onOpenMedia (url) { | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ import LoadingIndicator      from '../../components/loading_indicator'; | |||
| import ActionBar             from './components/action_bar'; | ||||
| import Column                from '../ui/components/column'; | ||||
| import ColumnBackButton      from '../../components/column_back_button'; | ||||
| import { isMobile } from '../../is_mobile' | ||||
| 
 | ||||
| const makeMapStateToProps = () => { | ||||
|   const getAccount = makeGetAccount(); | ||||
|  | @ -34,6 +35,10 @@ const makeMapStateToProps = () => { | |||
| 
 | ||||
| const Account = React.createClass({ | ||||
| 
 | ||||
|   contextTypes: { | ||||
|     router: React.PropTypes.object | ||||
|   }, | ||||
| 
 | ||||
|   propTypes: { | ||||
|     params: React.PropTypes.object.isRequired, | ||||
|     dispatch: React.PropTypes.func.isRequired, | ||||
|  | @ -71,6 +76,9 @@ const Account = React.createClass({ | |||
| 
 | ||||
|   handleMention () { | ||||
|     this.props.dispatch(mentionCompose(this.props.account)); | ||||
|     if (isMobile(window.innerWidth)) { | ||||
|       this.context.router.push('/statuses/new'); | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   render () { | ||||
|  |  | |||
|  | @ -23,6 +23,7 @@ import { ScrollContainer }   from 'react-router-scroll'; | |||
| import ColumnBackButton      from '../../components/column_back_button'; | ||||
| import StatusContainer       from '../../containers/status_container'; | ||||
| import { openMedia }         from '../../actions/modal'; | ||||
| import { isMobile } from '../../is_mobile' | ||||
| 
 | ||||
| const makeMapStateToProps = () => { | ||||
|   const getStatus = makeGetStatus(); | ||||
|  | @ -80,6 +81,9 @@ const Status = React.createClass({ | |||
| 
 | ||||
|   handleMentionClick (account) { | ||||
|     this.props.dispatch(mentionCompose(account)); | ||||
|     if (isMobile(window.innerWidth)) { | ||||
|       this.context.router.push('/statuses/new'); | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   handleOpenMedia (url) { | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ import Notifications from '../notifications'; | |||
| import { debounce } from 'react-decoration'; | ||||
| import { uploadCompose } from '../../actions/compose'; | ||||
| import { connect } from 'react-redux'; | ||||
| import { isMobile } from '../../is_mobile' | ||||
| 
 | ||||
| const UI = React.createClass({ | ||||
| 
 | ||||
|  | @ -64,11 +65,9 @@ const UI = React.createClass({ | |||
|   }, | ||||
| 
 | ||||
|   render () { | ||||
|     const layoutBreakpoint = 1024; | ||||
| 
 | ||||
|     let mountedColumns; | ||||
| 
 | ||||
|     if (this.state.width <= layoutBreakpoint) { | ||||
|     if (isMobile(this.state.width)) { | ||||
|       mountedColumns = ( | ||||
|         <ColumnsArea> | ||||
|           {this.props.children} | ||||
|  |  | |||
							
								
								
									
										5
									
								
								app/assets/javascripts/components/is_mobile.jsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								app/assets/javascripts/components/is_mobile.jsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| const LAYOUT_BREAKPOINT = 1024; | ||||
| 
 | ||||
| export function isMobile(width) { | ||||
|   return width <= LAYOUT_BREAKPOINT; | ||||
| }; | ||||
		Reference in a new issue