From 30ce146c2b8aa6a4db447f9de7ef24bebeb4b088 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 2 Mar 2024 17:04:13 -0700 Subject: [PATCH 01/23] init sub teams --- src/Teams/Leadership.json | 9 +++++ src/Teams/SubTeams.css | 0 src/Teams/SubTeams.js | 34 +++++++++++++++++++ src/Teams/Teams.js | 5 --- src/index.js | 70 +++++++++++++++++++++++---------------- 5 files changed, 85 insertions(+), 33 deletions(-) create mode 100644 src/Teams/Leadership.json create mode 100644 src/Teams/SubTeams.css create mode 100644 src/Teams/SubTeams.js delete mode 100644 src/Teams/Teams.js diff --git a/src/Teams/Leadership.json b/src/Teams/Leadership.json new file mode 100644 index 0000000..8e55c28 --- /dev/null +++ b/src/Teams/Leadership.json @@ -0,0 +1,9 @@ +{ + "Team Captain": "Aidan Schroeder", + "Nole Tabelon": "Chassis Lead", + "Hewitt Yee": "Drivetrain Lead", + "Alex Buzdugan": "Electrical Lead", + "Brock Tomlinson": "Business and Softawre Lead", + "Ghaith Abu-Rub": "Suspension Lead", + "Anjali Patadia": "Steering Lead" +} diff --git a/src/Teams/SubTeams.css b/src/Teams/SubTeams.css new file mode 100644 index 0000000..e69de29 diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js new file mode 100644 index 0000000..9b8f17f --- /dev/null +++ b/src/Teams/SubTeams.js @@ -0,0 +1,34 @@ +const SubTeams = () => { + // const jsonImport = (filePath) => { + // data = import(filePath); + // return data; + // }; + // leadership_json = jsonImport("./Leadership.json"); + // console.log(leadership_json); + return ( +
+
+

Leadership

+

gallery

+
+ + + + + + + + + + + + + + + +
Aidan SchroederTeam Captain
Hewitt YeeDrivetrain Lead
Nole TabelonChassis Lead
+
+ ); +}; + +export default SubTeams; diff --git a/src/Teams/Teams.js b/src/Teams/Teams.js deleted file mode 100644 index 98b7bec..0000000 --- a/src/Teams/Teams.js +++ /dev/null @@ -1,5 +0,0 @@ -export default function Teams() { - return ( -

Teams

- ); -}; \ No newline at end of file diff --git a/src/index.js b/src/index.js index dceadbb..cf5cd77 100644 --- a/src/index.js +++ b/src/index.js @@ -1,34 +1,48 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import reportWebVitals from './reportWebVitals'; +import React from "react"; +import ReactDOM from "react-dom/client"; +import reportWebVitals from "./reportWebVitals"; import { BrowserRouter, Routes, Route } from "react-router-dom"; -import Header from './Header/Header'; -import AboutUs from './AboutUs/AboutUs'; -import Teams from './Teams/Teams'; -import OurSponsors from './OurSponsors/OurSponsors'; -import BecomeASponsor from './BecomeASponsor/BecomeASponsor'; -import JoinTheClub from './Club Membership & Upcoming Events/JoinTheClub/JoinTheClub'; -import UpcomingEvents from './Club Membership & Upcoming Events/UpcominEvents/UpcomingEvents'; -import Gallery from './Gallery/Gallery'; -import './index.css'; +import Header from "./Header/Header"; +import AboutUs from "./AboutUs/AboutUs"; +import SubTeams from "./Teams/SubTeams"; +import OurSponsors from "./OurSponsors/OurSponsors"; +import BecomeASponsor from "./BecomeASponsor/BecomeASponsor"; +import JoinTheClub from "./Club Membership & Upcoming Events/JoinTheClub/JoinTheClub"; +import UpcomingEvents from "./Club Membership & Upcoming Events/UpcominEvents/UpcomingEvents"; +import Gallery from "./Gallery/Gallery"; +import "./index.css"; -const root = ReactDOM.createRoot(document.getElementById('root')); +const root = ReactDOM.createRoot(document.getElementById("root")); root.render( - - - - }> - }> - }> - }> - }> - }> - }> - }> - - - - + + + + }> + }> + }> + }> + }> + }> + }> + }> + + + + ); // If you want to start measuring performance in your app, pass a function From 46676cc4321db50e20f7357096d0c428791c90f9 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 9 Mar 2024 10:39:49 -0700 Subject: [PATCH 02/23] testing iframe --- src/Teams/SubTeams.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index 9b8f17f..7665341 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -7,6 +7,15 @@ const SubTeams = () => { // console.log(leadership_json); return (
+

Leadership

gallery

From 4972e31ebc3545748780fe1c6a5de8f00831a8f7 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 16 Mar 2024 16:49:32 -0600 Subject: [PATCH 03/23] test for vercell --- src/MockDB/nothing.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/MockDB/nothing.txt diff --git a/src/MockDB/nothing.txt b/src/MockDB/nothing.txt new file mode 100644 index 0000000..aa47ece --- /dev/null +++ b/src/MockDB/nothing.txt @@ -0,0 +1 @@ +this is only for testing vercel \ No newline at end of file From b5cafacc0c889ae040885edf494ca6c0c24d5a53 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Wed, 20 Mar 2024 18:31:35 -0600 Subject: [PATCH 04/23] removed header: depreciated button removal --- src/Header/Header.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Header/Header.js b/src/Header/Header.js index d293b07..3165da3 100644 --- a/src/Header/Header.js +++ b/src/Header/Header.js @@ -61,16 +61,15 @@ const Header = () => { pageToGoTo={"/OurSponsors"} textOnButton={"Our Sponsors"} /> -
{/* dropdown menu is only visible when a mouse enters the area of the button below */} - {" "} + {/*this button does nothing yet*/} {isDropdownVisible && }
From b69f2f2b387fe36d2c741074a1158ef21ed5247f Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Wed, 20 Mar 2024 22:41:23 -0600 Subject: [PATCH 05/23] added subteams: started content for teams page --- src/MockDB/Leadership.yml | 28 ++++++ src/Teams/Leadership.json | 9 -- src/Teams/SubTeams.js | 174 ++++++++++++++++++++++++++++++-------- 3 files changed, 166 insertions(+), 45 deletions(-) create mode 100644 src/MockDB/Leadership.yml delete mode 100644 src/Teams/Leadership.json diff --git a/src/MockDB/Leadership.yml b/src/MockDB/Leadership.yml new file mode 100644 index 0000000..a73bc1e --- /dev/null +++ b/src/MockDB/Leadership.yml @@ -0,0 +1,28 @@ +Chassis: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Chassis Description (1 line) + longDescription: Chassis Description +Drivetrain: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Drivetrain Description (1 line) + longDescription: Drivetrain Description +Steering: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Steering Description (1 line) + longDescription: Steering Description +Suspension: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Suspension Description (1 line) + longDescription: Suspension Description +Electrical: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Electrical Description (1 line) + longDescription: Electrical Description +Logistics: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Logistics Description (1 line) + longDescription: Logistics Description +Software: + url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Software Description (1 line) + longDescription: Software Description diff --git a/src/Teams/Leadership.json b/src/Teams/Leadership.json deleted file mode 100644 index 8e55c28..0000000 --- a/src/Teams/Leadership.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Team Captain": "Aidan Schroeder", - "Nole Tabelon": "Chassis Lead", - "Hewitt Yee": "Drivetrain Lead", - "Alex Buzdugan": "Electrical Lead", - "Brock Tomlinson": "Business and Softawre Lead", - "Ghaith Abu-Rub": "Suspension Lead", - "Anjali Patadia": "Steering Lead" -} diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index 7665341..26413f7 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -1,41 +1,143 @@ +import "./SubTeams.css"; +import { useState, useEffect } from "react"; +import yaml from "js-yaml"; +import leadershipData from "../MockDB/Leadership.yml"; + const SubTeams = () => { - // const jsonImport = (filePath) => { - // data = import(filePath); - // return data; - // }; - // leadership_json = jsonImport("./Leadership.json"); - // console.log(leadership_json); + const [subteamsDict, setSubteamsDict] = useState(); + const [subteamsArray, setSubteamsArray] = useState(); + + useEffect(() => { + getLeadership(); + }, []); + /** + * @param {null} null - requires nothing (link) + * @returns {Object} sponsorsDict - gets a Dictionary of our sponsors from synology drive + * @description Gets the list of sponsors from the synology drive (not implemented), converts the json file into a dictionary + * @author Brock + * @todo add gPRC to backend and front end add connect to synology drive + */ + const getLeadership = async () => { + try { + const res = await fetch(leadershipData); + const rawText = await res.text(); + const yamlDict = await yaml.load(rawText); + setSubteamsDict(yamlDict); + setSubteamsArray(Object.values(yamlDict)); + } catch (error) { + //error checking + console.error("Error recieving data from server:"); + } + }; + console.log(subteamsDict); + return ( -
- -
-

Leadership

-

gallery

-
- - - - - - - - - - - - - - - -
Aidan SchroederTeam Captain
Hewitt YeeDrivetrain Lead
Nole TabelonChassis Lead
+
+

Get to Know Our Subteams

+ {subteamsDict === undefined && subteamsArray === undefined ? ( +

Loading...

+ ) : ( + <> + + + {/* this really sucks it needs to be changed */} + + {/* row 1 */} + + {/* row 2 */} + + {/* row 3 */} + + {/* row 4 */} + + {/* row 5 */} + + {/* row 6 */} + + {/* row 7 */} + + + + {/* row 1 */} + + {/* row 2 */} + + {/* row 3 */} + + {/* row 4 */} + + {/* row 5 */} + + {/* row 6 */} + + {/* row 7 */} + + + +
+ {subteamsArray[0] + + {subteamsArray[1] + + {subteamsArray[2] + + {subteamsArray[3] + + {subteamsArray[4] + + {subteamsArray[5] + + {subteamsArray[6] +
+

{subteamsArray[0].shortDescription}

+
+

{subteamsArray[1].shortDescription}

+
+

{subteamsArray[2].shortDescription}

+
+

{subteamsArray[3].shortDescription}

+
+

{subteamsArray[4].shortDescription}

+
+

{subteamsArray[5].shortDescription}

+
+

{subteamsArray[6].shortDescription}

+
+
+ {Object.keys(subteamsDict).map((subteamName, index) => { + const subteam = subteamsDict[subteamName]; + const className = index % 2 === 0 ? "SubteamsEnd" : ""; + return ( +
+

{subteamName}

+

{subteam.longDescription}

+
+ ); + })} +
+ + )}
); }; From 2edcc9d6d63d7fd46f98c6d1f0effd188c372ff5 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 12:02:06 -0600 Subject: [PATCH 06/23] added teams: page content is ready for changes in Subteams.yml --- src/MockDB/Leadership.yml | 28 ------------------ src/MockDB/SubTeams.yml | 35 ++++++++++++++++++++++ src/Teams/SubTeams.js | 62 ++++++++++++++++++++++++++++++++------- 3 files changed, 86 insertions(+), 39 deletions(-) delete mode 100644 src/MockDB/Leadership.yml create mode 100644 src/MockDB/SubTeams.yml diff --git a/src/MockDB/Leadership.yml b/src/MockDB/Leadership.yml deleted file mode 100644 index a73bc1e..0000000 --- a/src/MockDB/Leadership.yml +++ /dev/null @@ -1,28 +0,0 @@ -Chassis: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Chassis Description (1 line) - longDescription: Chassis Description -Drivetrain: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Drivetrain Description (1 line) - longDescription: Drivetrain Description -Steering: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Steering Description (1 line) - longDescription: Steering Description -Suspension: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Suspension Description (1 line) - longDescription: Suspension Description -Electrical: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Electrical Description (1 line) - longDescription: Electrical Description -Logistics: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Logistics Description (1 line) - longDescription: Logistics Description -Software: - url: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Software Description (1 line) - longDescription: Software Description diff --git a/src/MockDB/SubTeams.yml b/src/MockDB/SubTeams.yml new file mode 100644 index 0000000..34b9fc7 --- /dev/null +++ b/src/MockDB/SubTeams.yml @@ -0,0 +1,35 @@ +Chassis: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Chassis Description (1 line) + longDescription: Chassis Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Drivetrain: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Drivetrain Description (1 line) + longDescription: Drivetrain Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Steering: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Steering Description (1 line) + longDescription: Steering Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Suspension: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Suspension Description (1 line) + longDescription: Suspension Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Electrical: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Electrical Description (1 line) + longDescription: Electrical Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Logistics: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Logistics Description (1 line) + longDescription: Logistics Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg +Software: + iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg + shortDescription: Software Description (1 line) + longDescription: Software Description + subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index 26413f7..df308e7 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -1,7 +1,7 @@ import "./SubTeams.css"; import { useState, useEffect } from "react"; import yaml from "js-yaml"; -import leadershipData from "../MockDB/Leadership.yml"; +import leadershipData from "../MockDB/SubTeams.yml"; const SubTeams = () => { const [subteamsDict, setSubteamsDict] = useState(); @@ -29,7 +29,6 @@ const SubTeams = () => { console.error("Error recieving data from server:"); } }; - console.log(subteamsDict); return (
@@ -45,49 +44,49 @@ const SubTeams = () => { {/* row 1 */} {subteamsArray[0] {/* row 2 */} {subteamsArray[1] {/* row 3 */} {subteamsArray[2] {/* row 4 */} {subteamsArray[3] {/* row 5 */} {subteamsArray[4] {/* row 6 */} {subteamsArray[5] {/* row 7 */} {subteamsArray[6] @@ -130,8 +129,49 @@ const SubTeams = () => { const className = index % 2 === 0 ? "SubteamsEnd" : ""; return (
-

{subteamName}

-

{subteam.longDescription}

+ {index % 2 === 0 ? ( + <> +
+ {subteamName +

{subteamName}

+
+
+ { +

{subteam.longDescription}

+
+ + ) : ( + <> +
+

{subteamName}

+ {subteamName +
+
+

{subteam.longDescription}

+ { +
+ + )}
); })} From 32e8dbacbdfe531a12d416f6152002df8842a748 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 12:08:26 -0600 Subject: [PATCH 07/23] added Subteams: some comments added --- src/Teams/SubTeams.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index df308e7..7abed12 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -124,8 +124,10 @@ const SubTeams = () => {
+ {/* lays out content from the .yml file gets the name of the subteam and ready for layout */} {Object.keys(subteamsDict).map((subteamName, index) => { const subteam = subteamsDict[subteamName]; + //changes location of content based if the second one creates a checkerboard layout const className = index % 2 === 0 ? "SubteamsEnd" : ""; return (
From 849350c7324ec7319956647e2bf1b9fa8324ffa0 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 13:15:32 -0600 Subject: [PATCH 08/23] added Subteams: cleared comments added scroll to subteam code --- src/Teams/SubTeams.js | 90 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 73 insertions(+), 17 deletions(-) diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index 7abed12..c996b12 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -30,6 +30,19 @@ const SubTeams = () => { } }; + /** + * @param {index} Int - requires the number of the section to go to + * @returns {null} null - moves screen to a specific subteam section + * @description moves screen to the subteam's section upon click + * @author Brock + * @todo add css pointer talbe elements + */ + const ScrolltoSubteamSection = (index) => { + const section = document.querySelectorAll(".subteamSection")[index]; + if (section) { + section.scrollIntoView({ behavior: "smooth" }); + } + }; return (

Get to Know Our Subteams

@@ -42,49 +55,70 @@ const SubTeams = () => { {/* this really sucks it needs to be changed */} {/* row 1 */} - + { + ScrolltoSubteamSection(0); + }}> {subteamsArray[0] {/* row 2 */} - + { + ScrolltoSubteamSection(1); + }}> {subteamsArray[1] {/* row 3 */} - + { + ScrolltoSubteamSection(2); + }}> {subteamsArray[2] {/* row 4 */} - + { + ScrolltoSubteamSection(3); + }}> {subteamsArray[3] {/* row 5 */} - + { + ScrolltoSubteamSection(4); + }}> {subteamsArray[4] {/* row 6 */} - + { + ScrolltoSubteamSection(5); + }}> {subteamsArray[5] {/* row 7 */} - + { + ScrolltoSubteamSection(6); + }}> {subteamsArray[6] { {/* row 1 */} - + { + ScrolltoSubteamSection(0); + }}>

{subteamsArray[0].shortDescription}

{/* row 2 */} - + { + ScrolltoSubteamSection(1); + }}>

{subteamsArray[1].shortDescription}

{/* row 3 */} - + { + ScrolltoSubteamSection(2); + }}>

{subteamsArray[2].shortDescription}

{/* row 4 */} - + { + ScrolltoSubteamSection(3); + }}>

{subteamsArray[3].shortDescription}

{/* row 5 */} - + { + ScrolltoSubteamSection(4); + }}>

{subteamsArray[4].shortDescription}

{/* row 6 */} - + { + ScrolltoSubteamSection(5); + }}>

{subteamsArray[5].shortDescription}

{/* row 7 */} - + { + ScrolltoSubteamSection(6); + }}>

{subteamsArray[6].shortDescription}

- {/* lays out content from the .yml file gets the name of the subteam and ready for layout */} + {/* lays out content from the subteams dict gets the name of the subteam and index */} {Object.keys(subteamsDict).map((subteamName, index) => { const subteam = subteamsDict[subteamName]; //changes location of content based if the second one creates a checkerboard layout const className = index % 2 === 0 ? "SubteamsEnd" : ""; return (
+ {/* changes layout if the second or first one */} {index % 2 === 0 ? ( <> -
+
{subteamName { ) : ( <> -
+

{subteamName}

Date: Sat, 23 Mar 2024 13:33:13 -0600 Subject: [PATCH 09/23] added teams: added required info in teams.yml --- src/MockDB/SubTeams.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/MockDB/SubTeams.yml b/src/MockDB/SubTeams.yml index 34b9fc7..697951d 100644 --- a/src/MockDB/SubTeams.yml +++ b/src/MockDB/SubTeams.yml @@ -1,35 +1,35 @@ -Chassis: +Chassis and Ergonomics: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Chassis Description (1 line) - longDescription: Chassis Description + shortDescription: The chassis and ergo team builds the Main Chassis of the Car and builds the components for the driver to sit in + longDescription: Step into the world of the Chassis and Ergonomics Team, where comfort meets performance in every curve and contour. With an eye for detail and a passion for perfection, they sculpt the backbone of our vehicle, ensuring it's not just built to last, but to excel. From optimizing seating positions to fine-tuning weight distribution, they're the architects of a ride that feels as good as it looks. Join us as we push the boundaries of design and functionality, driven by the ingenuity of our Chassis and Ergonomics Team. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Drivetrain: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Drivetrain Description (1 line) - longDescription: Drivetrain Description + shortDescription: The drivetrain team connects the engine to the wheels + longDescription: The drivetrain subteam plays a pivotal role in ensuring efficient power transfer from the engine to the wheels, overseeing key components such as gearboxes, axles, and driveshafts. Through hands-on learning and mentorship, members develop a comprehensive skill set in CAD, FEA, CAM, and machining, empowering them to design, analyze, and manufacture critical vehicle components with a focus on innovation and practical applications. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Steering: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Steering Description (1 line) - longDescription: Steering Description + shortDescription: The steering team builds the componets that allow the driver to control the car + longDescription: In the steering subteam, we design and develop the steering behaviors of the car. This includes the turning radius, the ratio between the seeing pinion and rack, and implementing Ackerman geometry. every year we use a wide variety of machining techniques and software to bring our designs to life, ranging from FEA analysis to professional CNC machining. Our goal is to develop the most compact and lightweight system to achieve the optimal driving dynamics. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Suspension: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Suspension Description (1 line) - longDescription: Suspension Description + shortDescription: The suspension team makes it so that the car is able to handle all of the bumps and jumps + longDescription: The suspension subteam manages the vehicle's manoeuvrability and handling capabilities. As an offroad buggy, suspension setups must endure all terrain types, including rough rocks and fast jumps. Beyond their endurance capabilities, the vehicle’s handling characteristics are determined through rigorous development of the suspension geometry in simulation software and hand calculations. This subteam collaborates frequently with the chassis and steering subteams to optimize geometries. Suspension assemblies primarily comprised of arms, shocks, steering knuckles, and rear bearing carriers. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Electrical: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Electrical Description (1 line) - longDescription: Electrical Description + shortDescription: The electrical team connects some of the instruments the car uses and supports the team in additional ways + longDescription: The electrical team is pivotal in ensuring the performance, safety, and reliability of the racing car during competitions. They design robust electronics and safety mechanisms capable of withstanding the rigors of endurance racing. Additionally, they provide technological support to other sub-teams, integrating data collection systems that directly influence the design process for all components. Their responsibilities encompass designing, testing, and optimizing electrical systems while leveraging data to enhance vehicle performance and safety. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Logistics: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Logistics Description (1 line) - longDescription: Logistics Description + shortDescription: The logistics team handles the business side of the club and handles planning of trips to competitions + longDescription: We handle generating a majority of the money needed for operation of the club, travel funds and our social media pages. As part of our responsibility to our sponsors we handle organizing and training all of our members to an industry standard level, all of our work from software, sponsorship, professional outreach, CAD and manufacturing processes. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg Software: iconUrl: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg - shortDescription: Software Description (1 line) - longDescription: Software Description + shortDescription: The software team hanldes the data collection systems, our data storage server, and this website + longDescription: The software team works very closely with electrical team with the creation of our onboard data collection unit, ensuring that all of the code we produce is up to industry standard as well as we handle the creation and maintenence of this site, including the backend which we run on our very own server. subteamAtWork: https://res.cloudinary.com/dpgrgsh7g/image/upload/v1710016930/IMG-20240207-WA0000_e1jcf4.jpg From 891b818e9311bd670ca25044179775a36ca4fd42 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 15:06:18 -0600 Subject: [PATCH 10/23] added subteams: css done needs images, icons and descriptions --- src/Teams/SubTeams.css | 76 ++++++++++++++++++++++++++++++++++++++++++ src/Teams/SubTeams.js | 27 +++++++++------ 2 files changed, 93 insertions(+), 10 deletions(-) diff --git a/src/Teams/SubTeams.css b/src/Teams/SubTeams.css index e69de29..abf336d 100644 --- a/src/Teams/SubTeams.css +++ b/src/Teams/SubTeams.css @@ -0,0 +1,76 @@ +#subteams { + background-color: whitesmoke; + margin-left: 1rem; + margin-right: 1rem; +} + +#subteams h1 { + text-align: center; +} + +#subteams table { + display: flex; + justify-content: center; + width: 100%; + max-width: 100%; +} + +#subteams table tbody { + display: flex; + flex-direction: column; + justify-content: center; + background-color: grey; +} + +#subteams table td { + cursor: pointer; +} + +#subteams table img { + height: 10rem; + width: 10rem; +} + +#subteams table p { + width: 10rem; + text-align: center; +} + +.subteamsEnd { + text-align: end; + justify-content: end; + background-color: aqua; +} + +.subteamsEnd h2 { + padding-right: 1rem; + padding-left: 0px; +} + +#subteamContent { + background-color: blueviolet; + padding-top: 1rem; + padding-left: 1rem; + padding-right: 1rem; +} + +.subteamData { + display: flex; + flex-direction: row; + height: 10rem; + padding-bottom: 2rem; + padding-top: 0.5rem; + justify-content: center; +} + +#subteamContent p { + max-width: 50%; +} + +.subteamTitle { + display: flex; + flex-direction: row; + height: 5rem; + margin: 0px auto; + border-bottom: solid 2px black; +} diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index c996b12..fe39daa 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -3,6 +3,13 @@ import { useState, useEffect } from "react"; import yaml from "js-yaml"; import leadershipData from "../MockDB/SubTeams.yml"; +/** + * @param {null} null - requires nothing (link) + * @returns {JSX.Element} page - page content + * @description the subteams page + * @author Brock + * @todo add gPRC to backend and css + */ const SubTeams = () => { const [subteamsDict, setSubteamsDict] = useState(); const [subteamsArray, setSubteamsArray] = useState(); @@ -38,14 +45,14 @@ const SubTeams = () => { * @todo add css pointer talbe elements */ const ScrolltoSubteamSection = (index) => { - const section = document.querySelectorAll(".subteamSection")[index]; + const section = document.querySelectorAll(".subteamTitle")[index]; if (section) { section.scrollIntoView({ behavior: "smooth" }); } }; return ( -
-

Get to Know Our Subteams

+
+

Get to Know Our Subteams

{subteamsDict === undefined && subteamsArray === undefined ? (

Loading...

) : ( @@ -178,18 +185,18 @@ const SubTeams = () => { -
+
{/* lays out content from the subteams dict gets the name of the subteam and index */} {Object.keys(subteamsDict).map((subteamName, index) => { const subteam = subteamsDict[subteamName]; //changes location of content based if the second one creates a checkerboard layout - const className = index % 2 === 0 ? "SubteamsEnd" : ""; + let className = index % 2 === 0 ? "subteamsEnd" : ""; return ( -
+
{/* changes layout if the second or first one */} {index % 2 === 0 ? ( <> -
+
{subteamName { />

{subteamName}

-
+
{ { ) : ( <> -
+

{subteamName}

{ className={className} />
-
+

{subteam.longDescription}

Date: Sat, 23 Mar 2024 15:07:31 -0600 Subject: [PATCH 11/23] removed subteams: removed css testing colours --- src/Teams/SubTeams.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Teams/SubTeams.css b/src/Teams/SubTeams.css index abf336d..63698aa 100644 --- a/src/Teams/SubTeams.css +++ b/src/Teams/SubTeams.css @@ -1,5 +1,4 @@ #subteams { - background-color: whitesmoke; margin-left: 1rem; margin-right: 1rem; } @@ -19,7 +18,6 @@ display: flex; flex-direction: column; justify-content: center; - background-color: grey; } #subteams table td { @@ -39,7 +37,6 @@ .subteamsEnd { text-align: end; justify-content: end; - background-color: aqua; } .subteamsEnd h2 { @@ -48,7 +45,6 @@ } #subteamContent { - background-color: blueviolet; padding-top: 1rem; padding-left: 1rem; padding-right: 1rem; From 22cfe295f99d34085655bc91ce1c931ecce4dc51 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 15:15:06 -0600 Subject: [PATCH 12/23] fixed subteams: fixed comments to be more accurate --- src/Teams/SubTeams.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Teams/SubTeams.js b/src/Teams/SubTeams.js index fe39daa..46236d2 100644 --- a/src/Teams/SubTeams.js +++ b/src/Teams/SubTeams.js @@ -8,7 +8,7 @@ import leadershipData from "../MockDB/SubTeams.yml"; * @returns {JSX.Element} page - page content * @description the subteams page * @author Brock - * @todo add gPRC to backend and css + * @todo add gPRC to backend and any remaining css */ const SubTeams = () => { const [subteamsDict, setSubteamsDict] = useState(); @@ -42,7 +42,6 @@ const SubTeams = () => { * @returns {null} null - moves screen to a specific subteam section * @description moves screen to the subteam's section upon click * @author Brock - * @todo add css pointer talbe elements */ const ScrolltoSubteamSection = (index) => { const section = document.querySelectorAll(".subteamTitle")[index]; From 852d7632d1c4461c3d521c82967ed838002e40f3 Mon Sep 17 00:00:00 2001 From: darkicewolf50 Date: Sat, 23 Mar 2024 15:21:32 -0600 Subject: [PATCH 13/23] fixed orusponsors & index.js: removed depreciated code and changed alt message to be more clear --- src/OurSponsors/OurSponsors.js | 2 +- src/index.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/OurSponsors/OurSponsors.js b/src/OurSponsors/OurSponsors.js index 7c328e5..28c820f 100644 --- a/src/OurSponsors/OurSponsors.js +++ b/src/OurSponsors/OurSponsors.js @@ -87,7 +87,7 @@ const OurSponsors = () => {

A photo of our sponsorship package