fixing auth, added registration page
							parent
							
								
									4ea0a209f5
								
							
						
					
					
						commit
						3a785c212a
					
				| @ -0,0 +1,14 @@ | |||||||
|  | <!DOCTYPE html> | ||||||
|  | <html> | ||||||
|  | 	<head> | ||||||
|  | 		<link | ||||||
|  | 			href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.3/leaflet.css" | ||||||
|  | 			rel="stylesheet" | ||||||
|  | 		/> | ||||||
|  | 		<title>Zgłaszańsko</title> | ||||||
|  | 	</head> | ||||||
|  | 	<body> | ||||||
|  | 		<div id="root"></div> | ||||||
|  | 		<script src="./register.tsx"></script> | ||||||
|  | 	</body> | ||||||
|  | </html> | ||||||
| @ -0,0 +1,78 @@ | |||||||
|  | /* eslint-disable @typescript-eslint/no-unused-vars */ | ||||||
|  | import React, { ReactElement, useEffect, useState } from "react"; | ||||||
|  | import ReactDOM from "react-dom"; | ||||||
|  | import Nav from "./Nav"; | ||||||
|  | import "./styles/reset.css"; | ||||||
|  | import "./styles/app.scss"; | ||||||
|  | import "regenerator-runtime/runtime"; | ||||||
|  | import axios from "axios"; | ||||||
|  | 
 | ||||||
|  | export default function Register(): ReactElement { | ||||||
|  | 	const [isLogged, setIsLogged] = useState(false); | ||||||
|  | 	const [registerState, setRegisterState] = useState({ | ||||||
|  | 		email: "", | ||||||
|  | 	}); | ||||||
|  | 	const [error, setError] = useState(null); | ||||||
|  | 
 | ||||||
|  | 	const checkUser = async (): Promise<void> => { | ||||||
|  | 		try { | ||||||
|  | 			await axios.get( | ||||||
|  | 				"http://localhost:8080/api/v1/collections/users/me" | ||||||
|  | 			); | ||||||
|  | 			setIsLogged(true); | ||||||
|  | 		} catch (error) { | ||||||
|  | 			setIsLogged(false); | ||||||
|  | 		} | ||||||
|  | 	}; | ||||||
|  | 	useEffect(() => { | ||||||
|  | 		void checkUser(); | ||||||
|  | 	}, []); | ||||||
|  | 	const postRegister = async () => { | ||||||
|  | 		try { | ||||||
|  | 			await axios.post( | ||||||
|  | 				"http://localhost:8080/api/v1/collections/registration-intents", | ||||||
|  | 				{ | ||||||
|  | 					email: registerState.email, | ||||||
|  | 				} | ||||||
|  | 			); | ||||||
|  | 			void checkUser(); | ||||||
|  | 		} catch (e) { | ||||||
|  | 			console.log(e); | ||||||
|  | 		} | ||||||
|  | 	}; | ||||||
|  | 	const notLoggedForm = () => { | ||||||
|  | 		return ( | ||||||
|  | 			<form> | ||||||
|  | 				<label htmlFor="email"> | ||||||
|  | 					Adres email | ||||||
|  | 					<input | ||||||
|  | 						type="email" | ||||||
|  | 						name="email" | ||||||
|  | 						value={registerState.email} | ||||||
|  | 						onChange={(e) => | ||||||
|  | 							setRegisterState({ | ||||||
|  | 								email: e.target.value, | ||||||
|  | 							}) | ||||||
|  | 						} | ||||||
|  | 					/> | ||||||
|  | 				</label> | ||||||
|  | 				<button | ||||||
|  | 					type="submit" | ||||||
|  | 					onClick={(e) => { | ||||||
|  | 						e.preventDefault(); | ||||||
|  | 						console.log(postRegister()); | ||||||
|  | 					}} | ||||||
|  | 				> | ||||||
|  | 					Zaloguj | ||||||
|  | 				</button> | ||||||
|  | 			</form> | ||||||
|  | 		); | ||||||
|  | 	}; | ||||||
|  | 	return ( | ||||||
|  | 		<> | ||||||
|  | 			<Nav isLogged={isLogged} logoutState={() => setIsLogged(false)} /> | ||||||
|  | 			{isLogged ? <h1>Jesteś zalogowany</h1> : notLoggedForm()} | ||||||
|  | 		</> | ||||||
|  | 	); | ||||||
|  | } | ||||||
|  | ReactDOM.render(<Register />, document.getElementById("root")); | ||||||
					Loading…
					
					
				
		Reference in New Issue