update officer json
BIN
bun.lockb
Normal file
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "IEEE_UCSD_WEBSITE",
|
||||
"type": "module",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "node dist/server/entry.mjs",
|
||||
|
|
Before Width: | Height: | Size: 25 KiB |
BIN
public/officers/akhil.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/officers/allie.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
public/officers/andy.jpg
Normal file
After Width: | Height: | Size: 949 KiB |
BIN
public/officers/anika.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
public/officers/anu.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 15 KiB |
BIN
public/officers/ashlee.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 78 KiB |
BIN
public/officers/charles.jpg
Normal file
After Width: | Height: | Size: 699 KiB |
BIN
public/officers/christine.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 319 KiB |
BIN
public/officers/dhruv.jpg
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
public/officers/dihan.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
public/officers/emma.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
public/officers/erik.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 461 KiB |
Before Width: | Height: | Size: 33 KiB |
BIN
public/officers/jonathan.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 484 KiB |
Before Width: | Height: | Size: 532 KiB |
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 63 KiB |
BIN
public/officers/lauren.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
public/officers/lisa.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 531 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 20 KiB |
BIN
public/officers/philip.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
public/officers/pranav.jpg
Normal file
After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 1.7 MiB |
BIN
public/officers/ridhi.jpg
Normal file
After Width: | Height: | Size: 1 MiB |
BIN
public/officers/rohil.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
public/officers/shing.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 524 KiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 496 KiB |
BIN
public/officers/stella.jpg
Normal file
After Width: | Height: | Size: 235 KiB |
BIN
public/officers/steph.jpg
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 6.2 KiB |
BIN
public/officers/terri.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 20 KiB |
BIN
public/officers/zarif.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
|
@ -7,21 +7,36 @@ const OfficerCard = ({
|
|||
email,
|
||||
onMustahsinClicked,
|
||||
}) => {
|
||||
const [imageSrc, setImageSrc] = React.useState(
|
||||
"https://placehold.co/500?text=IEEE%20@%20UCSD"
|
||||
);
|
||||
|
||||
const handleImageClick = () => {
|
||||
if (name === "Mustahsin Zarif") {
|
||||
onMustahsinClicked();
|
||||
}
|
||||
};
|
||||
|
||||
React.useEffect(() => {
|
||||
if (picture) {
|
||||
const img = new Image();
|
||||
img.onload = () => {
|
||||
setImageSrc(picture);
|
||||
};
|
||||
img.src = picture;
|
||||
}
|
||||
}, [picture]);
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`flex flex-col justify-center content-center mx-12 items-center w-64 rounded-lg`}
|
||||
>
|
||||
<img
|
||||
className="w-26 h-auto sm:h-64 object-cover rounded-3xl cursor-pointer"
|
||||
src={picture}
|
||||
src={imageSrc}
|
||||
alt={`Picture of ${name}`}
|
||||
onClick={handleImageClick}
|
||||
loading="eager"
|
||||
/>
|
||||
<div className="p-4">
|
||||
<h3 className="text-lg font-bold text-center">{name}</h3>
|
||||
|
|
|
@ -2,6 +2,11 @@ import React, { useState } from "react";
|
|||
import OfficerCard from "./OfficerCard.jsx";
|
||||
import { AnimatePresence } from "framer-motion";
|
||||
|
||||
const getImageWithFallback = (imagePath, useSpecialImage) => {
|
||||
if (useSpecialImage) return "/officers/zarif.jpg";
|
||||
return imagePath;
|
||||
};
|
||||
|
||||
const OfficerTabs = ({ officers }) => {
|
||||
const [selectedType, setSelectedType] = useState("All");
|
||||
const [mustahsinClickCount, setMustahsinClickCount] = useState(0);
|
||||
|
@ -54,11 +59,10 @@ const OfficerTabs = ({ officers }) => {
|
|||
<OfficerCard
|
||||
key={officer.email}
|
||||
{...officer}
|
||||
picture={
|
||||
picture={getImageWithFallback(
|
||||
officer.picture,
|
||||
useMustahsinImage
|
||||
? "/officers/mustahsin.jpg"
|
||||
: officer.picture
|
||||
}
|
||||
)}
|
||||
onMustahsinClicked={handleMustahsinClicked}
|
||||
/>
|
||||
))}
|
||||
|
|
|
@ -2,17 +2,24 @@
|
|||
{
|
||||
"name": "Mustahsin Zarif",
|
||||
"position": "Chair",
|
||||
"picture": "/officers/mustahsin.jpg",
|
||||
"picture": "/officers/zarif.jpg",
|
||||
"email": "mmzarif@ucsd.edu",
|
||||
"type": ["Executives"]
|
||||
},
|
||||
{
|
||||
"name": "Stephanie Xu",
|
||||
"position": "Vice Chair Internal",
|
||||
"picture": "/officers/stephanie.jpg",
|
||||
"picture": "/officers/steph.jpg",
|
||||
"email": "sxxu@ucsd.edu",
|
||||
"type": ["Executives", "Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Charles Nguyen",
|
||||
"position": "Webmaster",
|
||||
"picture": "/officers/charles.jpg",
|
||||
"email": "cmn010@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Shipra Gudekar",
|
||||
"position": "Vice Chair Events",
|
||||
|
@ -23,35 +30,35 @@
|
|||
{
|
||||
"name": "Rohil Kadekar",
|
||||
"position": "Vice Chair Projects",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/rohil.jpg",
|
||||
"email": "rkadekar@ucsd.edu",
|
||||
"type": ["Executives", "Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Lisa Liu",
|
||||
"position": "Vice Chair Finance",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/lisa.jpg",
|
||||
"email": "lil043@ucsd.edu",
|
||||
"type": ["Executives"]
|
||||
},
|
||||
{
|
||||
"name": "Erik Duarte",
|
||||
"position": "Events Coordinator",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/erik.jpg",
|
||||
"email": "Erduarte@ucsd.edu",
|
||||
"type": ["Executives", "Events"]
|
||||
},
|
||||
{
|
||||
"name": "Sin Yin Yang",
|
||||
"position": "Events Coordinator",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/sinyin.jpg",
|
||||
"email": "siy015@ucsd.edu",
|
||||
"type": ["Executives", "Events"]
|
||||
},
|
||||
{
|
||||
"name": "Rana Singh",
|
||||
"position": "Vice Chair External",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/rana.jpg",
|
||||
"email": "ras010@ucsd.edu",
|
||||
"type": ["Executives"]
|
||||
},
|
||||
|
@ -65,112 +72,148 @@
|
|||
{
|
||||
"name": "Terri Tai",
|
||||
"position": "Robocup Soccer Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/terri.jpg",
|
||||
"email": "y2tai@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Raymond Rada",
|
||||
"position": "Robocup Soccer Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/raymond.jpg",
|
||||
"email": "rrada@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Philip Pincencia",
|
||||
"position": "Signal Processing Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/philip.jpg",
|
||||
"email": "ppincencia@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Ritoban Roy-Chowdhury",
|
||||
"position": "Supercomputing Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/ritoban.jpg",
|
||||
"email": "rroychowdhury@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Akhil Ram Shankar",
|
||||
"position": "Quarterly Projects Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/akhil.jpg",
|
||||
"email": "aramshankar@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Jonathan Zhou",
|
||||
"position": "Quarterly Projects Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/jonathan.jpg",
|
||||
"email": "jtzhou@ucsd.edu",
|
||||
"type": ["Projects"]
|
||||
},
|
||||
{
|
||||
"name": "Ashlee Young",
|
||||
"position": "Professional Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/ashlee.jpg",
|
||||
"email": "asy001@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Allie Dinh",
|
||||
"position": "Professional Chair",
|
||||
"picture": "/officers/allie.jpg",
|
||||
"email": "ald012@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Fahad Alkhazam",
|
||||
"position": "Technical Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/fahad.jpg",
|
||||
"email": "falkhazam@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Pranav Mehta",
|
||||
"position": "Technical Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/pranav.jpg",
|
||||
"email": "p3mehta@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Ridhi Srikanth",
|
||||
"position": "Technical Chair",
|
||||
"picture": "/officers/ridhi.jpg",
|
||||
"email": "rsrikanth@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Dihan Lin",
|
||||
"position": "Outreach Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/dihan.jpg",
|
||||
"email": "dil009@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Anika Agarwal",
|
||||
"position": "Outreach Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/anika.jpg",
|
||||
"email": "ana012@ucsd.edu",
|
||||
"type": ["Events"]
|
||||
},
|
||||
{
|
||||
"name": "Anupama Nambiar",
|
||||
"position": "Social Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/anu.jpg",
|
||||
"email": "annambiar@ucsd.edu",
|
||||
"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",
|
||||
"picture": "/officers/temp.png",
|
||||
"email": "cmn010@ucsd.edu",
|
||||
"picture": "/officers/andy.jpg",
|
||||
"email": "asmithwick@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Shing Hung",
|
||||
"position": "Webmaster",
|
||||
"picture": "/officers/shing.jpg",
|
||||
"email": "s1hung@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Stella Ji",
|
||||
"position": "Marketing Chair",
|
||||
"picture": "/officers/stella.jpeg",
|
||||
"picture": "/officers/stella.jpg",
|
||||
"email": "seji@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Lauren Vo",
|
||||
"position": "Marketing Chair",
|
||||
"picture": "/officers/lauren.jpg",
|
||||
"email": "lavo@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Wan-Rong (Emma) Leung",
|
||||
"position": "Design Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/emma.jpg",
|
||||
"email": "waleung@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
},
|
||||
{
|
||||
"name": "Christine Uy",
|
||||
"position": "Design Chair",
|
||||
"picture": "/officers/temp.png",
|
||||
"picture": "/officers/christine.jpg",
|
||||
"email": "c1uy@ucsd.edu",
|
||||
"type": ["Internal"]
|
||||
}
|
||||
|
|
|
@ -99,8 +99,11 @@ import { Icon } from "astro-icon/components";
|
|||
<div class="text-[3.2em] text-ieee font-bold mb-4">
|
||||
QP Trailer
|
||||
</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>
|
||||
|
@ -159,7 +162,7 @@ import { Icon } from "astro-icon/components";
|
|||
seen here:
|
||||
</div>
|
||||
<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"
|
||||
class="w-full h-[450px] max-w-4xl"
|
||||
loading="lazy"></iframe>
|
||||
|
|