update officer json

This commit is contained in:
chark1es 2024-12-19 03:10:17 -08:00
parent 002f5400f8
commit 117d27cd33
70 changed files with 101 additions and 36 deletions

BIN
bun.lockb Normal file

Binary file not shown.

View file

@ -1,7 +1,7 @@
{ {
"name": "IEEE_UCSD_WEBSITE", "name": "IEEE_UCSD_WEBSITE",
"type": "module", "type": "module",
"version": "1.1.0", "version": "1.2.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"start": "node dist/server/entry.mjs", "start": "node dist/server/entry.mjs",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

BIN
public/officers/akhil.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
public/officers/allie.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
public/officers/andy.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 KiB

BIN
public/officers/anika.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
public/officers/anu.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
public/officers/ashlee.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

BIN
public/officers/charles.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 KiB

BIN
public/officers/dhruv.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
public/officers/dihan.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
public/officers/emma.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
public/officers/erik.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 484 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

BIN
public/officers/lauren.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
public/officers/lisa.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
public/officers/philip.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
public/officers/pranav.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
public/officers/ridhi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
public/officers/rohil.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

BIN
public/officers/shing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 496 KiB

BIN
public/officers/stella.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

BIN
public/officers/steph.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

BIN
public/officers/terri.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
public/officers/zarif.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -7,21 +7,36 @@ const OfficerCard = ({
email, email,
onMustahsinClicked, onMustahsinClicked,
}) => { }) => {
const [imageSrc, setImageSrc] = React.useState(
"https://placehold.co/500?text=IEEE%20@%20UCSD"
);
const handleImageClick = () => { const handleImageClick = () => {
if (name === "Mustahsin Zarif") { if (name === "Mustahsin Zarif") {
onMustahsinClicked(); onMustahsinClicked();
} }
}; };
React.useEffect(() => {
if (picture) {
const img = new Image();
img.onload = () => {
setImageSrc(picture);
};
img.src = picture;
}
}, [picture]);
return ( return (
<div <div
className={`flex flex-col justify-center content-center mx-12 items-center w-64 rounded-lg`} className={`flex flex-col justify-center content-center mx-12 items-center w-64 rounded-lg`}
> >
<img <img
className="w-26 h-auto sm:h-64 object-cover rounded-3xl cursor-pointer" className="w-26 h-auto sm:h-64 object-cover rounded-3xl cursor-pointer"
src={picture} src={imageSrc}
alt={`Picture of ${name}`} alt={`Picture of ${name}`}
onClick={handleImageClick} onClick={handleImageClick}
loading="eager"
/> />
<div className="p-4"> <div className="p-4">
<h3 className="text-lg font-bold text-center">{name}</h3> <h3 className="text-lg font-bold text-center">{name}</h3>

View file

@ -2,6 +2,11 @@ import React, { useState } from "react";
import OfficerCard from "./OfficerCard.jsx"; import OfficerCard from "./OfficerCard.jsx";
import { AnimatePresence } from "framer-motion"; import { AnimatePresence } from "framer-motion";
const getImageWithFallback = (imagePath, useSpecialImage) => {
if (useSpecialImage) return "/officers/zarif.jpg";
return imagePath;
};
const OfficerTabs = ({ officers }) => { const OfficerTabs = ({ officers }) => {
const [selectedType, setSelectedType] = useState("All"); const [selectedType, setSelectedType] = useState("All");
const [mustahsinClickCount, setMustahsinClickCount] = useState(0); const [mustahsinClickCount, setMustahsinClickCount] = useState(0);
@ -54,11 +59,10 @@ const OfficerTabs = ({ officers }) => {
<OfficerCard <OfficerCard
key={officer.email} key={officer.email}
{...officer} {...officer}
picture={ picture={getImageWithFallback(
officer.picture,
useMustahsinImage useMustahsinImage
? "/officers/mustahsin.jpg" )}
: officer.picture
}
onMustahsinClicked={handleMustahsinClicked} onMustahsinClicked={handleMustahsinClicked}
/> />
))} ))}

View file

@ -2,17 +2,24 @@
{ {
"name": "Mustahsin Zarif", "name": "Mustahsin Zarif",
"position": "Chair", "position": "Chair",
"picture": "/officers/mustahsin.jpg", "picture": "/officers/zarif.jpg",
"email": "mmzarif@ucsd.edu", "email": "mmzarif@ucsd.edu",
"type": ["Executives"] "type": ["Executives"]
}, },
{ {
"name": "Stephanie Xu", "name": "Stephanie Xu",
"position": "Vice Chair Internal", "position": "Vice Chair Internal",
"picture": "/officers/stephanie.jpg", "picture": "/officers/steph.jpg",
"email": "sxxu@ucsd.edu", "email": "sxxu@ucsd.edu",
"type": ["Executives", "Internal"] "type": ["Executives", "Internal"]
}, },
{
"name": "Charles Nguyen",
"position": "Webmaster",
"picture": "/officers/charles.jpg",
"email": "cmn010@ucsd.edu",
"type": ["Internal"]
},
{ {
"name": "Shipra Gudekar", "name": "Shipra Gudekar",
"position": "Vice Chair Events", "position": "Vice Chair Events",
@ -23,35 +30,35 @@
{ {
"name": "Rohil Kadekar", "name": "Rohil Kadekar",
"position": "Vice Chair Projects", "position": "Vice Chair Projects",
"picture": "/officers/temp.png", "picture": "/officers/rohil.jpg",
"email": "rkadekar@ucsd.edu", "email": "rkadekar@ucsd.edu",
"type": ["Executives", "Projects"] "type": ["Executives", "Projects"]
}, },
{ {
"name": "Lisa Liu", "name": "Lisa Liu",
"position": "Vice Chair Finance", "position": "Vice Chair Finance",
"picture": "/officers/temp.png", "picture": "/officers/lisa.jpg",
"email": "lil043@ucsd.edu", "email": "lil043@ucsd.edu",
"type": ["Executives"] "type": ["Executives"]
}, },
{ {
"name": "Erik Duarte", "name": "Erik Duarte",
"position": "Events Coordinator", "position": "Events Coordinator",
"picture": "/officers/temp.png", "picture": "/officers/erik.jpg",
"email": "Erduarte@ucsd.edu", "email": "Erduarte@ucsd.edu",
"type": ["Executives", "Events"] "type": ["Executives", "Events"]
}, },
{ {
"name": "Sin Yin Yang", "name": "Sin Yin Yang",
"position": "Events Coordinator", "position": "Events Coordinator",
"picture": "/officers/temp.png", "picture": "/officers/sinyin.jpg",
"email": "siy015@ucsd.edu", "email": "siy015@ucsd.edu",
"type": ["Executives", "Events"] "type": ["Executives", "Events"]
}, },
{ {
"name": "Rana Singh", "name": "Rana Singh",
"position": "Vice Chair External", "position": "Vice Chair External",
"picture": "/officers/temp.png", "picture": "/officers/rana.jpg",
"email": "ras010@ucsd.edu", "email": "ras010@ucsd.edu",
"type": ["Executives"] "type": ["Executives"]
}, },
@ -65,112 +72,148 @@
{ {
"name": "Terri Tai", "name": "Terri Tai",
"position": "Robocup Soccer Chair", "position": "Robocup Soccer Chair",
"picture": "/officers/temp.png", "picture": "/officers/terri.jpg",
"email": "y2tai@ucsd.edu", "email": "y2tai@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Raymond Rada", "name": "Raymond Rada",
"position": "Robocup Soccer Chair", "position": "Robocup Soccer Chair",
"picture": "/officers/temp.png", "picture": "/officers/raymond.jpg",
"email": "rrada@ucsd.edu", "email": "rrada@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Philip Pincencia", "name": "Philip Pincencia",
"position": "Signal Processing Chair", "position": "Signal Processing Chair",
"picture": "/officers/temp.png", "picture": "/officers/philip.jpg",
"email": "ppincencia@ucsd.edu", "email": "ppincencia@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Ritoban Roy-Chowdhury", "name": "Ritoban Roy-Chowdhury",
"position": "Supercomputing Chair", "position": "Supercomputing Chair",
"picture": "/officers/temp.png", "picture": "/officers/ritoban.jpg",
"email": "rroychowdhury@ucsd.edu", "email": "rroychowdhury@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Akhil Ram Shankar", "name": "Akhil Ram Shankar",
"position": "Quarterly Projects Chair", "position": "Quarterly Projects Chair",
"picture": "/officers/temp.png", "picture": "/officers/akhil.jpg",
"email": "aramshankar@ucsd.edu", "email": "aramshankar@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Jonathan Zhou", "name": "Jonathan Zhou",
"position": "Quarterly Projects Chair", "position": "Quarterly Projects Chair",
"picture": "/officers/temp.png", "picture": "/officers/jonathan.jpg",
"email": "jtzhou@ucsd.edu", "email": "jtzhou@ucsd.edu",
"type": ["Projects"] "type": ["Projects"]
}, },
{ {
"name": "Ashlee Young", "name": "Ashlee Young",
"position": "Professional Chair", "position": "Professional Chair",
"picture": "/officers/temp.png", "picture": "/officers/ashlee.jpg",
"email": "asy001@ucsd.edu", "email": "asy001@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{
"name": "Allie Dinh",
"position": "Professional Chair",
"picture": "/officers/allie.jpg",
"email": "ald012@ucsd.edu",
"type": ["Events"]
},
{ {
"name": "Fahad Alkhazam", "name": "Fahad Alkhazam",
"position": "Technical Chair", "position": "Technical Chair",
"picture": "/officers/temp.png", "picture": "/officers/fahad.jpg",
"email": "falkhazam@ucsd.edu", "email": "falkhazam@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Pranav Mehta", "name": "Pranav Mehta",
"position": "Technical Chair", "position": "Technical Chair",
"picture": "/officers/temp.png", "picture": "/officers/pranav.jpg",
"email": "p3mehta@ucsd.edu", "email": "p3mehta@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{
"name": "Ridhi Srikanth",
"position": "Technical Chair",
"picture": "/officers/ridhi.jpg",
"email": "rsrikanth@ucsd.edu",
"type": ["Events"]
},
{ {
"name": "Dihan Lin", "name": "Dihan Lin",
"position": "Outreach Chair", "position": "Outreach Chair",
"picture": "/officers/temp.png", "picture": "/officers/dihan.jpg",
"email": "dil009@ucsd.edu", "email": "dil009@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Anika Agarwal", "name": "Anika Agarwal",
"position": "Outreach Chair", "position": "Outreach Chair",
"picture": "/officers/temp.png", "picture": "/officers/anika.jpg",
"email": "ana012@ucsd.edu", "email": "ana012@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Anupama Nambiar", "name": "Anupama Nambiar",
"position": "Social Chair", "position": "Social Chair",
"picture": "/officers/temp.png", "picture": "/officers/anu.jpg",
"email": "annambiar@ucsd.edu", "email": "annambiar@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Charles Nguyen", "name": "Dhruv Roy Choudhary",
"position": "Social Chair",
"picture": "/officers/dhruv.jpg",
"email": "dchoudhary@ucsd.edu",
"type": ["Events"]
},
{
"name": "Andy Smithwick",
"position": "Webmaster", "position": "Webmaster",
"picture": "/officers/temp.png", "picture": "/officers/andy.jpg",
"email": "cmn010@ucsd.edu", "email": "asmithwick@ucsd.edu",
"type": ["Internal"]
},
{
"name": "Shing Hung",
"position": "Webmaster",
"picture": "/officers/shing.jpg",
"email": "s1hung@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Stella Ji", "name": "Stella Ji",
"position": "Marketing Chair", "position": "Marketing Chair",
"picture": "/officers/stella.jpeg", "picture": "/officers/stella.jpg",
"email": "seji@ucsd.edu", "email": "seji@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{
"name": "Lauren Vo",
"position": "Marketing Chair",
"picture": "/officers/lauren.jpg",
"email": "lavo@ucsd.edu",
"type": ["Internal"]
},
{ {
"name": "Wan-Rong (Emma) Leung", "name": "Wan-Rong (Emma) Leung",
"position": "Design Chair", "position": "Design Chair",
"picture": "/officers/temp.png", "picture": "/officers/emma.jpg",
"email": "waleung@ucsd.edu", "email": "waleung@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Christine Uy", "name": "Christine Uy",
"position": "Design Chair", "position": "Design Chair",
"picture": "/officers/temp.png", "picture": "/officers/christine.jpg",
"email": "c1uy@ucsd.edu", "email": "c1uy@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
} }

View file

@ -78,7 +78,7 @@ import { Icon } from "astro-icon/components";
> >
Watch our trailer(s)! Watch our trailer(s)!
</div> </div>
<!-- <div class="scale-[400%] mt-10 space-x-2"> <!-- <div class="scale-[400%] mt-10 space-x-2">
<a href="https://www.instagram.com/ieee.ucsd"> <a href="https://www.instagram.com/ieee.ucsd">
<iconify-icon <iconify-icon
@ -92,15 +92,18 @@ import { Icon } from "astro-icon/components";
<div <div
class="bg-white h-[60em] lg:h-[60em] flex justify-center items-center" class="bg-white h-[60em] lg:h-[60em] flex justify-center items-center"
> >
<div class="flex flex-wrap justify-center space-y-20 "> <div class="flex flex-wrap justify-center space-y-20">
<div <div
class="flex flex-col justify-center items-center w-full px-4 lg:px-8" class="flex flex-col justify-center items-center w-full px-4 lg:px-8"
> >
<div class="text-[3.2em] text-ieee font-bold mb-4"> <div class="text-[3.2em] text-ieee font-bold mb-4">
QP Trailer QP Trailer
</div> </div>
<iframe src="https://drive.google.com/file/d/1OmIFFEqRWpzVRQr5I5teUYRlA66noqFB/preview" width="860" height="620" allow="autoplay"></iframe> <iframe
src="https://drive.google.com/file/d/1OmIFFEqRWpzVRQr5I5teUYRlA66noqFB/preview"
width="860"
height="620"
allow="autoplay"></iframe>
</div> </div>
</div> </div>
</div> </div>
@ -159,7 +162,7 @@ import { Icon } from "astro-icon/components";
seen here: seen here:
</div> </div>
<iframe <iframe
src="https://calendar.google.com/calendar/embed?src=c_62493071bab19c7c60d103460604dc7b3b569ffc1e58a42617978f626dff02ac%40group.calendar.google.com&ctz=America%2FLos_Angeles" src="https://calendar.google.com/calendar/embed?showTitle=0&showPrint=0&showTabs=0&showCalendars=0&mode=MONTH&height=600&wkst=1&bgcolor=%23FFFFFF&src=c_62493071bab19c7c60d103460604dc7b3b569ffc1e58a42617978f626dff02ac%40group.calendar.google.com&color=%232952A3&ctz=America%2FLos_Angeles"
style="border: 0" style="border: 0"
class="w-full h-[450px] max-w-4xl" class="w-full h-[450px] max-w-4xl"
loading="lazy"></iframe> loading="lazy"></iframe>