From c08d46fcce0c6ef376d4493d7381cc14a2733651 Mon Sep 17 00:00:00 2001 From: Rebecca Smith <2145912+Rebeccals@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:09:36 -0700 Subject: [PATCH 1/2] Updated About page --- frontend/bitmatch/src/App.jsx | 15 +- .../src/components/about/TeamCard.jsx | 41 +++++ frontend/bitmatch/src/components/footer.jsx | 78 --------- frontend/bitmatch/src/components/navbar.jsx | 1 - frontend/bitmatch/src/lib/team_data.js | 33 ++++ frontend/bitmatch/src/views/AboutPage.jsx | 164 ++++++++++++++++++ 6 files changed, 252 insertions(+), 80 deletions(-) create mode 100644 frontend/bitmatch/src/components/about/TeamCard.jsx create mode 100644 frontend/bitmatch/src/lib/team_data.js create mode 100644 frontend/bitmatch/src/views/AboutPage.jsx diff --git a/frontend/bitmatch/src/App.jsx b/frontend/bitmatch/src/App.jsx index c3e5c5a..d99e804 100644 --- a/frontend/bitmatch/src/App.jsx +++ b/frontend/bitmatch/src/App.jsx @@ -15,6 +15,7 @@ import ProjectListPage from "./views/ProjectListPage"; import ProjectDetailPage from "./views/IndividualProjectPage"; import AddProjectPage from "./views/AddProjectPage"; import ProfilePage from "./views/ProfilePage"; +import AboutPage from "./views/AboutPage"; import OnboardPage from "./views/OnboardPage"; import InterestPage from "./components/onboarding/Interest"; @@ -33,8 +34,9 @@ function AppRoutes() { const pathname = location.pathname; const isLanding = pathname === "/" && !isSignedIn; const isOnboard = pathname.startsWith("/onboard"); + const isAbout = pathname.startsWith("/about"); - const shouldUseContainer = !isLanding && !isOnboard; + const shouldUseContainer = !isLanding && !isOnboard && !isAbout; const layoutClass = shouldUseContainer ? "container mx-auto px-4 py-16 pb-6 min-h-screen" @@ -145,6 +147,17 @@ function AppRoutes() { } /> + + {/* About */} + + + + } + /> + diff --git a/frontend/bitmatch/src/components/about/TeamCard.jsx b/frontend/bitmatch/src/components/about/TeamCard.jsx new file mode 100644 index 0000000..09c51c8 --- /dev/null +++ b/frontend/bitmatch/src/components/about/TeamCard.jsx @@ -0,0 +1,41 @@ +import { useEffect, useState } from "react"; +import { teamMembers } from "@/lib/team_data"; +import { motion } from "framer-motion"; + +export default function TeamCard() { + const [profiles, setProfiles] = useState([]); + + useEffect(() => { + setProfiles(teamMembers); + }, []); + + return ( +
+ {profiles.map((member, idx) => ( + +
+ {member.name} +
+

+ {member.name} +

+

{member.title}

+
+ ))} +
+ ); +} diff --git a/frontend/bitmatch/src/components/footer.jsx b/frontend/bitmatch/src/components/footer.jsx index 542317a..e51d9a0 100644 --- a/frontend/bitmatch/src/components/footer.jsx +++ b/frontend/bitmatch/src/components/footer.jsx @@ -1,14 +1,6 @@ import { Link } from "react-router-dom"; export default function Footer({ links = [], showSocial = true }) { - const defaultLinks = [ - { href: "/terms", label: "Terms" }, - { href: "/privacy", label: "Privacy" }, - { href: "/contact", label: "Contact" }, - ]; - - const footerLinks = links.length > 0 ? links : defaultLinks; - return (
@@ -17,76 +9,6 @@ export default function Footer({ links = [], showSocial = true }) { © {new Date().getFullYear()} BITMATCH. All rights reserved.

- - - - {showSocial && ( -
- - - - - Facebook - - - - - - - - Instagram - - - - - - Twitter - -
- )}
); diff --git a/frontend/bitmatch/src/components/navbar.jsx b/frontend/bitmatch/src/components/navbar.jsx index c6edeec..c37b4b5 100644 --- a/frontend/bitmatch/src/components/navbar.jsx +++ b/frontend/bitmatch/src/components/navbar.jsx @@ -15,7 +15,6 @@ export default function Navbar({ links = [] }) { const { user } = useUser(); const defaultLinks = [ { href: "/about", label: "About" }, - { href: "/contact", label: "Contact" }, ...(user?.id ? [ { href: "/project-list", label: "Browse" }, diff --git a/frontend/bitmatch/src/lib/team_data.js b/frontend/bitmatch/src/lib/team_data.js new file mode 100644 index 0000000..72d882a --- /dev/null +++ b/frontend/bitmatch/src/lib/team_data.js @@ -0,0 +1,33 @@ +// src/lib/team_data.js + +export const teamMembers = [ + { + id: 1, + name: "Larry La", + title: "Software Engineer", + image: "https://avatars.githubusercontent.com/u/137100338?v=4", + linkedin: "https://www.linkedin.com/in/lqla/", + }, + { + id: 2, + name: "Rebecca Smith", + title: "Frontend Developer", + image: "https://avatars.githubusercontent.com/u/2145912?v=4", + linkedin: "https://www.linkedin.com/in/rebecca-l-smith-3075604/", + }, + { + id: 3, + name: "Luis Dominguez", + title: "Software Engineer", + image: "https://avatars.githubusercontent.com/u/118137779?v=4", + linkedin: "https://www.linkedin.com/in/luis-dominguez-9b11702b5/", + }, + { + id: 4, + name: "William Garcia", + title: "Software Engineer", + image: "https://avatars.githubusercontent.com/u/102125255?v=4", + linkedin: "https://www.linkedin.com/in/william-garcia-946709297/", + }, + ]; + \ No newline at end of file diff --git a/frontend/bitmatch/src/views/AboutPage.jsx b/frontend/bitmatch/src/views/AboutPage.jsx new file mode 100644 index 0000000..d3efe81 --- /dev/null +++ b/frontend/bitmatch/src/views/AboutPage.jsx @@ -0,0 +1,164 @@ +import React from "react"; +import { motion } from "framer-motion"; +import TeamCard from "@/components/about/TeamCard"; +import { Input } from "@/components/ui/input"; +import { Textarea } from "@/components/ui/textarea"; +import { Button } from "@/components/ui/button"; + +function ContactItem({ icon: Icon, label, value }) { + return ( +
+ +
+

{label}

+

{value}

+
+
+ ); +} + +export default function AboutPage() { + return ( +
+ {/* Header Section */} + +
+ + About + +
+ + {/* Story Section */} + +

+ BitMatch was created by a team of students from Cal Poly Pomona who came together under the name Bit by Bit to solve a common challenge: helping students connect with meaningful project opportunities. +

+

+ Our platform acts as a digital project incubator, where users can post their ideas, specify skills they need, and discover teammates with shared interests. Meanwhile, students looking to contribute can receive intelligent project recommendations based on their profile. +

+

+ Our mission is to foster collaboration, drive innovation, and give students real-world experience in their fields by enabling them to build together. +

+
+
+ + {/* Team Section */} + +
+ + The Developers + +

+ Meet the passionate team behind BitMatch. +

+ +
+
+ + {/* Contact Form Section */} + +
+

Contact Us

+

+ Have questions or want to learn more about our mission? Send us a message—we'd love to hear from you. +

+ +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ +