summaryrefslogtreecommitdiffstats
path: root/frontend/components/Signup.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/components/Signup.js')
-rw-r--r--frontend/components/Signup.js108
1 files changed, 53 insertions, 55 deletions
diff --git a/frontend/components/Signup.js b/frontend/components/Signup.js
index ef622ed..624bc10 100644
--- a/frontend/components/Signup.js
+++ b/frontend/components/Signup.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import { Mutation, ApolloConsumer } from 'react-apollo';
+import { Mutation } from 'react-apollo';
import { SIGNUP_MUTATION, CURRENT_USER_QUERY } from '../queries/queries.graphql';
import Form from './styles/Form';
import Error from './ErrorMessage';
@@ -18,64 +18,62 @@ class Signup extends Component {
render() {
return (
- <ApolloConsumer>
- {client => (
- <Mutation mutation={SIGNUP_MUTATION} variables={this.state}>
- {(signup, { loading, error }) => (
- <Form
- method="post"
- onSubmit={async e => {
- e.preventDefault();
- const res = await signup();
- // TODO can we return theuser from signup?
- client.query({ query: CURRENT_USER_QUERY, fetchPolicy: 'network-only' });
- }}
- >
- <fieldset disabled={loading} aria-busy={loading}>
- <Error error={error} />
- <h2>Sign Up for an Account</h2>
- <label htmlFor="email">
- Email
- <input
- value={this.state.email}
- onChange={this.saveToState}
- name="email"
- type="text"
- placeholder="email"
- />
- </label>
+ <Mutation
+ mutation={SIGNUP_MUTATION}
+ variables={this.state}
+ refetchQueries={[{ query: CURRENT_USER_QUERY }]}
+ >
+ {(signup, { loading, error }) => (
+ <Form
+ method="post"
+ onSubmit={async e => {
+ e.preventDefault();
+ const res = await signup();
+ }}
+ >
+ <fieldset disabled={loading} aria-busy={loading}>
+ <Error error={error} />
+ <h2>Sign Up for an Account</h2>
+ <label htmlFor="email">
+ Email
+ <input
+ value={this.state.email}
+ onChange={this.saveToState}
+ name="email"
+ type="text"
+ placeholder="email"
+ />
+ </label>
- <label htmlFor="name">
- Name
- <input
- type="text"
- name="name"
- placeholder="name"
- value={this.state.name}
- onChange={this.saveToState}
- />
- </label>
+ <label htmlFor="name">
+ Name
+ <input
+ type="text"
+ name="name"
+ placeholder="name"
+ value={this.state.name}
+ onChange={this.saveToState}
+ />
+ </label>
- <label htmlFor="signupPassword">
- Password
- <input
- type="password"
- name="password"
- id="signupPassword"
- className="password"
- placeholder="password"
- value={this.state.password}
- onChange={this.saveToState}
- />
- </label>
+ <label htmlFor="signupPassword">
+ Password
+ <input
+ type="password"
+ name="password"
+ id="signupPassword"
+ className="password"
+ placeholder="password"
+ value={this.state.password}
+ onChange={this.saveToState}
+ />
+ </label>
- <button type="submit">Submit</button>
- </fieldset>
- </Form>
- )}
- </Mutation>
+ <button type="submit">Submit</button>
+ </fieldset>
+ </Form>
)}
- </ApolloConsumer>
+ </Mutation>
);
}
}