import { useState } from "react"; import { useNavigate } from "react-router"; import axiosInstance, { scheduleTokenRefresh } from "./api/axiosInstance"; import { useAuth } from "./context/authContext"; import type { User, UserResponse } from "./types"; const Register = () => { const { setUser } = useAuth(); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [fullname, setFullname] = useState(""); const [email, setEmail] = useState(""); const [profilePhoto, setProfilePhoto] = useState(null); const navigate = useNavigate(); const handleRegister = async (e: React.FormEvent) => { e.preventDefault(); const newUser: User = { username, fullName: fullname, email: email, profilePhoto: profilePhoto, }; try { const response = await axiosInstance.post<{ user: UserResponse; tokenExpiresIn: number; }>("/auth/register", { username, fullname, email, password, profilePhoto, }); scheduleTokenRefresh(response.data.tokenExpiresIn); setUser(newUser); // todo // setUser(response.data.user); navigate("/"); } catch (error) { console.error("Registration failed:", error); } }; return (

Register

setUsername(e.target.value)} />
setPassword(e.target.value)} />
setFullname(e.target.value)} />
setEmail(e.target.value)} />
setProfilePhoto(e.target.value)} />
); }; export default Register;