From 3de02c279dae5f34291517d800f9bf1a7ed60c29 Mon Sep 17 00:00:00 2001 From: Suhani1234-5 Date: Thu, 24 Jul 2025 20:46:31 +0530 Subject: [PATCH 1/2] Signup UI --- src/Routes/Signup/Signup.tsx | 187 ++++++++++++++++++++++++----------- 1 file changed, 131 insertions(+), 56 deletions(-) diff --git a/src/Routes/Signup/Signup.tsx b/src/Routes/Signup/Signup.tsx index 40edaa8..579d2a9 100644 --- a/src/Routes/Signup/Signup.tsx +++ b/src/Routes/Signup/Signup.tsx @@ -1,7 +1,7 @@ import React, { useState, ChangeEvent, FormEvent } from "react"; import axios from "axios"; import { useNavigate } from "react-router-dom"; - +import { User, Mail, Lock } from "lucide-react"; const backendUrl = import.meta.env.VITE_BACKEND_URL; interface SignUpFormData { username: string; @@ -10,81 +10,156 @@ interface SignUpFormData { } const SignUp: React.FC = () => { - const [formData, setFormData] = useState({ username: "", email: "", password: "" }); + const [formData, setFormData] = useState({ + username: "", + email: "", + password: "" + }); const [message, setMessage] = useState(""); - - const navigate = useNavigate(); - - const handleChange = (e: ChangeEvent) => { +const navigate = useNavigate(); + const handleChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData({ ...formData, [name]: value }); }; - const handleSubmit = async (e: FormEvent) => { + const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { - const response = await axios.post( - `${backendUrl}/api/auth/signup`, + const response = await axios.post(`${backendUrl}/api/auth/signup`, formData // Include cookies for session ); setMessage(response.data.message); // Show success message from backend // Navigate to login page after successful signup if (response.data.message === 'User created successfully') { - navigate("/login"); - } - } catch (error: any) { - setMessage(error.response?.data?.message || "Something went wrong"); + navigate("/login");} + + + // // Simulate API call (replace with your actual backend integration) + // try { + // // Mock successful signup + // setMessage("Account created successfully! Redirecting to login..."); + + // // In your actual implementation, integrate with your backend here: + // // const response = await fetch(`${backendUrl}/api/auth/signup`, { + // // method: 'POST', + // // headers: { 'Content-Type': 'application/json' }, + // // body: JSON.stringify(formData) + // // }); + + // setTimeout(() => { + // // Navigate to login page in your actual implementation + // console.log("Redirecting to login page..."); + // }, 2000); + + } catch (error) { + setMessage("Something went wrong. Please try again."); } }; return ( -
-

Sign Up

-
-
- -
-
- +
+ {/* Background decorative elements */} +
+
+
+
+ +
+ {/* Logo and Title */} +
+
+ + + +
+

GitHubTracker

+

Join your GitHub journey

-
- + + {/* Sign Up Form */} +
+

Create Account

+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ + +
+ + {message && ( +
+ {message} +
+ )} + +
+

+ Already have an account?{' '} + +

+
- - - {message &&

{message}

} +
); }; -export default SignUp; +export default SignUp; \ No newline at end of file From 5b3186caaa29cf612280e71317547c7ad3ea8472 Mon Sep 17 00:00:00 2001 From: Suhani1234-5 Date: Thu, 24 Jul 2025 20:48:58 +0530 Subject: [PATCH 2/2] Signup UI --- src/Routes/Signup/Signup.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Routes/Signup/Signup.tsx b/src/Routes/Signup/Signup.tsx index 579d2a9..6ea1fc6 100644 --- a/src/Routes/Signup/Signup.tsx +++ b/src/Routes/Signup/Signup.tsx @@ -68,11 +68,9 @@ const navigate = useNavigate();
{/* Logo and Title */}
-
- - - -
+
+ Logo +

GitHubTracker

Join your GitHub journey