diff --git a/.vscode/settings.json b/.vscode/settings.json
index b0d07499..ad92582b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,3 @@
{
- "editor.formatOnSave": false
-}
\ No newline at end of file
+ "editor.formatOnSave": true
+}
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 86aa0329..388c005d 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -9,7 +9,6 @@ import "src/components/ScrollDownArrow/styles.scss";
import "src/components/Statistic/styles.scss";
// section css imports
import "src/sections/about/styles.scss";
-import "src/sections/community/styles.scss";
import "src/sections/home/styles.scss";
import "src/sections/sponsorship/styles.scss";
diff --git a/pages/communities.tsx b/pages/communities.tsx
index 04e4ee4d..e59d4693 100644
--- a/pages/communities.tsx
+++ b/pages/communities.tsx
@@ -1,21 +1,10 @@
-import { useState, useEffect } from "react";
-import { Size, useWindowSize } from "src/utils/general";
-
import SEO from "src/components/SEO";
-import CommunityHero from "src/sections/community/Community.Hero";
-import CommunitySuborgs from "src/sections/community/Community.Suborgs";
+import CommunitySuborgs from "src/sections/community/Suborgs";
import ACMWhiteLogo from "public/assets/ACMWhiteLogo.png";
import { NextPage } from "next";
const CommunitiesPage: NextPage = () => {
- const size: Size = useWindowSize();
- const [isMobile, setIsMobile] = useState(false);
-
- useEffect(() => {
- setIsMobile((size.width || 0) <= 812);
- }, [size]);
-
return (
<>
{
description="ACM at UCSD is one large community, but it is made up of several smaller communities focused on specific areas of technology."
image={ACMWhiteLogo.src}
/>
-
+
>
);
};
diff --git a/public/assets/communities-images/DesignACM/Design1.jpg b/public/assets/communities-images/DesignACM/Design1.jpg
new file mode 100644
index 00000000..dde9d669
Binary files /dev/null and b/public/assets/communities-images/DesignACM/Design1.jpg differ
diff --git a/public/assets/communities-images/DesignACM/Design2.jpg b/public/assets/communities-images/DesignACM/Design2.jpg
new file mode 100644
index 00000000..fd56124d
Binary files /dev/null and b/public/assets/communities-images/DesignACM/Design2.jpg differ
diff --git a/public/assets/communities-images/DesignACM/Design3.jpg b/public/assets/communities-images/DesignACM/Design3.jpg
new file mode 100644
index 00000000..e4a0f793
Binary files /dev/null and b/public/assets/communities-images/DesignACM/Design3.jpg differ
diff --git a/public/assets/communities-images/DesignACM/Design4.jpg b/public/assets/communities-images/DesignACM/Design4.jpg
new file mode 100644
index 00000000..7e742a63
Binary files /dev/null and b/public/assets/communities-images/DesignACM/Design4.jpg differ
diff --git a/public/assets/communities-images/Projects/Project2.png b/public/assets/communities-images/Projects/Project2.png
new file mode 100644
index 00000000..3a53275d
Binary files /dev/null and b/public/assets/communities-images/Projects/Project2.png differ
diff --git a/public/assets/communities-images/Projects/Project3.png b/public/assets/communities-images/Projects/Project3.png
new file mode 100644
index 00000000..a4fe29dd
Binary files /dev/null and b/public/assets/communities-images/Projects/Project3.png differ
diff --git a/public/assets/communities-images/Projects/Project4.png b/public/assets/communities-images/Projects/Project4.png
new file mode 100644
index 00000000..7dc8074e
Binary files /dev/null and b/public/assets/communities-images/Projects/Project4.png differ
diff --git a/public/assets/communities-images/Projects/ProjectShowcase.png b/public/assets/communities-images/Projects/ProjectShowcase.png
new file mode 100644
index 00000000..3273c0e6
Binary files /dev/null and b/public/assets/communities-images/Projects/ProjectShowcase.png differ
diff --git a/public/assets/communities-links/outreach-discord.svg b/public/assets/communities-links/outreach-discord.svg
new file mode 100644
index 00000000..b8b5bdaf
--- /dev/null
+++ b/public/assets/communities-links/outreach-discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/communities-links/outreach-home.svg b/public/assets/communities-links/outreach-home.svg
new file mode 100644
index 00000000..762aa7bf
--- /dev/null
+++ b/public/assets/communities-links/outreach-home.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/communities-links/projects-home.svg b/public/assets/communities-links/projects-home.svg
new file mode 100644
index 00000000..b05ca56f
--- /dev/null
+++ b/public/assets/communities-links/projects-home.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/communities-links/space-home.svg b/public/assets/communities-links/space-home.svg
new file mode 100644
index 00000000..797eacca
--- /dev/null
+++ b/public/assets/communities-links/space-home.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/communities-navigation/ai-selected.svg b/public/assets/communities-navigation/ai-selected.svg
deleted file mode 100644
index e99cbd37..00000000
--- a/public/assets/communities-navigation/ai-selected.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/assets/communities-navigation/cyber-selected.svg b/public/assets/communities-navigation/cyber-selected.svg
deleted file mode 100644
index 6a5ac4c8..00000000
--- a/public/assets/communities-navigation/cyber-selected.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/assets/communities-navigation/design-selected.svg b/public/assets/communities-navigation/design-selected.svg
deleted file mode 100644
index a38be4d9..00000000
--- a/public/assets/communities-navigation/design-selected.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/public/assets/communities-navigation/hack-selected.svg b/public/assets/communities-navigation/hack-selected.svg
deleted file mode 100644
index 73ca5e7d..00000000
--- a/public/assets/communities-navigation/hack-selected.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/assets/communities-navigation/innovate-selected.svg b/public/assets/communities-navigation/innovate-selected.svg
deleted file mode 100644
index cd51e5af..00000000
--- a/public/assets/communities-navigation/innovate-selected.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/assets/logos/acm-ai.svg b/public/assets/logos/acm-ai.svg
index b909510f..dc3e871b 100644
--- a/public/assets/logos/acm-ai.svg
+++ b/public/assets/logos/acm-ai.svg
@@ -1 +1,4 @@
-
\ No newline at end of file
+
diff --git a/public/assets/logos/acm-cyber.svg b/public/assets/logos/acm-cyber.svg
index 822bbe8a..d8721c55 100644
--- a/public/assets/logos/acm-cyber.svg
+++ b/public/assets/logos/acm-cyber.svg
@@ -1 +1,4 @@
-
\ No newline at end of file
+
diff --git a/public/assets/logos/acm-design.svg b/public/assets/logos/acm-design.svg
index deb5af2e..00e08eee 100644
--- a/public/assets/logos/acm-design.svg
+++ b/public/assets/logos/acm-design.svg
@@ -1,8 +1,4 @@
-
- }
-
- srcs={[AI1.src, AI2.src, AI3.src, AI4.src]}
- alts={[]}
- />
-);
-
-const AITitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string }> = ({ isMobile, open, setSelected, glowClassName }) => (
-
-);
-
-const CyberCommunity: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- ACM Cyber aims to provide member-first opportunities to learn, teach,
- and practice critical cybersecurity skills to help the UCSD community
- thrive.
-
-
- With over 300 members currently registered, we are one of the fastest
- growing organizations on campus. We host hands-on workshops, industry
- panels, competitive CTF training, and mentorship opportunities for our
- members. Our largest event of the year is San Diego CTF (Capture the
- Flag), a 48 hour jeopardy style hacking game.
-
- }
- srcs={[Cyber1.src, Cyber2.src, Cyber3.src, Cyber4.src]}
- alts={["Picture of Cyber Event, Picture of Cyber Event, Picture of Cyber Event, Picture of Cyber Members Playing Board Games"]}
- />
-);
-
-const CyberTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string}> = ({ isMobile, open, setSelected, glowClassName }) => (
-
-);
-
-const HackCommunity: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- ACM Hack is a community centered around software engineering and exploring what is possible through code.
-
-
- Our name comes from Hackathons – events where software engineers write code to produce innovative projects.
- Our goal is to enable and prepare a community of software engineers to build new things and excel in industry.
- We do this through technical workshops on industry-relevant tools, bootcamps, and projects.
-
-
- Join our Discord to engage with our community, and check out our website to learn more about us!
-
- }
- srcs={[Hack1.src, Hack2.src, Hack3.src, Hack4.src]}
- alts={["Picture of Hack Event", "Picture of Hack Event", "Picture of Hack Event", "Picture of Hack Event"]}
- />
-);
-
-const HackTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string}> = ({ isMobile, open, setSelected, glowClassName}) => (
-
-);
-
-const DesignCommunity: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- ACM Design centers around UI/UX design and exploring what is possible through all parts of design like research, graphic, and product.
-
-
- We uplift new designers and curious developers to learn how to think like a designer. As a growing community, we host events to teach designers to go from mapping out ideas to building innovative prototypes. We strive to allow designers to have better conversations with developers while making developers more conscious of design methods.
-
- }
- srcs={[]}
- alts={[]}
- />
-);
-
-const DesignTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string,}> = ({ isMobile, open, setSelected, glowClassName}) => (
-
-);
-
-const BitByteTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string}> = ({ isMobile, open, setSelected, glowClassName }) => (
-
-);
-
-const BitByteDescription: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- Join ACM’s Bit-Byte program that pairs students to make lifelong friendships!
- Our upperclassmen bigs (bytes) help their littles (bits) grow in their academic,
- social, and professional lives.
-
- }
- srcs={[BitByte1.src, BitByte2.src, BitByte4.src, BitByte3.src]}
- alts={['Bit Byte 1', 'Bit Byte 2', 'Bit Byte 3', 'Bit Byte 4']}
- />
-);
-
-const OutreachTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string}> = ({ isMobile, open, setSelected, glowClassName }) => (
-
-);
-
-const OutreachDescription: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- Welcome to ACM Outreach at UCSD, where our mission is to ignite a passion for computing
- and STEM among K-12 students, with a special focus on those who are underrepresented
- in the computing community. Our goal is to empower students to explore the exciting
- world of computing by nurturing their curiosity and enthusiasm for technology.
- Join us in inspiring the next generation of innovators and problem solvers!
-
- }
- srcs={[Outreach1.src, Outreach2.src, Outreach3.src, Outreach4.src]}
- alts={['Outreach 1', 'Outreach 2', 'Outreach 3', 'Outreach 4']}
- />
-);
-
-const ProjectsTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string,}> = ({ isMobile, open, setSelected, glowClassName }) => (
-
-);
-
-const ProjectsDescription: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- Sign up to join a team in our quarter-long projects.
- Grow your skills in coding, design, or project management.
-
- }
-
- srcs={[]}
- alts={[]}
- />
-);
-
-const SpaceTitle: React.FC<{ isMobile: boolean, open?:boolean, setSelected: (org: string) => void; glowClassName: string,}> = ({ isMobile, open, setSelected, glowClassName}) => (
-
-);
-
-const SpaceDescription: React.FC<{ isMobile: boolean }> = ({ isMobile }) => (
-
- Through SPACE, students and recruiters can connect and interact with
- each other regarding professional opportunities such as internships,
- full or part-time positions, and student programs.
-
- }
- srcs={[SPACE1.src, SPACE2.src, SPACE3.src, SPACE4.src]}
- alts={['Space 1', 'Space 2', 'Space 3', 'Space 4']}
- />
-);
-
-const CommunitySubOrgs: React.FC<{ isMobile: boolean }> = ({ isMobile }) => {
- const [selected, setSelected] = useState("general");
- const [activeLink, setActiveLink] = useState("communities");
-
- const handleLinkClick = (link) => {
- setActiveLink(link);
- }
-
- const communityComponents = {
- ai: ,
- cyber: ,
- hack: ,
- design: ,
- general: (
-
-
- ACM at UCSD is one large community, but it is made up of several
- smaller communities focused on specific areas of technology.
-
+ Our goals are to help build a community of AI enthusiasts at UCSD and
+ connect that community to the broader AI network.
+
+
+ We strive to keep AI fun and accessible to all. We want to help you
+ navigate your path around the complex world of AI through workshops,
+ fun hands on competitions, mentor-guided projects, networking events
+ and more!
+
+
+ Join our Discord and sign up for an account on our website to get
+ access to all the perks and be up to date on AI and the community!
+
+ >
+ }
+ srcs={[AI1.src, AI2.src, AI3.src, AI4.src]}
+ alts={[
+ "members sitting at a table smiling",
+ "three people, one holding a massive water jug, hiking by the sea",
+ "a bunch of people sitting and smiling at a table",
+ "people masked outside the elevators at Nobel Drive Station",
+ ]}
+ />
+);
+
+const CyberCommunity: React.FC = () => (
+
+
+ ACM Cyber aims to provide member-first opportunities to learn, teach,
+ and practice critical cybersecurity skills to help the UCSD community
+ thrive.
+
+
+ With over 700 members currently registered, we are one of the fastest
+ growing organizations on campus. We host hands-on workshops, industry
+ panels, competitive CTF training, and mentorship opportunities for our
+ members. Our largest event of the year is San Diego CTF (Capture the
+ Flag), a 48 hour jeopardy-style hacking game.
+
+ >
+ }
+ srcs={[Cyber1.src, Cyber2.src, Cyber3.src, Cyber4.src]}
+ alts={[
+ 'ACM Cyber Board stands in front of a UCSD kiosk set to display "Cyber"',
+ "members picking locks at Lockpicking 102",
+ "ACM Cyber president Nick helps members pick a lock",
+ "Cyber Members Playing Board Games",
+ ]}
+ />
+);
+
+const HackCommunity: React.FC = () => (
+
+
+ ACM Hack is a community centered around software engineering and
+ exploring what is possible through code.
+
+
+ Our name comes from hackathons—events where software engineers write
+ code to produce innovative projects. Our goal is to enable and prepare
+ a community of software engineers to build new things and excel in
+ industry. We do this through technical workshops on industry-relevant
+ tools, bootcamps, and projects.
+
+
+ Join our Discord to engage with our community, and check out our
+ website to learn more about us!
+
+ >
+ }
+ srcs={[Hack1.src, Hack2.src, Hack3.src, Hack4.src]}
+ alts={[
+ "members locking in at a Hack workshop",
+ "members watch presentation at a Hack Event",
+ "ACM Hack president Nikhil helps someone at a Hack Event",
+ "members consider what their project responsibilities and technologies are at a Hack Event",
+ ]}
+ />
+);
+
+const DesignCommunity: React.FC = () => (
+
+
+ ACM Design centers around UI/UX design and exploring what is possible
+ through all parts of design like research, graphic, and product.
+
+
+ We uplift new designers and curious developers to learn how to think
+ like a designer. As a growing community, we host events to teach
+ designers to go from mapping out ideas to building innovative
+ prototypes. We strive to allow designers to have better conversations
+ with developers while making developers more conscious of design
+ methods.
+
+ >
+ }
+ srcs={[Design1.src, Design2.src, Design3.src, Design4.src]}
+ alts={[
+ "People brainstorming designs on sticky notes",
+ "Design presenter presenting",
+ "Design event wide shot",
+ "Example design project",
+ ]}
+ />
+);
+
+const BitByteDescription: React.FC = () => (
+
+ Join ACM’s Bit–Byte program that pairs students to make lifelong
+ friendships! Our upperclassmen bigs (bytes) help their littles (bits)
+ grow in their academic, social, and professional lives.
+
+ }
+ srcs={[BitByte1.src, BitByte2.src, BitByte4.src, BitByte3.src]}
+ alts={[
+ "one or two trees in the bit byte program",
+ "VP Membership Tony presents tips for success for the bit byte program",
+ 'members talk over some tapioca express "boba"',
+ "members at bit byte allocation",
+ ]}
+ />
+);
+
+const OutreachDescription: React.FC = () => (
+
+ Welcome to ACM Outreach at UCSD, where our mission is to ignite a
+ passion for computing and STEM among K-12 students, with a special focus
+ on those who are underrepresented in the computing community. Our goal
+ is to empower students to explore the exciting world of computing by
+ nurturing their curiosity and enthusiasm for technology. Join us in
+ inspiring the next generation of innovators and problem solvers!
+
+ }
+ srcs={[Outreach1.src, Outreach2.src, Outreach3.src, Outreach4.src]}
+ alts={[
+ "Boy Scouts and Outreach volunteers make diamond signs with their hands in front of the Warren Bear",
+ "Outreach volunteers help out Boy Scouts with their Scratch projects",
+ "a child studiously considers whether to leave Scratch with their project changes unsaved",
+ "Boy Scouts and Outreach volunteers share their favorite video games",
+ ]}
+ />
+);
+
+const ProjectsDescription: React.FC = () => (
+
+ Sign up to join a team in our quarter-long projects. Grow your skills in
+ coding, design, or project management.
+
+ }
+ srcs={[Project1.src, Project2.src, Project3.src, Project4.src]}
+ alts={[
+ "members check out projects at project showcase",
+ "a project team makes diamond signs with their hands at project showcase, celebrating the completion of their project over the course of a quarter",
+ "a team hangs out at a social to take a break from their project",
+ "a project team",
+ ]}
+ />
+);
+
+const SpaceDescription: React.FC = () => (
+
+ Through SPACE, students and recruiters can connect and interact with
+ each other regarding professional opportunities such as internships,
+ full or part-time positions, and student programs.
+
+ }
+ srcs={[SPACE1.src, SPACE2.src, SPACE3.src, SPACE4.src]}
+ alts={[
+ "students talk to a company at SPACE",
+ "students talk to a recruiter at SPACE",
+ "LPL financial is hiring! recruiters give a thumbs-up",
+ "students excitedly await their turn to present themselves to companies",
+ ]}
+ />
+);
+
+const CommunitySubOrgs: React.FC = () => {
+ const [section, setSection] = useState<"communities" | "initiatives">(
+ "communities"
+ );
+ const [selected, setSelected] = useState("");
+
+ useEffect(() => {
+ const handleScroll = () => {
+ const middle = window.innerHeight / 2;
+
+ setSection(
+ middle >
+ (document.getElementById("initiatives")?.getBoundingClientRect()
+ .top ?? 0)
+ ? "initiatives"
+ : "communities"
+ );
+
+ const communities = document.getElementsByClassName(
+ "community-description"
+ );
+ for (const community of Array.from(communities).reverse()) {
+ const { top } = community.getBoundingClientRect();
+ if (middle > top) {
+ setSelected(community.id);
+ return;
+ }
+ }
+ setSelected("");
+ };
+ window.addEventListener("scroll", handleScroll);
+ return () => {
+ window.removeEventListener("scroll", handleScroll);
+ };
+ }, []);
+
+ return (
+ <>
+
+ Explore ACM
+
+
+ ACM at UCSD is one large community, but it is made up of several smaller
+ communities focused on specific areas of technology.
+