From b270cecee2badca5e4d7963ee2c3316e08d91a50 Mon Sep 17 00:00:00 2001 From: minahil saqib Date: Thu, 23 Apr 2026 14:17:46 +1200 Subject: [PATCH 1/3] feat: create contact page --- client/src/main.tsx | 2 ++ client/src/pages/Contact.tsx | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 client/src/pages/Contact.tsx diff --git a/client/src/main.tsx b/client/src/main.tsx index 718c1e1..8b3f3cb 100644 --- a/client/src/main.tsx +++ b/client/src/main.tsx @@ -7,6 +7,7 @@ import ProjectTeam from "./pages/Project-Team"; import Alanna from "./pages/project-team/Alanna"; import "./index.css"; import Pruna from "./pages/project-team/Pruna"; +import Contact from "./pages/Contact"; {/* here's where we set up all our routing */} const router = createBrowserRouter([ @@ -18,6 +19,7 @@ const router = createBrowserRouter([ { path: "project-team", element: }, { path: "alanna", element: }, { path: "pruna", element: }, + { path: "contact", element: }, ], }, ]); diff --git a/client/src/pages/Contact.tsx b/client/src/pages/Contact.tsx new file mode 100644 index 0000000..2a8484f --- /dev/null +++ b/client/src/pages/Contact.tsx @@ -0,0 +1,3 @@ +export default function Contact(){ + +} \ No newline at end of file From c9b86509768d219cddf4e1f31c82b7d17869c04e Mon Sep 17 00:00:00 2001 From: minahil saqib Date: Thu, 23 Apr 2026 14:54:32 +1200 Subject: [PATCH 2/3] Added links to insta and facebook page as well as an email link, currently its my personal email --- client/src/pages/Contact.tsx | 33 ++++++++++++++++++-- client/src/pages/project-team/Minahil.tsx | 38 +++++++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 client/src/pages/project-team/Minahil.tsx diff --git a/client/src/pages/Contact.tsx b/client/src/pages/Contact.tsx index 2a8484f..3b8778a 100644 --- a/client/src/pages/Contact.tsx +++ b/client/src/pages/Contact.tsx @@ -1,3 +1,32 @@ -export default function Contact(){ - +import { FaInstagram, FaFacebook, FaEnvelope } from "react-icons/fa"; + +export default function Contact() { + return ( + <> +
+

Contact us!

+
+ +
+

+ Find us online! (╭ರ_•́) +

+ +
+ + + + + + + + + + + + +
+
+ + ); } \ No newline at end of file diff --git a/client/src/pages/project-team/Minahil.tsx b/client/src/pages/project-team/Minahil.tsx new file mode 100644 index 0000000..5c82915 --- /dev/null +++ b/client/src/pages/project-team/Minahil.tsx @@ -0,0 +1,38 @@ +import MinahilPhoto from "../../assets/about-us/minahil.jpg"; +import MemberStatsTable from "../../components/StatsTable"; + +export default function Minahil() { + return ( + <> +
+

HI! My name is Minahil ⸜(。˃ ᵕ ˂ )⸝♡

+ +

hi!

+ + +
+
+ + + +
+ + + + + )} \ No newline at end of file From 043a86989cd73bb7de59d0bd73c14f151a15f22c Mon Sep 17 00:00:00 2001 From: minahil saqib Date: Thu, 7 May 2026 15:20:33 +1200 Subject: [PATCH 3/3] feat: Added a form to the cont act page to directly send a message to connected email. --- client/src/pages/Contact.tsx | 73 ++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 7 deletions(-) diff --git a/client/src/pages/Contact.tsx b/client/src/pages/Contact.tsx index 3b8778a..a592dc5 100644 --- a/client/src/pages/Contact.tsx +++ b/client/src/pages/Contact.tsx @@ -1,28 +1,87 @@ +import { useState } from "react"; import { FaInstagram, FaFacebook, FaEnvelope } from "react-icons/fa"; export default function Contact() { + const [formData, setFormData] = useState({ name: "", email: "", message: "" }); + const [ status, setStatus ] = useState(""); + + const handleSubmit = async () => { + setStatus("Sending"); + const res = await fetch("https://formspree.io/f/xvzlqwkg", { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(formData) + }); + if (res.ok) { + setStatus("Message sent!"); + setFormData({ name: "", email: "", message: "" }); + } else { + setStatus("Error sending message."); + } + }; return ( <>
-

Contact us!

+

Contact us

+

+ Have questions or want to get in touch? We'd love to hear from you! +

+

+ Fill out the form below or reach out to us on social media. We look forward to connecting with you! (。˃ ᵕ ˂ )⸝♡ +

+
+ +
+ setFormData({ ...formData, name: e.target.value })} + className="bg-transparent border-2 border-blue rounded-2xl px-6 py-4 text-white placeholder-gray-400 outline-none focus:border-blue-300 transition" + /> + setFormData({ ...formData, email: e.target.value })} + className="bg-transparent border-2 border-blue rounded-2xl px-6 py-4 text-white placeholder-gray-400 outline-none focus:border-blue-300 transition" + /> +