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