import { Button, Theme, withStyles, WithStyles } from '@material-ui/core'; import gql from 'graphql-tag'; import * as React from 'react'; import { Mutation, withApollo, WithApolloClient } from 'react-apollo'; import { Field } from 'react-final-form'; import { Link } from 'react-router-dom'; import Form from '../../components/Form'; import Input from '../../components/form/TextField'; import { ResetPassword, ResetPasswordVariables } from '../../graphql'; import { required } from '../../util/validation'; import AccountPage from './AccountPage'; const styles = (theme: Theme) => ({ submit: { width: '100%', marginTop: theme.spacing(4), }, google: { width: '100%', marginTop: theme.spacing(4), background: theme.palette.common.white, }, }); const resetPassword = gql` mutation ResetPassword($email: String!) { resetPassword(email: $email) } `; interface Props extends WithStyles, WithApolloClient<{}> {} const SignIn: React.FC = ({ classes }) => ( Signing in? } > mutation={resetPassword}> {mutation => ( onSubmit={variables => mutation({ variables })} successMessage="Password reset email has been sent" > {({ handleSubmit, submitting }) => (
)} )}
); export default withApollo(withStyles(styles)(SignIn));