summaryrefslogtreecommitdiff
path: root/client/components/sign_in
diff options
context:
space:
mode:
authorJoseph Ditton <jditton.atomic@gmail.com>2021-11-22 14:21:53 -0700
committerJoseph Ditton <jditton.atomic@gmail.com>2021-11-22 14:21:53 -0700
commit4ae4e874689a71e33cdd7a5799fc0c85c4861367 (patch)
treed60c5d5f05ce0d0574bc168084e2b014ee999c1b /client/components/sign_in
parent3902da1747a3e32db0b67f1162eafd4860b3d27a (diff)
downloadlocchat-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.jsx28
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}>