diff --git a/client/src/components/UserReferrals.js b/client/src/components/UserReferrals.js
index ad7d8fe8c..28c83a2e7 100644
--- a/client/src/components/UserReferrals.js
+++ b/client/src/components/UserReferrals.js
@@ -51,6 +51,12 @@ class UserReferrals extends Component {
}
}
+ userSelected (user) {
+ console.log(user)
+
+ this.setState({referrer: user.id})
+ }
+
submitForm (e) {
e.preventDefault()
this.props.updateUserMutation({
@@ -136,7 +142,7 @@ class UserReferrals extends Component {
overall reputation within the project.
-
+
diff --git a/client/src/components/UserSearch.js b/client/src/components/UserSearch.js
index 217a11e63..30c38b8b4 100644
--- a/client/src/components/UserSearch.js
+++ b/client/src/components/UserSearch.js
@@ -1,23 +1,23 @@
-import React, { Component } from 'react';
-import {graphql, compose} from 'react-apollo';
-import {getUsersBySearchFields} from '../queries/queries';
+import React, { Component } from 'react'
+import {graphql, compose} from 'react-apollo'
+import {getUsersBySearchFields} from '../queries/queries'
// Materia UI
-import { withStyles } from '@material-ui/core/styles';
-import Card from '@material-ui/core/Card';
-import CardActionArea from '@material-ui/core/CardActionArea';
-import CardActions from '@material-ui/core/CardActions';
-import CardContent from '@material-ui/core/CardContent';
-import CardMedia from '@material-ui/core/CardMedia';
-import Button from '@material-ui/core/Button';
-import Typography from '@material-ui/core/Typography';
-import Grid from '@material-ui/core/Grid';
+import { withStyles } from '@material-ui/core/styles'
+import Card from '@material-ui/core/Card'
+import CardActionArea from '@material-ui/core/CardActionArea'
+import CardActions from '@material-ui/core/CardActions'
+import CardContent from '@material-ui/core/CardContent'
+import CardMedia from '@material-ui/core/CardMedia'
+import Button from '@material-ui/core/Button'
+import Typography from '@material-ui/core/Typography'
+import Grid from '@material-ui/core/Grid'
import TextField from '@material-ui/core/TextField'
// components
-import UserProfile from './UserProfile';
+import UserProfile from './UserProfile'
// Images
import PortraitImage from '../img/portrait.jpg'
@@ -26,29 +26,29 @@ const styles = theme => ({
card: {
maxWidth: 150,
minWidth: 150,
- paddingTop:'30',
- marginBottom:40
+ paddingTop: '30',
+ marginBottom: 40
},
media: {
height: 0,
paddingTop: '56.25%', // 16:9,
- marginTop:'30',
+ marginTop: '30',
minWidth: 300
},
typography: {
maxWidth: 345,
minWidth: 300,
- paddingTop:'30'
+ paddingTop: '30'
},
- appBar: {
- position: 'relative',
+ appBar: {
+ position: 'relative'
},
flex: {
- flex: 1,
+ flex: 1
},
grid: {
paddingTop: '30',
- marginTop:30
+ marginTop: 30
},
inputField: {
width: '80%',
@@ -64,39 +64,31 @@ const styles = theme => ({
margin: theme.spacing.unit,
marginTop: theme.spacing.unit * 3
}
-});
+})
class UserSearch extends Component {
- constructor(props){
- super(props);
-
+ constructor (props) {
+ super(props)
+
this.state = {
alias: '',
firstName: '',
middleName: '',
- lastName: ''
+ lastName: ''
}
}
- handleClickOpen = () => {
- this.setState({ open: true });
- };
-
- handleClose = () => {
- this.setState({ open: false });
- };
-
submitForm (e) {
e.preventDefault()
- this.props.getUsersBySearchFields.variables.alias = this.state.alias;
- this.props.getUsersBySearchFields.variables.firstName = this.state.firstName;
- this.props.getUsersBySearchFields.variables.middleName = this.state.middleName;
- this.props.getUsersBySearchFields.variables.lastName = this.state.lastName;
-
+ this.props.getUsersBySearchFields.variables.alias = this.state.alias
+ this.props.getUsersBySearchFields.variables.firstName = this.state.firstName
+ this.props.getUsersBySearchFields.variables.middleName = this.state.middleName
+ this.props.getUsersBySearchFields.variables.lastName = this.state.lastName
+
this.props.getUsersBySearchFields.refetch({})
-}
+ }
handleTextField (e) {
/*
@@ -138,149 +130,141 @@ class UserSearch extends Component {
}
}
- selectButton(){
-
- if (this.props.selectButton === true) {
-
- return(
-
- Select
-
- )
-
- } else {
- return(
)
- }
-}
-
- selectText(){
-
+ selectText () {
if (this.props.selectButton === true) {
-
- return(After that press the 'Select' button on the desired user to continue. )
-
+ return ({this.props.selectText} )
} else {
- return(
)
+ return (
)
}
-
}
- displayUsers(){
- let data = this.props.getUsersBySearchFields;
- const { classes } = this.props;
-
- if(data.loading){
- return ( Loading Users...
);
+ selectButton (user) {
+ if (this.props.selectButton === true) {
+ return (
+ {
+ this.props.onSelect(user) // This sends the user to the parent component
+ }}>
+ Select
+
+ )
} else {
- if(data.usersSearch === undefined) {
- return ( No Users to Display
)
- } else {
-
- return data.usersSearch.map(user => {
+ return (
)
+ }
+ }
- return (
+ displayUsers () {
+ let data = this.props.getUsersBySearchFields
+ const { classes } = this.props
-
- {
- this.setState({ selected: user.id});
+ if (data.loading) {
+ return ( Loading Users...
)
+ } else {
+ if (data.usersSearch === undefined) {
+ return ( No Users to Display
)
+ } else {
+ return data.usersSearch.map(user => {
+ return (
+
+
+ {
+ this.setState({ selected: user.id})
}
}>
-
-
+
-
-
- {user.alias}
-
-
-
-
-
-
- {this.selectButton()}
-
-
-
-
-
+
+
+ {user.alias}
+
+
+
+
+
+
+ {this.selectButton(user)}
+
+
+
+
+
- )
- });
- }
+ )
+ })
+ }
}
}
- render() {
- const { classes } = this.props;
+ render () {
+ const { classes } = this.props
return (
-
+
+
+
{this.displayUsers()}
-
-
-
- );
+
+ )
}
}
export default compose(
graphql(getUsersBySearchFields, {name: 'getUsersBySearchFields'}),
withStyles(styles)
-) (UserSearch); // This technique binds more than one query to a single component.
+)(UserSearch) // This technique binds more than one query to a single component.