mirror of
https://github.com/wassname/talk.git
synced 2026-07-12 01:41:12 +08:00
32 lines
878 B
TypeScript
32 lines
878 B
TypeScript
import { BadUserInputError } from "talk-framework/lib/errors";
|
|
import SignIn, { SignInForm } from "../components/SignIn";
|
|
|
|
import React, { Component } from "react";
|
|
import { SignInMutation, withSignInMutation } from "../mutations";
|
|
|
|
interface SignInContainerProps {
|
|
signIn: SignInMutation;
|
|
}
|
|
|
|
class SignInContainer extends Component<SignInContainerProps> {
|
|
private onSubmit: SignInForm["onSubmit"] = async (input, form) => {
|
|
try {
|
|
await this.props.signIn(input);
|
|
form.reset();
|
|
} catch (error) {
|
|
if (error instanceof BadUserInputError) {
|
|
return error.invalidArgsLocalized;
|
|
}
|
|
// tslint:disable-next-line:no-console
|
|
console.error(error);
|
|
}
|
|
return undefined;
|
|
};
|
|
public render() {
|
|
return <SignIn onSubmit={this.onSubmit} />;
|
|
}
|
|
}
|
|
|
|
const enhanced = withSignInMutation(SignInContainer);
|
|
export default enhanced;
|