|
|
'use strict';
|
|
|
|
|
|
import React, {Component} from 'react';
|
|
|
import {
|
|
|
View,
|
|
|
StyleSheet,
|
|
|
Dimensions,
|
|
|
Platform,
|
|
|
} from 'react-native';
|
|
|
|
|
|
import {bindActionCreators} from 'redux';
|
|
|
import {connect} from 'react-redux';
|
|
|
import {Map} from 'immutable';
|
|
|
|
|
|
import SubjectPost from '../components/SubjectPost/SubjectPost';
|
|
|
|
|
|
import * as subjectPostActions from '../reducers/subject/subjectPostActions';
|
|
|
|
|
|
|
|
|
/**
|
|
|
* ## Actions
|
|
|
* 3 of our actions will be available as ```actions```
|
|
|
*/
|
|
|
const actions = [
|
|
|
subjectPostActions,
|
|
|
];
|
|
|
|
|
|
/**
|
|
|
* Save that state
|
|
|
*/
|
|
|
function mapStateToProps(state) {
|
|
|
return {
|
|
|
...state
|
|
|
};
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Bind all the functions from the ```actions``` and bind them with
|
|
|
* ```dispatch```
|
|
|
*/
|
|
|
function mapDispatchToProps(dispatch) {
|
|
|
|
|
|
const creators = Map()
|
|
|
.merge(...actions)
|
|
|
.filter(value => typeof value === 'function')
|
|
|
.toObject();
|
|
|
|
|
|
return {
|
|
|
actions: bindActionCreators(creators, dispatch),
|
|
|
dispatch
|
|
|
};
|
|
|
}
|
|
|
|
|
|
class SubjectPostContainer extends Component {
|
|
|
constructor(props) {
|
|
|
super(props);
|
|
|
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
|
|
|
return (
|
|
|
<View style={styles.container}>
|
|
|
<SubjectPost/>
|
|
|
</View>
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
let {width, height} = Dimensions.get('window');
|
|
|
let navbarHeight = (Platform.OS === 'android') ? 50 : 64;
|
|
|
|
|
|
let styles = StyleSheet.create({
|
|
|
container: {
|
|
|
top: navbarHeight,
|
|
|
height: height - navbarHeight - 49,
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(SubjectPostContainer); |
...
|
...
|
|