feat: improve auth flow
All checks were successful
Deploy to Netlify / Deploy to Netlify (push) Successful in 2m8s

This commit is contained in:
Nathan Lamy 2025-08-21 18:46:36 +02:00
parent 053316ebef
commit 135058e2e1
3 changed files with 9 additions and 5 deletions

View file

@ -68,7 +68,7 @@ export default function Profile({ user }: { user: User }) {
<Button <Button
variant="destructive" variant="destructive"
className="w-full text-white" className="w-full text-white"
onClick={logout} onClick={handleLogout}
> >
<LogOut className="mr-2 h-4 w-4" /> <LogOut className="mr-2 h-4 w-4" />
Se déconnecter Se déconnecter

View file

@ -68,13 +68,13 @@ export const getClasses = async () => {
}; };
export const registerUser = async ( export const registerUser = async (
name: string, userId: number,
className: string, className: string,
token: string token: string
) => { ) => {
return makePostRequest( return makePostRequest(
"/auth/register", "/auth/register",
{ name, className, token }, { userId, className, token },
"Échec de l'inscription" "Échec de l'inscription"
); );
}; };

View file

@ -52,7 +52,7 @@ export default function Register() {
const [error, setError] = useState<string | null>(null); const [error, setError] = useState<string | null>(null);
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const [names, setNames] = useState<{ value: string; label: string }[]>([]); const [names, setNames] = useState<{ value: string; label: string, userId: number }[]>([]);
const hasSubmitted = names.length > 0; const hasSubmitted = names.length > 0;
const handleSubmit = async (e: React.FormEvent) => { const handleSubmit = async (e: React.FormEvent) => {
@ -84,7 +84,11 @@ export default function Register() {
} else { } else {
// Register user // Register user
if (!name) return setError("Veuillez compléter votre nom."); if (!name) return setError("Veuillez compléter votre nom.");
await registerUser(name, className, token!) const userId = names.find(
(n) => n.value === name
)?.userId;
if (!userId) return setError("Une erreur est survenue, veuillez réessayer.");
await registerUser(userId, className, token!)
.then(() => { .then(() => {
setIsLoading(false); setIsLoading(false);
navigate("/", { navigate("/", {