test Login

This commit is contained in:
Kai Ritthaler 2025-05-06 13:45:14 +02:00
parent 56c14f8471
commit b021593970

View file

@ -1,24 +1,46 @@
import React from 'react';
import React, { use } from 'react';
import logo from './logo.svg';
import './App.css';
import { useState, useEffect } from 'react';
function App() {
const [username, setUsername] = useState<string>('');
const [password, setPassword] = useState<string>('');
const [mail, setMail] = useState<string>('');
const [isCreate, setIsCreate] = useState<boolean>(false);
useEffect(() => {
console.log(username);
}, [username]);
const changeUsername = (event : React.ChangeEvent<HTMLInputElement>) => {
if (event.target.value.length > 20) {
alert("Username is too long");
}
setUsername(event.target.value);
}
const changePassword = (event : React.ChangeEvent<HTMLInputElement>) => {
setPassword(event.target.value);
}
const changeMail = (event : React.ChangeEvent<HTMLInputElement>) => {
setMail(event.target.value);
}
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
{isCreate? <h1>Create Account</h1> : <h1>Login</h1> }
{isCreate && <>
<label htmlFor="email">E-Mail</label>
<input id='email' type="email" value={mail} onChange={changeMail}></input>
<br /></>}
<label htmlFor="username">Username</label>
<input id='username' type="text" value={username} onChange={changeUsername}></input>
<br />
<label htmlFor="password">Password</label>
<input id='password' type="password" value={password} onChange={changePassword}/>
<br />
<input type="button" onClick={() => setIsCreate(!isCreate)} value={isCreate? "Create" : "login"}/>
</div>
);
}