42 lines
1 KiB
JavaScript
42 lines
1 KiB
JavaScript
import React from "react";
|
|
import UserDetails from "./UserDetails";
|
|
|
|
const PropTypes = React.PropTypes;
|
|
|
|
class UserDetailsWrapper extends React.Component {
|
|
constructor(props, context, updater) {
|
|
super(props, context, updater);
|
|
}
|
|
|
|
score() {
|
|
const result = this.props.info.followers - this.props.info.following;
|
|
console.log("score for ", this.props.info.login, result);
|
|
return result;
|
|
}
|
|
|
|
render() {
|
|
return (
|
|
<div className="col-sm-6">
|
|
<p className="lead">{this.props.header}</p>
|
|
{this.props.children}
|
|
</div>
|
|
);
|
|
}
|
|
}
|
|
|
|
UserDetailsWrapper.propTypes = {
|
|
header: PropTypes.string.isRequired,
|
|
info: PropTypes.shape({
|
|
avatar_url: PropTypes.string.isRequired,
|
|
blog: PropTypes.string.isRequired,
|
|
company: PropTypes.string,
|
|
followers: PropTypes.number.isRequired,
|
|
following: PropTypes.number.isRequired,
|
|
location: PropTypes.string,
|
|
login: PropTypes.string.isRequired,
|
|
name: PropTypes.string,
|
|
public_repos: PropTypes.number.isRequired
|
|
})
|
|
};
|
|
|
|
export default UserDetailsWrapper;
|