From fbf108595a00a7c9db5984158e4b02cc345b68d1 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 31 Jan 2020 19:20:13 +0200 Subject: Initial commit --- frontend/src/Login.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 frontend/src/Login.js (limited to 'frontend/src/Login.js') diff --git a/frontend/src/Login.js b/frontend/src/Login.js new file mode 100644 index 0000000..e30b496 --- /dev/null +++ b/frontend/src/Login.js @@ -0,0 +1,44 @@ +import React, { useState } from 'react'; +import { useForm } from 'react-hook-form'; +import { navigate } from '@reach/router'; + +import axios from './axios'; +import userState from './UserState'; + +const Login = () => { + const { register, handleSubmit, watch, errors } = useForm(); + const [ loginError, setLoginError ] = useState(null); + + const onSubmit = async data => { + try { + const resp = await axios.post('/login', data); + const { username } = resp.data; + userState.username = username; + navigate('/'); + } catch (err) { + if (err.response && err.response.data) { + setLoginError(err.response.data.error); + } else { + console.error(err); + setLoginError('Unknown error occurred. See console for details.'); + } + } + }; + + return ( +
+

Log in

+ + + +
{loginError}
+ {/*
{errors}
*/} +
+ ); +}; + +export default Login; -- cgit v1.3