parent
f820edb463
commit
337462aa5e
@ -1,50 +0,0 @@ |
||||
import ColumnsArea from './columns_area'; |
||||
import Column from './column'; |
||||
import Drawer from './drawer'; |
||||
import ComposeFormContainer from '../containers/compose_form_container'; |
||||
import FollowFormContainer from '../containers/follow_form_container'; |
||||
import UploadFormContainer from '../containers/upload_form_container'; |
||||
import StatusListContainer from '../containers/status_list_container'; |
||||
import NotificationsContainer from '../containers/notifications_container'; |
||||
import NavigationContainer from '../containers/navigation_container'; |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
|
||||
const Frontend = React.createClass({ |
||||
|
||||
mixins: [PureRenderMixin], |
||||
|
||||
render () { |
||||
return ( |
||||
<div style={{ flex: '0 0 auto', display: 'flex', width: '100%', height: '100%', background: '#1a1c23' }}> |
||||
<Drawer> |
||||
<div style={{ flex: '1 1 auto' }}> |
||||
<NavigationContainer /> |
||||
<ComposeFormContainer /> |
||||
<UploadFormContainer /> |
||||
</div> |
||||
|
||||
<FollowFormContainer /> |
||||
</Drawer> |
||||
|
||||
<ColumnsArea> |
||||
<Column icon='home' heading='Home'> |
||||
<StatusListContainer type='home' /> |
||||
</Column> |
||||
|
||||
<Column icon='at' heading='Mentions'> |
||||
<StatusListContainer type='mentions' /> |
||||
</Column> |
||||
|
||||
<Column> |
||||
{this.props.children} |
||||
</Column> |
||||
</ColumnsArea> |
||||
|
||||
<NotificationsContainer /> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
}); |
||||
|
||||
export default Frontend; |
@ -1,5 +1,5 @@ |
||||
import CharacterCounter from './character_counter'; |
||||
import Button from './button'; |
||||
import Button from '../../../components/button'; |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import ImmutablePropTypes from 'react-immutable-proptypes'; |
||||
import ReplyIndicator from './reply_indicator'; |
@ -1,4 +1,4 @@ |
||||
import IconButton from './icon_button'; |
||||
import IconButton from '../../../components/icon_button'; |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
|
||||
const FollowForm = React.createClass({ |
@ -1,8 +1,8 @@ |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import ImmutablePropTypes from 'react-immutable-proptypes'; |
||||
import Avatar from './avatar'; |
||||
import IconButton from './icon_button'; |
||||
import DisplayName from './display_name'; |
||||
import Avatar from '../../../components/avatar'; |
||||
import IconButton from '../../../components/icon_button'; |
||||
import DisplayName from '../../../components/display_name'; |
||||
import { Link } from 'react-router'; |
||||
|
||||
const NavigationBar = React.createClass({ |
@ -1,8 +1,8 @@ |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import ImmutablePropTypes from 'react-immutable-proptypes'; |
||||
import Avatar from './avatar'; |
||||
import IconButton from './icon_button'; |
||||
import DisplayName from './display_name'; |
||||
import Avatar from '../../../components/avatar'; |
||||
import IconButton from '../../../components/icon_button'; |
||||
import DisplayName from '../../../components/display_name'; |
||||
|
||||
const ReplyIndicator = React.createClass({ |
||||
|
@ -1,5 +1,5 @@ |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import Button from './button'; |
||||
import Button from '../../../components/button'; |
||||
|
||||
const UploadButton = React.createClass({ |
||||
|
@ -1,7 +1,7 @@ |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import ImmutablePropTypes from 'react-immutable-proptypes'; |
||||
import UploadButton from './upload_button'; |
||||
import IconButton from './icon_button'; |
||||
import IconButton from '../../../components/icon_button'; |
||||
|
||||
const UploadForm = React.createClass({ |
||||
|
@ -1,6 +1,6 @@ |
||||
import { connect } from 'react-redux'; |
||||
import ComposeForm from '../components/compose_form'; |
||||
import { changeCompose, submitCompose, cancelReplyCompose } from '../actions/compose'; |
||||
import { changeCompose, submitCompose, cancelReplyCompose } from '../../../actions/compose'; |
||||
|
||||
function selectStatus(state) { |
||||
let statusId = state.getIn(['compose', 'in_reply_to'], null); |
@ -1,6 +1,6 @@ |
||||
import { connect } from 'react-redux'; |
||||
import FollowForm from '../components/follow_form'; |
||||
import { changeFollow, submitFollow } from '../actions/follow'; |
||||
import { changeFollow, submitFollow } from '../../../actions/follow'; |
||||
|
||||
const mapStateToProps = function (state, props) { |
||||
return { |
@ -1,6 +1,6 @@ |
||||
import { connect } from 'react-redux'; |
||||
import { NotificationStack } from 'react-notification'; |
||||
import { dismissNotification } from '../actions/notifications'; |
||||
import { dismissNotification } from '../../../actions/notifications'; |
||||
|
||||
const mapStateToProps = (state, props) => { |
||||
return { |
@ -1,8 +1,8 @@ |
||||
import { connect } from 'react-redux'; |
||||
import StatusList from '../components/status_list'; |
||||
import { replyCompose } from '../actions/compose'; |
||||
import { reblog, favourite } from '../actions/interactions'; |
||||
import { selectStatus } from '../reducers/timelines'; |
||||
import StatusList from '../../../components/status_list'; |
||||
import { replyCompose } from '../../../actions/compose'; |
||||
import { reblog, favourite } from '../../../actions/interactions'; |
||||
import { selectStatus } from '../../../reducers/timelines'; |
||||
|
||||
const mapStateToProps = function (state, props) { |
||||
return { |
@ -1,6 +1,6 @@ |
||||
import { connect } from 'react-redux'; |
||||
import UploadForm from '../components/upload_form'; |
||||
import { uploadCompose, undoUploadCompose } from '../actions/compose'; |
||||
import { uploadCompose, undoUploadCompose } from '../../../actions/compose'; |
||||
|
||||
const mapStateToProps = function (state, props) { |
||||
return { |
@ -0,0 +1,56 @@ |
||||
import ColumnsArea from './components/columns_area'; |
||||
import Column from './components/column'; |
||||
import Drawer from './components/drawer'; |
||||
import ComposeFormContainer from './containers/compose_form_container'; |
||||
import FollowFormContainer from './containers/follow_form_container'; |
||||
import UploadFormContainer from './containers/upload_form_container'; |
||||
import StatusListContainer from './containers/status_list_container'; |
||||
import NotificationsContainer from './containers/notifications_container'; |
||||
import NavigationContainer from './containers/navigation_container'; |
||||
import PureRenderMixin from 'react-addons-pure-render-mixin'; |
||||
import LoadingBar from 'react-redux-loading-bar'; |
||||
|
||||
const UI = React.createClass({ |
||||
|
||||
propTypes: { |
||||
router: React.PropTypes.object |
||||
}, |
||||
|
||||
mixins: [PureRenderMixin], |
||||
|
||||
render () { |
||||
return ( |
||||
<div style={{ flex: '0 0 auto', display: 'flex', width: '100%', height: '100%', background: '#1a1c23' }}> |
||||
<Drawer> |
||||
<div style={{ flex: '1 1 auto' }}> |
||||
<NavigationContainer /> |
||||
<ComposeFormContainer /> |
||||
<UploadFormContainer /> |
||||
</div> |
||||
|
||||
<FollowFormContainer /> |
||||
</Drawer> |
||||
|
||||
<ColumnsArea> |
||||
<Column icon='home' heading='Home'> |
||||
<StatusListContainer type='home' /> |
||||
</Column> |
||||
|
||||
<Column icon='at' heading='Mentions'> |
||||
<StatusListContainer type='mentions' /> |
||||
</Column> |
||||
|
||||
<Column> |
||||
{this.props.children} |
||||
</Column> |
||||
</ColumnsArea> |
||||
|
||||
<NotificationsContainer /> |
||||
<LoadingBar style={{ backgroundColor: '#2b90d9', left: '0', top: '0' }} /> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
}); |
||||
|
||||
export default UI; |
@ -1,14 +1,16 @@ |
||||
import { combineReducers } from 'redux-immutable'; |
||||
import timelines from './timelines'; |
||||
import meta from './meta'; |
||||
import compose from './compose'; |
||||
import follow from './follow'; |
||||
import notifications from './notifications'; |
||||
import { combineReducers } from 'redux-immutable'; |
||||
import timelines from './timelines'; |
||||
import meta from './meta'; |
||||
import compose from './compose'; |
||||
import follow from './follow'; |
||||
import notifications from './notifications'; |
||||
import { loadingBarReducer } from 'react-redux-loading-bar'; |
||||
|
||||
export default combineReducers({ |
||||
timelines, |
||||
meta, |
||||
compose, |
||||
follow, |
||||
notifications |
||||
notifications, |
||||
loadingBar: loadingBarReducer, |
||||
}); |
||||
|
@ -1,7 +1,10 @@ |
||||
import { createStore, applyMiddleware, compose } from 'redux'; |
||||
import thunk from 'redux-thunk'; |
||||
import appReducer from '../reducers'; |
||||
import thunk from 'redux-thunk'; |
||||
import appReducer from '../reducers'; |
||||
import { loadingBarMiddleware } from 'react-redux-loading-bar'; |
||||
|
||||
export default function configureStore(initialState) { |
||||
return createStore(appReducer, initialState, compose(applyMiddleware(thunk), window.devToolsExtension ? window.devToolsExtension() : f => f)); |
||||
} |
||||
return createStore(appReducer, initialState, compose(applyMiddleware(thunk, loadingBarMiddleware({ |
||||
promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'], |
||||
})), window.devToolsExtension ? window.devToolsExtension() : f => f)); |
||||
}; |
||||
|
@ -1 +1 @@ |
||||
= react_component 'Root', default_props, class: 'app-holder', prerender: false |
||||
= react_component 'Mastodon', default_props, class: 'app-holder', prerender: false |
||||
|
Loading…
Reference in new issue