diff options
author | Joseph Ditton <jditton.atomic@gmail.com> | 2021-11-22 14:21:53 -0700 |
---|---|---|
committer | Joseph Ditton <jditton.atomic@gmail.com> | 2021-11-22 14:21:53 -0700 |
commit | 4ae4e874689a71e33cdd7a5799fc0c85c4861367 (patch) | |
tree | d60c5d5f05ce0d0574bc168084e2b014ee999c1b /client/components/sign_in | |
parent | 3902da1747a3e32db0b67f1162eafd4860b3d27a (diff) | |
download | locchat-4ae4e874689a71e33cdd7a5799fc0c85c4861367.tar.gz locchat-4ae4e874689a71e33cdd7a5799fc0c85c4861367.zip |
adds start for console
Diffstat (limited to 'client/components/sign_in')
-rw-r--r-- | client/components/sign_in/_sign_in.jsx | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/client/components/sign_in/_sign_in.jsx b/client/components/sign_in/_sign_in.jsx index 753b2b5..a6e802c 100644 --- a/client/components/sign_in/_sign_in.jsx +++ b/client/components/sign_in/_sign_in.jsx @@ -1,7 +1,9 @@ -import { useState } from 'react'; +import { useContext, useState } from 'react'; import { useNavigate } from 'react-router'; +import { SettingsContext } from '../../utils/settings_context'; export const SignIn = () => { + const [, dispatch] = useContext(SettingsContext); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const navigate = useNavigate(); @@ -10,6 +12,26 @@ export const SignIn = () => { navigate('/signup'); }; + const signIn = async () => { + const res = await fetch('/sessions', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + email, + password, + }), + }); + if (res.status === 201) { + const result = await res.json(); + dispatch({ type: 'update', payload: { jwt: result.token } }); + navigate('/'); + } else { + console.error('An issue occurred when logging in.'); + } + }; + return ( <div> <div>Email</div> @@ -25,7 +47,9 @@ export const SignIn = () => { onChange={(e) => setPassword(e.target.value)} /> <div> - <button type="button">Sign in</button> + <button type="button" onClick={signIn}> + Sign in + </button> </div> <div> <button type="button" onClick={goToSignUp}> |