Compare commits

..

No commits in common. "327f90e4480da1decc7e35a16deb33279612b837" and "6afe6345cfc9bcf436ce02221f83d58cb49c5de1" have entirely different histories.

2 changed files with 23 additions and 21 deletions

View file

@ -1,14 +1,22 @@
import { useState } from "react"; import { useState } from "react";
import { NewUser, User } from "../Types/Users"; import { NewUser, User } from "../Types/Users";
import { api } from "../API/API";
export default function Register(): JSX.Element { export default function Register() {
const [username, setUsername] = useState(""); const [username, setUsername] = useState('')
const [password, setPassword] = useState(""); const [password, setPassword] = useState('')
const [error, setError] = useState('')
const handleRegister = async (): Promise<void> => {
const newUser: NewUser = { userName: username, password };
const user = await api.registerUser(newUser); const handleRegister = async () => {
try {
const newUser: NewUser = { username, password };
const registeredUser: User = await api.registerUser(newUser);
console.log("User registered:", registeredUser);
// Optionally, you can navigate to another page or show a success message here
} catch (error) {
setError("Registration failed. Please try again."); // Handle error appropriately
}
}; };
return ( return (
@ -18,7 +26,7 @@ export default function Register(): JSX.Element {
className="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4" className="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4"
onSubmit={(e) => { onSubmit={(e) => {
e.preventDefault(); e.preventDefault();
void handleRegister(); handleRegister();
}} }}
> >
<h3 className="pb-2">Register new user</h3> <h3 className="pb-2">Register new user</h3>
@ -35,9 +43,7 @@ export default function Register(): JSX.Element {
type="text" type="text"
placeholder="Username" placeholder="Username"
value={username} value={username}
onChange={(e) => { onChange={(e) => setUsername(e.target.value)}
setUsername(e.target.value);
}}
/> />
</div> </div>
<div className="mb-6"> <div className="mb-6">
@ -48,15 +54,16 @@ export default function Register(): JSX.Element {
Password Password
</label> </label>
<input <input
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline" className="shadow appearance-none border border-red-500 rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline"
id="password" id="password"
type="password" type="password"
placeholder="Choose your password" placeholder="Choose your password"
value={password} value={password}
onChange={(e) => { onChange={(e) => setPassword(e.target.value)}
setPassword(e.target.value);
}}
/> />
<p className="text-red-500 text-xs italic">
Please choose a password.
</p>
</div> </div>
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<button <button
@ -66,6 +73,7 @@ export default function Register(): JSX.Element {
Register Register
</button> </button>
</div> </div>
{error && <p className="text-red-500 text-xs italic">{error}</p>}
</form> </form>
<p className="text-center text-gray-500 text-xs"></p> <p className="text-center text-gray-500 text-xs"></p>
</div> </div>

6
package-lock.json generated
View file

@ -1,6 +0,0 @@
{
"name": "TTime",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}