Compare commits

..

1 commit

Author SHA1 Message Date
dependabot[bot]
be928466c2
Bump vite from 5.1.6 to 5.2.8
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.6 to 5.2.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 18:17:03 +00:00
78 changed files with 5399 additions and 1931 deletions

View file

@ -8,17 +8,11 @@ This site is automatically deployed to netlify. Pushing to the `main` branch wil
Please create a new branch for development (i.e. `[NAME]-dev`). Pushing directly to main is not advised, as changes will go straight into production. Once you are ready to merge your changes, create a pull request and request a review from a webmaster. Please create a new branch for development (i.e. `[NAME]-dev`). Pushing directly to main is not advised, as changes will go straight into production. Once you are ready to merge your changes, create a pull request and request a review from a webmaster.
### Setup
1. Install [bun](https://bun.sh) if you haven't already
2. Clone the repository
3. Run `bun install` to install dependencies
### Testing ### Testing
To build the site, run `bun run build`. To build the site, run `pnpm build`.
To view the site on your local network, run `bun run dev`. View the site at [localhost:4321](http://localhost:4321). To view the site on your local network, run `pnpm dev`. View the site at [localhost:4321](http://localhost:4321).
The site will automatically rebuild on changes as long as the development server is running. The site will automatically rebuild on changes as long as the development server is running.
@ -30,16 +24,4 @@ Create a `.env` file in the root directory of the project. This file should cont
- PUBLIC_DISCORD_WEBHOOK_LINK - PUBLIC_DISCORD_WEBHOOK_LINK
- PUBLIC_SLACK_WEBHOOK_LINK - PUBLIC_SLACK_WEBHOOK_LINK
If you do not include these variables in the .env file, the site will give you an error. If you do not include this in the .env file, the site will give you an error.
### Project Structure
```
├── src/
│ ├── components/ # Reusable components
│ ├── data/ # JSON data files
│ ├── layouts/ # Page layouts
│ └── pages/ # Page components
├── public/ # Static assets
└── astro.config.mjs # Astro configuration
```

View file

@ -3,9 +3,6 @@ import tailwind from "@astrojs/tailwind";
import preact from "@astrojs/preact"; import preact from "@astrojs/preact";
import mdx from "@astrojs/mdx"; import mdx from "@astrojs/mdx";
import react from "@astrojs/react"; import react from "@astrojs/react";
import icon from "astro-icon";
import node from "@astrojs/node";
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
@ -18,10 +15,5 @@ export default defineConfig({
react({ react({
include: ["**/react/*"], include: ["**/react/*"],
}), }),
icon(),
], ],
output: "server",
adapter: node({
mode: "standalone",
}),
}); });

1646
bun.lock

File diff suppressed because it is too large Load diff

View file

@ -1,4 +0,0 @@
[phases.setup]
nixPkgs = ["nodejs_18", "bun"]
aptPkgs = ["curl", "wget"]

View file

@ -1,43 +1,38 @@
{ {
"name": "IEEE_UCSD_WEBSITE", "name": "IEEE_UCSD_WEBSITE",
"type": "module", "type": "module",
"version": "1.2.0", "version": "1.0.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"start": "node dist/server/entry.mjs", "start": "astro dev",
"build": "astro check && astro build", "build": "astro check && astro build",
"preview": "astro preview", "preview": "astro preview",
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/check": "^0.5.10", "@astrojs/check": "^0.5.9",
"@astrojs/mdx": "^2.3.1", "@astrojs/mdx": "^2.2.0",
"@astrojs/node": "^8.3.3", "@astrojs/preact": "^3.1.1",
"@astrojs/preact": "^3.5.3", "@astrojs/react": "^3.1.0",
"@astrojs/react": "^3.6.2",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"@fontsource-variable/epilogue": "^5.1.0", "@fontsource-variable/epilogue": "^5.0.13",
"@fontsource-variable/josefin-sans": "^5.1.0", "@fontsource-variable/josefin-sans": "^5.0.20",
"@fontsource-variable/lora": "^5.1.0", "@fontsource-variable/lora": "^5.0.17",
"@fontsource/open-sans": "^5.1.0", "@fontsource/open-sans": "^5.0.27",
"@fontsource/vollkorn": "^5.1.0", "@fontsource/vollkorn": "^5.0.19",
"@iconify-json/ic": "^1.2.0", "astro": "^4.5.7",
"@iconify-json/mdi": "^1.2.0", "framer-motion": "^11.0.15",
"astro": "^4.15.6", "iconify-icon": "^2.0.0",
"astro-icon": "^1.1.1", "preact": "^10.20.0",
"framer-motion": "^11.5.4", "react": "^18.2.0",
"preact": "^10.24.0", "react-dom": "^18.2.0",
"react": "^18.3.1", "tailwindcss": "^3.4.1",
"react-dom": "^18.3.1", "typescript": "^5.4.2"
"tailwindcss": "^3.4.11",
"typescript": "^5.6.2"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/forms": "^0.5.9", "@tailwindcss/forms": "^0.5.7",
"@types/jquery": "^3.5.30", "@types/jquery": "^3.5.29",
"@types/node": "^20.16.5", "@types/node": "^20.11.30",
"@types/react": "^18.3.5", "sass": "^1.72.0"
"@types/react-dom": "^18.3.0",
"sass": "^1.78.0"
} }
} }

5192
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

BIN
public/officers/abby.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

BIN
public/officers/arjun.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

BIN
public/officers/avatar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

BIN
public/officers/daniel.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
public/officers/darin.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
public/officers/dennis.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
public/officers/derek.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

BIN
public/officers/jason.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

BIN
public/officers/jiliana.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

BIN
public/officers/joshua.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

BIN
public/officers/joyce.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

BIN
public/officers/kaitlin.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

BIN
public/officers/kate.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

BIN
public/officers/kevin.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
public/officers/khai.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

BIN
public/officers/matthew.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
public/officers/mohak.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 KiB

BIN
public/officers/niklas.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
public/officers/parisa.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
public/officers/parisa.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

BIN
public/officers/sanh.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
public/officers/sankalp.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
public/officers/shaun.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 524 KiB

BIN
public/officers/stella.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
public/officers/tasnia.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

BIN
public/officers/temp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

BIN
public/officers/tien.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
public/officers/vuong.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
public/officers/yash.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
public/officers/yusuf.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

View file

@ -10,7 +10,7 @@ const EventList = ({ CALENDAR_API_KEY }) => {
useEffect(() => { useEffect(() => {
const apiKey = CALENDAR_API_KEY; const apiKey = CALENDAR_API_KEY;
const calendarId = const calendarId =
"c_2bips5sphnrpa8ui4ike6k4b1s@group.calendar.google.com"; "666sh64sku5n29qv2a2f4598jc@group.calendar.google.com";
const userTimeZone = "America/Los_Angeles"; const userTimeZone = "America/Los_Angeles";
const loadGapiAndListEvents = () => { const loadGapiAndListEvents = () => {

View file

@ -7,36 +7,21 @@ 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={imageSrc} src={picture}
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,11 +2,6 @@ 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);
@ -59,10 +54,11 @@ const OfficerTabs = ({ officers }) => {
<OfficerCard <OfficerCard
key={officer.email} key={officer.email}
{...officer} {...officer}
picture={getImageWithFallback( picture={
officer.picture,
useMustahsinImage useMustahsinImage
)} ? "/officers/mustahsin.jpg"
: officer.picture
}
onMustahsinClicked={handleMustahsinClicked} onMustahsinClicked={handleMustahsinClicked}
/> />
))} ))}

View file

@ -15,10 +15,6 @@
"name": "COMMITTEES", "name": "COMMITTEES",
"url": "/committees" "url": "/committees"
}, },
{
"name": "LINKTREE",
"url": "https://linktr.ee/ieeeucsd"
},
{ {
"name": "CONTACT US", "name": "CONTACT US",
"url": "/contact" "url": "/contact"

View file

@ -1,220 +1,239 @@
[ [
{ {
"name": "Mustahsin Zarif", "name": "Tasnia Jamal",
"position": "Chair", "position": "President",
"picture": "/officers/zarif.jpg", "picture": "/officers/tasnia.jpeg",
"email": "mmzarif@ucsd.edu", "email": "tjamal@ieee.org",
"type": ["Executives"] "type": ["Executives"]
}, },
{ {
"name": "Stephanie Xu", "name": "Brigette Hacia",
"position": "Vice Chair Internal", "position": "Vice Chair Internal",
"picture": "/officers/steph.jpg", "picture": "/officers/brigette.jpg",
"email": "sxxu@ucsd.edu", "email": "bhacia@ucsd.edu",
"type": ["Executives", "Internal"] "type": ["Executives", "Internal"]
}, },
{ {
"name": "Charles Nguyen", "name": "Jason Liang",
"position": "Webmaster",
"picture": "/officers/charles.jpg",
"email": "cmn010@ucsd.edu",
"type": ["Internal"]
},
{
"name": "Shipra Gudekar",
"position": "Vice Chair Events", "position": "Vice Chair Events",
"picture": "/officers/shipra.jpg", "picture": "/officers/jason.jpg",
"email": "sgudekar@ucsd.edu", "email": "jsliang@ucsd.edu",
"type": ["Executives", "Events"] "type": ["Executives", "Events"]
}, },
{ {
"name": "Rohil Kadekar", "name": "Yash Puneet",
"position": "Vice Chair Projects", "position": "Vice Chair Projects",
"picture": "/officers/rohil.jpg", "picture": "/officers/yash.jpg",
"email": "rkadekar@ucsd.edu", "email": "ypuneet@ucsd.edu",
"type": ["Executives", "Projects"] "type": ["Executives", "Projects"]
}, },
{ {
"name": "Lisa Liu", "name": "Matthew Yik",
"position": "Vice Chair Finance", "position": "Vice Chair Finance",
"picture": "/officers/lisa.jpg", "picture": "/officers/matthewyik.jpg",
"email": "lil043@ucsd.edu", "email": "myik@ucsd.edu",
"type": ["Executives"] "type": ["Executives"]
}, },
{ {
"name": "Erik Duarte", "name": "Georolyn Ngo",
"position": "Events Coordinator", "position": "Events Coordinator",
"picture": "/officers/erik.jpg", "picture": "/officers/temp.png",
"email": "Erduarte@ucsd.edu", "email": "ngngo@ucsd.edu",
"type": ["Executives", "Events"] "type": ["Executives", "Events"]
}, },
{ {
"name": "Sin Yin Yang", "name": "Sukanya Krishna",
"position": "Events Coordinator", "position": "Events Coordinator",
"picture": "/officers/sinyin.jpg", "picture": "/officers/temp.png",
"email": "siy015@ucsd.edu", "email": "sskrishn@ucsd.edu",
"type": ["Executives", "Events"] "type": ["Executives", "Events"]
}, },
{
"name": "Daniel Chen",
"position": "Vice Chair External",
"picture": "/officers/daniel.jpg",
"email": "dychen@ucsd.edu"
},
{
"name": "Thanh Nguyen",
"position": "Project Space Chair",
"picture": "/officers/derek.jpg",
"email": "tdn003@ucsd.edu",
"type": ["Projects"]
},
{
"name": "Mustahsin Zarif",
"position": "Robocup Soccer Chair",
"picture": "/officers/mustahsin.jpg",
"email": "mmzarif@ucsd.edu",
"type": ["Projects"]
},
{
"name": "Rohil Kadekar",
"position": "Robocup Soccer Chair",
"picture": "/officers/temp.png",
"email": "rkadekar@ucsd.edu",
"type": ["Projects"]
},
{
"name": "Francisco Gutierrez",
"position": "Supercomputing Chair",
"picture": "/officers/temp.png",
"email": "ffgutierrez@ucsd.edu",
"type": ["Projects"]
},
{ {
"name": "Rana Singh", "name": "Rana Singh",
"position": "Vice Chair External", "position": "Quarterly Projects Chair",
"picture": "/officers/rana.jpg", "picture": "/officers/temp.png",
"email": "ras010@ucsd.edu", "email": "ras010@ucsd.edu",
"type": ["Executives"] "type": ["Projects"]
},
{
"name": "Joshua Lapidario",
"position": "Quarterly Projects Chair",
"picture": "/officers/temp.png",
"email": "jlapidar@ucsd.edu",
"type": ["Projects"]
},
{
"name": "Sankalp Kaushik",
"position": "Professional Chair",
"picture": "/officers/sankalp.jpg",
"email": "sskaushi@ucsd.edu",
"type": ["Events"]
}, },
{ {
"name": "Rafaella Gomes", "name": "Rafaella Gomes",
"position": "Project Space Chair", "position": "Professional Chair",
"picture": "/officers/rafaella.jpg", "picture": "/officers/rafaella.jpg",
"email": "ragomes@ucsd.edu", "email": "ragomes@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
}, },
{ {
"name": "Terri Tai", "name": "Girish Krishnan",
"position": "Robocup Soccer Chair", "position": "Technical Chair",
"picture": "/officers/terri.jpg", "picture": "/officers/temp.png",
"email": "y2tai@ucsd.edu", "email": "gikrishnan@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
}, },
{ {
"name": "Raymond Rada", "name": "Shaun Garcia",
"position": "Robocup Soccer Chair", "position": "Technical Chair",
"picture": "/officers/raymond.jpg", "picture": "/officers/shaun.jpg",
"email": "rrada@ucsd.edu", "email": "scgarcia@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
}, },
{ {
"name": "Philip Pincencia", "name": "Devanshi Jain",
"position": "Signal Processing Chair", "position": "Technical Chair",
"picture": "/officers/philip.jpg", "picture": "/officers/devanshi.jpg",
"email": "ppincencia@ucsd.edu", "email": "djain@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
}, },
{ {
"name": "Ritoban Roy-Chowdhury", "name": "Kaitlin Calimbahin",
"position": "Supercomputing Chair", "position": "Technical Chair",
"picture": "/officers/ritoban.jpg", "picture": "/officers/kaitlin.jpg",
"email": "rroychowdhury@ucsd.edu", "email": "kcalimbahin@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
}, },
{ {
"name": "Akhil Ram Shankar", "name": "Joshua Choi",
"position": "Quarterly Projects Chair", "position": "Outreach Chair",
"picture": "/officers/akhil.jpg", "picture": "/officers/joshua.jpg",
"email": "aramshankar@ucsd.edu", "email": "jmc008@ucsd.edu",
"type": ["Projects"] "type": ["Events"]
},
{
"name": "Jonathan Zhou",
"position": "Quarterly Projects Chair",
"picture": "/officers/jonathan.jpg",
"email": "jtzhou@ucsd.edu",
"type": ["Projects"]
}, },
{ {
"name": "Ashlee Young", "name": "Ashlee Young",
"position": "Professional Chair", "position": "Outreach Chair",
"picture": "/officers/ashlee.jpg", "picture": "/officers/temp.png",
"email": "asy001@ucsd.edu", "email": "asy001@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Allie Dinh", "name": "Marc Reta",
"position": "Professional Chair",
"picture": "/officers/allie.jpg",
"email": "ald012@ucsd.edu",
"type": ["Events"]
},
{
"name": "Fahad Alkhazam",
"position": "Technical Chair",
"picture": "/officers/fahad.jpg",
"email": "falkhazam@ucsd.edu",
"type": ["Events"]
},
{
"name": "Pranav Mehta",
"position": "Technical Chair",
"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/dihan.jpg",
"email": "dil009@ucsd.edu",
"type": ["Events"]
},
{
"name": "Anika Agarwal",
"position": "Outreach Chair",
"picture": "/officers/anika.jpg",
"email": "ana012@ucsd.edu",
"type": ["Events"]
},
{
"name": "Anupama Nambiar",
"position": "Social Chair", "position": "Social Chair",
"picture": "/officers/anu.jpg", "picture": "/officers/temp.png",
"email": "annambiar@ucsd.edu", "email": "mreta@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Dhruv Roy Choudhary", "name": "Shipra Gudekar",
"position": "Social Chair", "position": "Social Chair",
"picture": "/officers/dhruv.jpg", "picture": "/officers/shipra.jpg",
"email": "dchoudhary@ucsd.edu", "email": "sgudekar@ucsd.edu",
"type": ["Events"] "type": ["Events"]
}, },
{ {
"name": "Andy Smithwick", "name": "Lisa Liu",
"position": "Webmaster", "position": "Social Chair",
"picture": "/officers/andy.jpg", "picture": "/officers/temp.png",
"email": "asmithwick@ucsd.edu", "email": "lil043@ucsd.edu",
"type": ["Events"]
},
{
"name": "Stephanie Xu",
"position": "Creative Director",
"picture": "/officers/stephanie.jpg",
"email": "sxxu@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Shing Hung", "name": "Jayendra Mangal",
"position": "Webmaster", "position": "Webmaster",
"picture": "/officers/shing.jpg", "picture": "/officers/jayendra.jpg",
"email": "s1hung@ucsd.edu", "email": "jmangal@ucsd.edu",
"type": ["Internal"]
},
{
"name": "Charles Nguyen",
"position": "Webmaster",
"picture": "/officers/temp.png",
"email": "cmn010@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Stella Ji", "name": "Stella Ji",
"position": "Marketing Chair", "position": "Webmaster",
"picture": "/officers/stella.jpg", "picture": "/officers/stella.jpeg",
"email": "seji@ucsd.edu", "email": "seji@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Lauren Vo", "name": "Kevin Chang",
"position": "Marketing Chair", "position": "Marketing Chair",
"picture": "/officers/lauren.jpg", "picture": "/officers/kevin.jpg",
"email": "lavo@ucsd.edu", "email": "kjchang@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Wan-Rong (Emma) Leung", "name": "Vuong Bui",
"position": "Design Chair", "position": "Marketing Chair",
"picture": "/officers/emma.jpg", "picture": "/officers/vuong.jpg",
"email": "waleung@ucsd.edu", "email": "v2bui@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
}, },
{ {
"name": "Christine Uy", "name": "Joyce Zhou",
"position": "Design Chair", "position": "Design Chair",
"picture": "/officers/christine.jpg", "picture": "/officers/joyce.jpg",
"email": "c1uy@ucsd.edu", "email": "jiz152@ucsd.edu",
"type": ["Internal"] "type": ["Internal"]
},
{
"name": "Kate Zhou",
"position": "Design Chair",
"picture": "/officers/kate.jpg",
"email": "yuz235@ucsd.edu",
"type": ["Internal"]
},
{
"name": "Khai Vu",
"position": "Supercomputing Chair",
"picture": "/officers/khai.jpg",
"email": "k6vu@ucsd.edu",
"type": ["Projects"]
} }
] ]

View file

@ -3,6 +3,7 @@ import Navbar from "../components/Navbar.astro";
import Footer from "../components/Footer.astro"; import Footer from "../components/Footer.astro";
import "../styles/hamburgers.scss"; import "../styles/hamburgers.scss";
import "../styles/global.scss"; import "../styles/global.scss";
import "iconify-icon";
import "@fontsource-variable/epilogue"; import "@fontsource-variable/epilogue";
const { title, description, keywords, url, image } = Astro.props; const { title, description, keywords, url, image } = Astro.props;
--- ---
@ -11,7 +12,12 @@ const { title, description, keywords, url, image } = Astro.props;
<head> <head>
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js" <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"
></script> ></script>
<script
src="https://cdn.jsdelivr.net/npm/iconify-icon@2.0.0/dist/iconify-icon.min.js"
></script>
<script
src="https://code.iconify.design/iconify-icon/1.0.8/iconify-icon.min.js"
></script>
<script is:inline src="https://apis.google.com/js/api.js"></script> <script is:inline src="https://apis.google.com/js/api.js"></script>
<script <script
is:inline is:inline
@ -20,9 +26,6 @@ const { title, description, keywords, url, image } = Astro.props;
is:inline is:inline
src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"
></script> ></script>
<script
src="https://code.iconify.design/iconify-icon/1.0.8/iconify-icon.min.js"
></script>
</head> </head>
<body class=""> <body class="">

View file

@ -3,7 +3,7 @@ import Layout from "../layouts/Layout.astro";
import OfficerCard from "../components/react/OfficerCard.jsx"; import OfficerCard from "../components/react/OfficerCard.jsx";
import Officers from "../data/officers.json"; import Officers from "../data/officers.json";
import OfficerTabs from "../components/react/OfficerTabs.jsx"; import OfficerTabs from "../components/react/OfficerTabs.jsx";
import { Icon } from "astro-icon/components"; import "iconify-icon";
--- ---
<html lang="en"> <html lang="en">
@ -22,26 +22,26 @@ import { Icon } from "astro-icon/components";
> >
Join the 2nd largest IEEE student branch in the US! Join the 2nd largest IEEE student branch in the US!
</div> </div>
<div class="scale-[600%] mt-10 space-x-2 flex flex-row"> <div class="scale-[600%] mt-10 space-x-2">
<a href="https://discord.gg/XxfjqZSjca"> <a href="https://discord.gg/XxfjqZSjca">
<Icon <iconify-icon
name="ic:baseline-discord" icon="ic:baseline-discord"
class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#5562ea]" class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#5562ea]"
/> ></iconify-icon>
</a> </a>
<a href="https://www.facebook.com/ieeeucsd"> <a href="https://www.facebook.com/ieeeucsd">
<Icon <iconify-icon
name="ic:baseline-facebook" icon="ic:baseline-facebook"
class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#0863f7]" class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#0863f7]"
/> ></iconify-icon>
</a> </a>
<a href="https://www.instagram.com/ieee.ucsd"> <a href="https://www.instagram.com/ieee.ucsd">
<Icon <iconify-icon
name="mdi:instagram" icon="mdi:instagram"
class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#ff68cd]" class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-[#ff68cd]"
/> ></iconify-icon>
</a> </a>
</div> </div>
</div> </div>
@ -65,48 +65,6 @@ import { Icon } from "astro-icon/components";
ways to get involved! ways to get involved!
</div> </div>
</div> </div>
<div
class="bg-ieee h-[35em] my-auto rounded-t-[10%] rounded-b-[10%] flex flex-col items-center justify-center bg-blend-overlay bg-no-repeat bg-cover align-center bg-center"
style="background-image: url('/backgrounds/robocup.jpg');"
>
<!-- BLUE BG -->
<div
class="flex flex-col items-center justify-center text-center"
>
<div
class="text-[3.2em] text-white font-bold mb-4 w-[11em]"
>
Watch our trailer(s)!
</div>
<!-- <div class="scale-[400%] mt-10 space-x-2">
<a href="https://www.instagram.com/ieee.ucsd">
<iconify-icon
icon="mdi:calendar"
class="duration-500 transition hover:scale-125 scale-100 text-white hover:text-gray-500"
></iconify-icon>
</a>
</div> -->
</div>
</div>
<div
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-col justify-center items-center w-full px-4 lg:px-8"
>
<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>
</div>
</div>
</div>
<!-- BLUE BG --> <!-- BLUE BG -->
<div <div
class="bg-ieee h-[35em] my-auto rounded-t-[10%] rounded-b-[10%] flex flex-col items-center justify-center bg-blend-overlay bg-no-repeat bg-cover align-center bg-center" class="bg-ieee h-[35em] my-auto rounded-t-[10%] rounded-b-[10%] flex flex-col items-center justify-center bg-blend-overlay bg-no-repeat bg-cover align-center bg-center"
@ -156,13 +114,13 @@ import { Icon } from "astro-icon/components";
class="flex flex-col items-center justify-center w-full lg:w-1/2 p-4" class="flex flex-col items-center justify-center w-full lg:w-1/2 p-4"
> >
<div <div
class="text-center text-ieee text-[1.8em] font-bold" class="text-center text-ieee mb-12 text-[1.8em] font-bold"
> >
Each officer has their own OAH, which can be Each officer has their own OAH, which can be
seen here: seen here:
</div> </div>
<iframe <iframe
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" src="https://calendar.google.com/calendar/embed?src=c_5c08a366ecd44f440431cb647cf9b390a2f62473b4d19c8c355b32a411225067%40group.calendar.google.com&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>