From aecbeea58e0d98a1dd3a6b201f00c332340a0f73 Mon Sep 17 00:00:00 2001 From: No767 <73260931+No767@users.noreply.github.com> Date: Fri, 8 May 2026 13:59:06 -0700 Subject: [PATCH 1/4] upload new pages --- src/assets/images/about-photo.jpg | Bin 0 -> 79764 bytes src/components/ui/accordion.tsx | 4 +- src/index.css | 14 + src/routeTree.gen.ts | 42 ++- src/routes/about.tsx | 558 ++++++++++++++++++++++++++++++ src/routes/sigs.tsx | 360 +++++++++++++++++++ 6 files changed, 973 insertions(+), 5 deletions(-) create mode 100644 src/assets/images/about-photo.jpg create mode 100644 src/routes/about.tsx create mode 100644 src/routes/sigs.tsx diff --git a/src/assets/images/about-photo.jpg b/src/assets/images/about-photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e13e800c1b30566f4e68bf3dd08f7377e39c4230 GIT binary patch literal 79764 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 literal 0 HcmV?d00001 diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx index 22f220cd..9e32ad50 100644 --- a/src/components/ui/accordion.tsx +++ b/src/components/ui/accordion.tsx @@ -54,12 +54,12 @@ function AccordionContent({ return (
diff --git a/src/index.css b/src/index.css index 284ba4ba..4d635c5c 100644 --- a/src/index.css +++ b/src/index.css @@ -54,6 +54,14 @@ --brand-text-hero: #ebf2f1; --brand-navbar: #00e1bf; --brand-footer: rgba(0, 225, 191, 0.85); + + /* Per-SIG accent colors. Funneled into `--sig-color` on each SIG section. */ + --sig-swe: #3da9fc; + --sig-ai: #00c9a7; + --sig-cyber: #ff6b6b; + --sig-data: #f7b731; + --sig-graph: #a55eea; + --sig-arch: #fc5c7d; } /* ---break--- @@ -137,6 +145,12 @@ --color-brand-text-hero: var(--brand-text-hero); --color-brand-navbar: var(--brand-navbar); --color-brand-footer: var(--brand-footer); + --color-sig-swe: var(--sig-swe); + --color-sig-ai: var(--sig-ai); + --color-sig-cyber: var(--sig-cyber); + --color-sig-data: var(--sig-data); + --color-sig-graph: var(--sig-graph); + --color-sig-arch: var(--sig-arch); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index d204c269..60a4eafd 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -9,8 +9,20 @@ // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. import { Route as rootRouteImport } from './routes/__root' +import { Route as SigsRouteImport } from './routes/sigs' +import { Route as AboutRouteImport } from './routes/about' import { Route as IndexRouteImport } from './routes/index' +const SigsRoute = SigsRouteImport.update({ + id: '/sigs', + path: '/sigs', + getParentRoute: () => rootRouteImport, +} as any) +const AboutRoute = AboutRouteImport.update({ + id: '/about', + path: '/about', + getParentRoute: () => rootRouteImport, +} as any) const IndexRoute = IndexRouteImport.update({ id: '/', path: '/', @@ -19,28 +31,50 @@ const IndexRoute = IndexRouteImport.update({ export interface FileRoutesByFullPath { '/': typeof IndexRoute + '/about': typeof AboutRoute + '/sigs': typeof SigsRoute } export interface FileRoutesByTo { '/': typeof IndexRoute + '/about': typeof AboutRoute + '/sigs': typeof SigsRoute } export interface FileRoutesById { __root__: typeof rootRouteImport '/': typeof IndexRoute + '/about': typeof AboutRoute + '/sigs': typeof SigsRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath - fullPaths: '/' + fullPaths: '/' | '/about' | '/sigs' fileRoutesByTo: FileRoutesByTo - to: '/' - id: '__root__' | '/' + to: '/' | '/about' | '/sigs' + id: '__root__' | '/' | '/about' | '/sigs' fileRoutesById: FileRoutesById } export interface RootRouteChildren { IndexRoute: typeof IndexRoute + AboutRoute: typeof AboutRoute + SigsRoute: typeof SigsRoute } declare module '@tanstack/react-router' { interface FileRoutesByPath { + '/sigs': { + id: '/sigs' + path: '/sigs' + fullPath: '/sigs' + preLoaderRoute: typeof SigsRouteImport + parentRoute: typeof rootRouteImport + } + '/about': { + id: '/about' + path: '/about' + fullPath: '/about' + preLoaderRoute: typeof AboutRouteImport + parentRoute: typeof rootRouteImport + } '/': { id: '/' path: '/' @@ -53,6 +87,8 @@ declare module '@tanstack/react-router' { const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, + AboutRoute: AboutRoute, + SigsRoute: SigsRoute, } export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) diff --git a/src/routes/about.tsx b/src/routes/about.tsx new file mode 100644 index 00000000..f8bc38b2 --- /dev/null +++ b/src/routes/about.tsx @@ -0,0 +1,558 @@ +import { SiInstagram } from "@icons-pack/react-simple-icons"; +import { createFileRoute, Link } from "@tanstack/react-router"; +import { Mail } from "lucide-react"; +import { useCallback, useState, type CSSProperties, type MouseEvent } from "react"; + +import aboutPhoto from "@/assets/images/about-photo.jpg"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { cn } from "@/lib/utils"; + +export const Route = createFileRoute("/about")({ + component: About, +}); + +/// Types and Interfaces + +interface AboutStat { + value: string; + label: string; +} + +interface Activity { + icon: string; + title: string; + short: string; + desc: string; + tags: readonly string[]; +} + +interface BoardMember { + name: string; + role: string; + initials: string; + color: string; + avatarStyle: CSSProperties; +} + +interface FaqItem { + question: string; + answer: string; +} + +interface AboutUsData { + stats: readonly AboutStat[]; + activities: readonly Activity[]; + board: readonly BoardMember[]; + faq: readonly FaqItem[]; +} + +/// Module-level constants + +const ABOUT_US: AboutUsData = { + stats: [ + { value: "200+", label: "Members" }, + { value: "6", label: "SIGs" }, + { value: "30+", label: "Events / Year" }, + { value: "2011", label: "Founded" }, + ], + + activities: [ + { + icon: "🛠", + title: "Workshops", + short: "Hands-on technical workshops.", + desc: "Hands-on technical workshops covering web dev, ML, security, data science, and more — taught by your peers and industry mentors. No prerequisites required.", + tags: ["Web Dev", "ML", "Security", "Data", "Mobile"], + }, + { + icon: "🤝", + title: "Community", + short: "A welcoming space for everyone.", + desc: "A welcoming space for CS students, engineers, designers, and anyone curious about computing at UCM. Find study buddies, mentors, and friends.", + tags: ["Discord", "Study Halls", "Socials", "Mentorship"], + }, + { + icon: "💼", + title: "Career Prep", + short: "Resume reviews & interviews.", + desc: "Resume reviews, mock interviews, LinkedIn workshops, and direct connections to recruiters and industry professionals across tech.", + tags: ["Resumes", "Mock Interviews", "Recruiters", "Alumni"], + }, + { + icon: "🏆", + title: "Competitions", + short: "Hackathons, CTFs, and more.", + desc: "Hackathons, CTFs, and coding competitions where you can put your skills to the test, win prizes, and build resume-worthy projects.", + tags: ["Hackathons", "CTFs", "LeetCode Nights", "ICPC"], + }, + { + icon: "🔬", + title: "Research", + short: "Real research, real impact.", + desc: "Collaborate with faculty and peers on real research projects across our six special interest groups — from AI to systems architecture.", + tags: ["AI", "Systems", "HCI", "Graphics", "Security"], + }, + { + icon: "🌐", + title: "Networking", + short: "Industry & alumni connections.", + desc: "Industry speaker events, alumni mixers, and connections with ACM chapters across the UC system. Open doors before you graduate.", + tags: ["Speakers", "UC Mixers", "Company Tours", "Alumni Panel"], + }, + ], + + board: ( + [ + { name: "Alex Rivera", role: "President", initials: "AR", color: "#00E1BF" }, + { name: "Jordan Kim", role: "Vice President", initials: "JK", color: "#3DA9FC" }, + { name: "Priya Nair", role: "Secretary", initials: "PN", color: "#F7B731" }, + { name: "Marcus Chen", role: "Treasurer", initials: "MC", color: "#FC5C65" }, + { name: "Sofia Gomez", role: "Events Director", initials: "SG", color: "#A55EEA" }, + { name: "Tyler Brooks", role: "Webmaster", initials: "TB", color: "#26DE81" }, + { name: "Aisha Patel", role: "Social Media", initials: "AP", color: "#FD9644" }, + { name: "Noah Williams", role: "Outreach Chair", initials: "NW", color: "#45AAF2" }, + ] as const + ).map((member) => ({ + ...member, + avatarStyle: { + background: `${member.color}22`, + borderColor: member.color, + color: member.color, + }, + })), + + faq: [ + { + question: "Do I need programming experience to join?", + answer: + "Not at all! ACM @ UCM welcomes students of all skill levels. We have beginner-friendly workshops and a supportive community ready to help you learn.", + }, + { + question: "How do I join a SIG?", + answer: + "After joining ACM, you can sign up for any SIG at our general meetings or through our Discord server. There are no prerequisites — just curiosity.", + }, + { + question: "Is there a membership fee?", + answer: + "General membership is free! We offer an optional paid national ACM membership with additional benefits, but it is never required.", + }, + { + question: "When and where do you meet?", + answer: + "General meetings are held roughly bi-weekly at COB 263. SIG meetings vary — check the Events page for the latest schedule.", + }, + { + question: "Can I join mid-semester?", + answer: + "Absolutely. We welcome new members at any point during the semester. Just show up to a meeting or reach out on Discord.", + }, + ], +}; + +const SECTION_EYEBROW_CLASSES = cn( + "font-bold tracking-[0.14em] text-brand-teal uppercase", + "mb-3 text-[11px] md:mb-4 md:text-[13px]", +); + +const SECTION_HEADING_CLASSES = cn( + "leading-[1.1] font-extrabold text-foreground", + "text-[26px] md:text-[40px]", +); + +function About() { + const [activeIndex, setActiveIndex] = useState(0); + + const handleTabClick = useCallback((event: MouseEvent) => { + const next = event.currentTarget.dataset.index; + if (next !== undefined) setActiveIndex(Number(next)); + }, []); + + return ( +
+
+
+
+
+
Our Mission
+

+ Connecting students who{" "} + code, design, and innovate. +

+

+ ACM @ UC Merced is a student-run chapter of the Association for Computing Machinery + — the world's largest educational and scientific computing society. +

+

+ We bring together students across all majors to explore technology, build skills, + and grow as a community through workshops, projects, and events. +

+
+
+ ACM members +
+
+
+
+
+ +
+
+ {ABOUT_US.stats.map((stat) => ( +
+
+ {stat.value} +
+
+ {stat.label} +
+
+ ))} +
+
+ +
+
+
What We Do
+

+ Everything computing, in one place. +

+ + + {ABOUT_US.activities.map((item, index) => ( + + + {item.icon} + {item.title} + + +

+ {item.desc} +

+
+ {item.tags.map((tag) => ( + + {tag} + + ))} +
+
+
+ ))} +
+ +
+
+ {ABOUT_US.activities.map((item, index) => { + const isActive = activeIndex === index; + return ( + + ); + })} +
+ + {ABOUT_US.activities.map((item, index) => + activeIndex === index ? ( +
+
{item.icon}
+
+ {String(index + 1).padStart(2, "0")} /{" "} + {String(ABOUT_US.activities.length).padStart(2, "0")} +
+

+ {item.title} +

+

{item.desc}

+
+ {item.tags.map((tag) => ( + + {tag} + + ))} +
+
+ ) : undefined, + )} +
+
+
+ +
+
+
The Team
+

Meet the board.

+
+ {ABOUT_US.board.map((member) => ( +
+
+ {member.initials} +
+
+ {member.name} +
+
+ {member.role} +
+
+ ))} +
+
+
+ +
+
+
FAQ
+

Common questions.

+ + {ABOUT_US.faq.map((item, index) => ( + + + {item.question} + + + {item.answer} + + + ))} + +
+
+ +
+
Contact
+

Get in touch.

+
+ +
+ +
+
+
+ Email +
+
+ acm@ucmerced.edu +
+
+ + + +
+ +
+
+
+ Instagram +
+
+ @acm.ucmerced +
+
+ +
+
+
+ ); +} diff --git a/src/routes/sigs.tsx b/src/routes/sigs.tsx new file mode 100644 index 00000000..d6e33d90 --- /dev/null +++ b/src/routes/sigs.tsx @@ -0,0 +1,360 @@ +import { createFileRoute, Link } from "@tanstack/react-router"; + +import sigAiLogo from "@/assets/images/sig-ai-logo.svg"; +import sigArchLogo from "@/assets/images/sig-arch-logo.svg"; +import sigCyberLogo from "@/assets/images/sig-cyber-logo.svg"; +import sigDataLogo from "@/assets/images/sig-data-logo.svg"; +import sigGraphLogo from "@/assets/images/sig-graph-logo.svg"; +import sigSweLogo from "@/assets/images/sig-swe-logo.svg"; +import { cn } from "@/lib/utils"; + +export const Route = createFileRoute("/sigs")({ + component: Sigs, +}); + +/// Types and Interfaces + +type SigSlug = "swe" | "ai" | "cyber" | "data" | "graph" | "arch"; + +interface SigDetail { + slug: SigSlug; + name: string; + description: string; + activities: readonly string[]; + logoSrc: string; + accentClass: string; +} + +/// Module-level constants + +const SIG_ACCENT_CLASS = { + swe: "[--sig-color:var(--sig-swe)]", + ai: "[--sig-color:var(--sig-ai)]", + cyber: "[--sig-color:var(--sig-cyber)]", + data: "[--sig-color:var(--sig-data)]", + graph: "[--sig-color:var(--sig-graph)]", + arch: "[--sig-color:var(--sig-arch)]", +} as const satisfies Record; + +const SIG_DETAILS: readonly SigDetail[] = [ + { + slug: "swe", + name: "Software Engineering", + description: "Hands-on workshops in React, Python, APIs, and modern dev practices.", + activities: [ + "React & Node.js workshops", + "Hackathon prep", + "Portfolio reviews", + "Industry speaker panels", + ], + logoSrc: sigSweLogo, + accentClass: SIG_ACCENT_CLASS.swe, + }, + { + slug: "ai", + name: "Artificial Intelligence", + description: "Explore ML models, neural networks, and AI applications.", + activities: [ + "ML model building", + "Neural network tutorials", + "Kaggle competitions", + "AI ethics discussions", + ], + logoSrc: sigAiLogo, + accentClass: SIG_ACCENT_CLASS.ai, + }, + { + slug: "cyber", + name: "Cybersecurity", + description: "CTF competitions, penetration testing, and security fundamentals.", + activities: [ + "CTF competitions", + "Penetration testing labs", + "Security tool workshops", + "Cryptography deep-dives", + ], + logoSrc: sigCyberLogo, + accentClass: SIG_ACCENT_CLASS.cyber, + }, + { + slug: "data", + name: "Data Science", + description: "Data analysis, visualization, and applied statistics projects.", + activities: [ + "Data visualization projects", + "Python & R workshops", + "Applied statistics", + "Real-world datasets", + ], + logoSrc: sigDataLogo, + accentClass: SIG_ACCENT_CLASS.data, + }, + { + slug: "graph", + name: "Computer Graphics", + description: "Computer graphics, rendering, and visual computing topics.", + activities: [ + "Rendering & shaders", + "OpenGL / WebGL labs", + "Game dev fundamentals", + "Visual computing research", + ], + logoSrc: sigGraphLogo, + accentClass: SIG_ACCENT_CLASS.graph, + }, + { + slug: "arch", + name: "Systems Architecture", + description: "Systems architecture, hardware design, and low-level programming.", + activities: ["CPU & memory design", "Assembly programming", "FPGA projects", "OS internals"], + logoSrc: sigArchLogo, + accentClass: SIG_ACCENT_CLASS.arch, + }, +]; + +// Placeholders for now +const PHOTO_SLOTS = [1, 2, 3, 4] as const; + +function Sigs() { + return ( +
+
+
+
+ +
+

+ Special Interest Groups +

+

+ Six communities. One chapter. Find your focus. +

+
+
+ +
+ +
+ +
+

+ ACM's Special Interest Groups represent major areas of computing, addressing the + interests of technical communities that drive innovation. Each SIG runs its own workshops, + events, and projects throughout the semester. +

+
+ + {SIG_DETAILS.map((sig) => ( +
+
+
+
+
+ {sig.name} +
+
+
+ {sig.name} +
+

+ ACM {sig.slug.toUpperCase()} +

+
+
+ +
+ +

+ {sig.description} Join us to connect with like-minded students, build real projects, + and grow your skills in a welcoming environment — no prior experience needed. +

+ +
+
+ What we do +
+
+ {sig.activities.map((activity) => ( + + {activity} + + ))} +
+
+
+ +
+ {PHOTO_SLOTS.map((n) => ( +
+
+ +
+ + Photo {n} + +
+ ))} +
+
+
+ ))} + +
+
+

+ Not sure which SIG to join? +

+

+ Join our Discord and ask around — most members are part of multiple SIGs. You can always + explore before committing. +

+
+ + Join Our Discord + + + Join Our Newsletter + +
+
+
+
+ ); +} From e183c161a76054f4d671e8c8261a204968392dff Mon Sep 17 00:00:00 2001 From: No767 <73260931+No767@users.noreply.github.com> Date: Fri, 8 May 2026 16:22:56 -0700 Subject: [PATCH 2/4] Update sigs, add redirects file --- public/_redirects | 1 + src/routes/index.tsx | 2 +- src/routes/sigs.tsx | 19 +++++++++++-------- 3 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 public/_redirects diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 00000000..f8243379 --- /dev/null +++ b/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 \ No newline at end of file diff --git a/src/routes/index.tsx b/src/routes/index.tsx index f2a25625..765c256d 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -458,7 +458,7 @@ function Index() { />
- ACM {sig.abbrev} + SIG {sig.abbrev}
{sig.name} diff --git a/src/routes/sigs.tsx b/src/routes/sigs.tsx index d6e33d90..89821a33 100644 --- a/src/routes/sigs.tsx +++ b/src/routes/sigs.tsx @@ -154,9 +154,12 @@ function Sigs() { >
From 305f28c29c8f5590ac6fbb01830166afcc2ed8ce Mon Sep 17 00:00:00 2001 From: No767 <73260931+No767@users.noreply.github.com> Date: Fri, 8 May 2026 16:25:39 -0700 Subject: [PATCH 3/4] get rid of resources navbar --- src/components/app/navigation-bar.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/app/navigation-bar.tsx b/src/components/app/navigation-bar.tsx index b24b8dff..d46ca474 100644 --- a/src/components/app/navigation-bar.tsx +++ b/src/components/app/navigation-bar.tsx @@ -16,7 +16,6 @@ const NAV_LINKS: NavEntry[] = [ { href: "/events", label: "Events" }, { href: "/sigs", label: "SIGs" }, { href: "/projects", label: "Projects" }, - { href: "/resources", label: "Resources" }, ]; const NAV_LINK_CLASSES = From c412dfa1a8ce99bcffa533b48d6083e47d787c2f Mon Sep 17 00:00:00 2001 From: No767 <73260931+No767@users.noreply.github.com> Date: Fri, 8 May 2026 16:35:04 -0700 Subject: [PATCH 4/4] done --- src/routes/index.tsx | 57 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/src/routes/index.tsx b/src/routes/index.tsx index 765c256d..ed4ed7f2 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -88,12 +88,48 @@ const TILE_BASE_CLASSES = cn( /// Static page data const SIGS = [ - { name: "Software Engineering", abbrev: "SWE", logoSrc: sigSweLogo }, - { name: "Artificial Intelligence", abbrev: "AI", logoSrc: sigAiLogo }, - { name: "Cybersecurity", abbrev: "Cyber", logoSrc: sigCyberLogo }, - { name: "Data Science", abbrev: "Data", logoSrc: sigDataLogo }, - { name: "Graphics", abbrev: "Graph", logoSrc: sigGraphLogo }, - { name: "Architecture", abbrev: "Arch", logoSrc: sigArchLogo }, + { + slug: "swe", + abbrev: "SWE", + name: "Software Engineering", + description: "Hands-on workshops in React, Python, APIs, and modern dev practices.", + logoSrc: sigSweLogo, + }, + { + slug: "ai", + abbrev: "AI", + name: "Artificial Intelligence", + description: "Explore ML models, neural networks, and AI applications.", + logoSrc: sigAiLogo, + }, + { + slug: "cyber", + abbrev: "Cyber", + name: "Cybersecurity", + description: "CTF competitions, penetration testing, and security fundamentals.", + logoSrc: sigCyberLogo, + }, + { + slug: "data", + abbrev: "Data", + name: "Data Science", + description: "Data analysis, visualization, and applied statistics projects.", + logoSrc: sigDataLogo, + }, + { + slug: "graph", + abbrev: "Graph", + name: "Computer Graphics", + description: "Computer graphics, rendering, and visual computing topics.", + logoSrc: sigGraphLogo, + }, + { + slug: "arch", + abbrev: "Arch", + name: "Systems Architecture", + description: "Systems architecture, hardware design, and low-level programming.", + logoSrc: sigArchLogo, + }, ] as const; const STATS = [ @@ -440,8 +476,9 @@ function Index() {
{SIGS.map((sig) => ( SIG {sig.abbrev}
-
- {sig.name} +
+ {sig.description}