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