6c20593be3
• Added: - GroupAbout feature that is only visible on mobile
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import ImmutablePropTypes from 'react-immutable-proptypes'
|
|
import ImmutablePureComponent from 'react-immutable-pure-component'
|
|
import isObject from 'lodash.isobject'
|
|
import { BREAKPOINT_EXTRA_SMALL } from '../constants'
|
|
import ColumnIndicator from '../components/column_indicator'
|
|
import Responsive from './ui/util/responsive_component'
|
|
import GroupInfoPanel from '../components/panel/group_info_panel'
|
|
|
|
const mapStateToProps = (state, { params }) => {
|
|
const groupId = isObject(params) ? params['id'] : null
|
|
const group = state.getIn(['groups', groupId])
|
|
|
|
return { group }
|
|
}
|
|
|
|
export default
|
|
@connect(mapStateToProps)
|
|
class GroupAbout extends ImmutablePureComponent {
|
|
|
|
static contextTypes = {
|
|
router: PropTypes.object
|
|
}
|
|
|
|
static propTypes = {
|
|
group: ImmutablePropTypes.map,
|
|
}
|
|
|
|
render() {
|
|
const { group } = this.props
|
|
|
|
return (
|
|
<div className={[_s.default, _s.width100PC].join(' ')}>
|
|
<Responsive min={BREAKPOINT_EXTRA_SMALL}>
|
|
<ColumnIndicator type='missing' />
|
|
</Responsive>
|
|
<Responsive max={BREAKPOINT_EXTRA_SMALL}>
|
|
<GroupInfoPanel group={group} />
|
|
</Responsive>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
}
|