login in frontend
This commit is contained in:
		
							parent
							
								
									cfabd4e7ff
								
							
						
					
					
						commit
						5ac961330e
					
				|  | @ -69,3 +69,37 @@ export const postUser = async (content) => { | ||||||
|         throw new Error('Failed to save user. ' || error.message); |         throw new Error('Failed to save user. ' || error.message); | ||||||
|     } |     } | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | export const loginUser = async (loginValue) => { | ||||||
|  |     const protocol = process.env.REACT_APP_API_PROTOCOL; // "http"
 | ||||||
|  |     const host = process.env.REACT_APP_API_HOST; // "localhost"
 | ||||||
|  |     const port = process.env.REACT_APP_API_PORT; // "8080"
 | ||||||
|  |     const path = process.env.REACT_APP_API_PATH; // "/api"
 | ||||||
|  |     const portPart = port ? `:${port}` : ''; // port is optional
 | ||||||
|  |     const API_URL = `${protocol}://${host}${portPart}${path}`; | ||||||
|  | 
 | ||||||
|  |     try { | ||||||
|  | 
 | ||||||
|  |         const response = await fetch(`${API_URL}/users/login`, { | ||||||
|  |             method: 'POST', | ||||||
|  |             headers: { | ||||||
|  |                 'Content-Type': 'application/json' | ||||||
|  |             }, | ||||||
|  |             body: JSON.stringify({ | ||||||
|  |                 email: `${loginValue.email}`, | ||||||
|  |                 password: `${loginValue.password}`, | ||||||
|  |             }) | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         if (!response.ok) { | ||||||
|  |             const errorData = await response.json; | ||||||
|  |             throw new Error(errorData.message || 'Server response failed.'); | ||||||
|  |         } | ||||||
|  |         const data = response; | ||||||
|  |         console.log('User successfully logged in:', data); | ||||||
|  |         return true; | ||||||
|  |     } catch (error) { | ||||||
|  |         console.error('Failed to log in:', error.message); | ||||||
|  |         throw new Error('Failed to log in. ' || error.message); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| import { useNavigate } from 'react-router-dom'; | import { useNavigate } from 'react-router-dom'; | ||||||
|  | import { loginUser } from '../../comunication/FetchUser'; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * LoginUser |  * LoginUser | ||||||
|  | @ -9,8 +10,18 @@ function LoginUser({loginValues, setLoginValues}) { | ||||||
| 
 | 
 | ||||||
|     const handleSubmit = async (e) => { |     const handleSubmit = async (e) => { | ||||||
|         e.preventDefault(); |         e.preventDefault(); | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|  |             let isLoginValid = false | ||||||
|  |             isLoginValid = await loginUser(loginValues); | ||||||
|             console.log(loginValues); |             console.log(loginValues); | ||||||
|         navigate('/') |             if (isLoginValid) { | ||||||
|  |                 setLoginValues({ userName: loginValues.email, password: loginValues.password }); | ||||||
|  |                 navigate('/'); | ||||||
|  |             } | ||||||
|  |         } catch (error) { | ||||||
|  |             console.error('Failed to fetch to server:', error.message); | ||||||
|  |         } | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue