final merge pull request #8 from ieeeucsd/firebase
bring main up to firebase
|
@ -29,17 +29,17 @@ export const EVENTS: unknown[] = [];
|
||||||
|
|
||||||
export const SOCIALS = [
|
export const SOCIALS = [
|
||||||
{
|
{
|
||||||
icon: "img/disc.svg",
|
icon: "/assets/img/disc.svg",
|
||||||
url: "https://discord.gg/XxfjqZSjca",
|
url: "https://discord.gg/XxfjqZSjca",
|
||||||
message: "Join our server",
|
message: "Join our server",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "img/fab.svg",
|
icon: "/assets/img/fab.svg",
|
||||||
url: "https://www.facebook.com/ieeeucsd",
|
url: "https://www.facebook.com/ieeeucsd",
|
||||||
message: "ieeeucsd",
|
message: "ieeeucsd",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "img/inst.svg",
|
icon: "/assets/img/inst.svg",
|
||||||
url: "https://www.instagram.com/ieee.ucsd",
|
url: "https://www.instagram.com/ieee.ucsd",
|
||||||
message: "@ieeeucsd",
|
message: "@ieeeucsd",
|
||||||
},
|
},
|
||||||
|
@ -47,7 +47,7 @@ export const SOCIALS = [
|
||||||
|
|
||||||
export const EMAIL = [
|
export const EMAIL = [
|
||||||
{
|
{
|
||||||
icon: "img/email.svg",
|
icon: "/assets/img/email.svg",
|
||||||
url: "mailto:ieee@eng.ucsd.edu",
|
url: "mailto:ieee@eng.ucsd.edu",
|
||||||
message: "ieee@eng.ucsd.edu",
|
message: "ieee@eng.ucsd.edu",
|
||||||
},
|
},
|
||||||
|
@ -55,7 +55,7 @@ export const EMAIL = [
|
||||||
|
|
||||||
export const EMAIL_WHITE = [
|
export const EMAIL_WHITE = [
|
||||||
{
|
{
|
||||||
icon: "img/email_white.svg",
|
icon: "/assets/img/email_white.svg",
|
||||||
url: "mailto:ieee@eng.ucsd.edu",
|
url: "mailto:ieee@eng.ucsd.edu",
|
||||||
message: "ieee@eng.ucsd.edu",
|
message: "ieee@eng.ucsd.edu",
|
||||||
},
|
},
|
||||||
|
@ -63,17 +63,17 @@ export const EMAIL_WHITE = [
|
||||||
|
|
||||||
export const SOCIALS_WHITE = [
|
export const SOCIALS_WHITE = [
|
||||||
{
|
{
|
||||||
icon: "img/disc_white.svg",
|
icon: "/assets/img/disc_white.svg",
|
||||||
url: "https://discord.gg/XxfjqZSjca",
|
url: "https://discord.gg/XxfjqZSjca",
|
||||||
message: "Join our server",
|
message: "Join our server",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "img/fab_white.svg",
|
icon: "/assets/img/fab_white.svg",
|
||||||
url: "https://www.facebook.com/ieeeucsd",
|
url: "https://www.facebook.com/ieeeucsd",
|
||||||
message: "ieeeucsd",
|
message: "ieeeucsd",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "img/inst_white.svg",
|
icon: "/assets/img/inst_white.svg",
|
||||||
url: "https://www.instagram.com/ieee.ucsd",
|
url: "https://www.instagram.com/ieee.ucsd",
|
||||||
message: "@ieeeucsd",
|
message: "@ieeeucsd",
|
||||||
},
|
},
|
||||||
|
@ -83,157 +83,157 @@ export const OFFICERS = [
|
||||||
{
|
{
|
||||||
name: "Darin Tsui",
|
name: "Darin Tsui",
|
||||||
position: "Chair",
|
position: "Chair",
|
||||||
photo: "img/officers/darin.jpg",
|
photo: "/assets/img/officers/darin.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Brigette Hacia",
|
name: "Brigette Hacia",
|
||||||
position: "Vice Chair Internal",
|
position: "Vice Chair Internal",
|
||||||
photo: "img/officers/brigette.jpg",
|
photo: "/assets/img/officers/brigette.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Tasnia Jamal",
|
name: "Tasnia Jamal",
|
||||||
position: "Vice Chair Events",
|
position: "Vice Chair Events",
|
||||||
photo: "img/officers/tasnia.jpg",
|
photo: "/assets/img/officers/tasnia.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Kevin Chang",
|
name: "Kevin Chang",
|
||||||
position: "Vice Chair Projects",
|
position: "Vice Chair Projects",
|
||||||
photo: "img/officers/kevin.jpg",
|
photo: "/assets/img/officers/kevin.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Arjun Sampath",
|
name: "Arjun Sampath",
|
||||||
position: "Vice Chair Finance",
|
position: "Vice Chair Finance",
|
||||||
photo: "img/officers/arjun.jpg",
|
photo: "/assets/img/officers/arjun.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Niklas Chang",
|
name: "Niklas Chang",
|
||||||
position: "Events Coordinator",
|
position: "Events Coordinator",
|
||||||
photo: "img/officers/niklas.jpg",
|
photo: "/assets/img/officers/niklas.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Tien Vu",
|
name: "Tien Vu",
|
||||||
position: "Vice Chair External",
|
position: "Vice Chair External",
|
||||||
photo: "img/officers/tien.jpg",
|
photo: "/assets/img/officers/tien.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Derek Nguyen",
|
name: "Derek Nguyen",
|
||||||
position: "Project Space Chair",
|
position: "Project Space Chair",
|
||||||
photo: "img/officers/derek.jpg",
|
photo: "/assets/img/officers/derek.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Rafaella Gomes",
|
name: "Rafaella Gomes",
|
||||||
position: "Robocup Chair",
|
position: "Robocup Chair",
|
||||||
photo: "img/officers/rafaella.jpg",
|
photo: "/assets/img/officers/rafaella.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Yash Puneet",
|
name: "Yash Puneet",
|
||||||
position: "Robocup Chair",
|
position: "Robocup Chair",
|
||||||
photo: "img/officers/yash.jpg",
|
photo: "/assets/img/officers/yash.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Matthew Mikhailov",
|
name: "Matthew Mikhailov",
|
||||||
position: "Supercomputing Chair",
|
position: "Supercomputing Chair",
|
||||||
photo: "img/officers/matthew.jpg",
|
photo: "/assets/img/officers/matthew.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Josh Lapidario",
|
name: "Josh Lapidario",
|
||||||
position: "Quarterly Projects Chair",
|
position: "Quarterly Projects Chair",
|
||||||
photo: "img/officers/josh.jpg",
|
photo: "/assets/img/officers/josh.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Sanh Nguyen",
|
name: "Sanh Nguyen",
|
||||||
position: "Quarterly Projects Chair",
|
position: "Quarterly Projects Chair",
|
||||||
photo: "img/officers/sanh.jpg",
|
photo: "/assets/img/officers/sanh.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Vuong Bui",
|
name: "Vuong Bui",
|
||||||
position: "Professional Chair",
|
position: "Professional Chair",
|
||||||
photo: "img/officers/vuong.jpg",
|
photo: "/assets/img/officers/vuong.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Jason Liang",
|
name: "Jason Liang",
|
||||||
position: "Professional Chair",
|
position: "Professional Chair",
|
||||||
photo: "img/officers/jason.jpg",
|
photo: "/assets/img/officers/jason.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Mohak Vaswani",
|
name: "Mohak Vaswani",
|
||||||
position: "Technical Chair",
|
position: "Technical Chair",
|
||||||
photo: "img/officers/mohak.jpg",
|
photo: "/assets/img/officers/mohak.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Yusuf Morsi",
|
name: "Yusuf Morsi",
|
||||||
position: "Technical Chair",
|
position: "Technical Chair",
|
||||||
photo: "img/officers/yusuf.jpg",
|
photo: "/assets/img/officers/yusuf.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Shaun Garcia",
|
name: "Shaun Garcia",
|
||||||
position: "Technical Chair",
|
position: "Technical Chair",
|
||||||
photo: "img/officers/shaun.jpg",
|
photo: "/assets/img/officers/shaun.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Dennis Liang",
|
name: "Dennis Liang",
|
||||||
position: "Outreach Chair",
|
position: "Outreach Chair",
|
||||||
photo: "img/officers/dennis.jpg",
|
photo: "/assets/img/officers/dennis.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Daniel Chen",
|
name: "Daniel Chen",
|
||||||
position: "Outreach Chair",
|
position: "Outreach Chair",
|
||||||
photo: "img/officers/daniel.jpg",
|
photo: "/assets/img/officers/daniel.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Parisa Shahabi",
|
name: "Parisa Shahabi",
|
||||||
position: "Social Chair",
|
position: "Social Chair",
|
||||||
photo: "img/officers/parisa.jpg",
|
photo: "/assets/img/officers/parisa.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Matthew Yik",
|
name: "Matthew Yik",
|
||||||
position: "Social Chair",
|
position: "Social Chair",
|
||||||
photo: "img/officers/temp.png",
|
photo: "/assets/img/officers/temp.png",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Jiliana Tiu",
|
name: "Jiliana Tiu",
|
||||||
position: "Webmaster",
|
position: "Webmaster",
|
||||||
photo: "img/officers/jiliana.jpg",
|
photo: "/assets/img/officers/jiliana.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Raymond Wang",
|
name: "Raymond Wang",
|
||||||
position: "Webmaster",
|
position: "Webmaster",
|
||||||
photo: "img/officers/raymond.jpg",
|
photo: "/assets/img/officers/raymond.jpg",
|
||||||
email: "raymond@ucsd.edu",
|
email: "raymond@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Sankalp Kaushik",
|
name: "Sankalp Kaushik",
|
||||||
position: "PR Chair - Media",
|
position: "PR Chair - Media",
|
||||||
photo: "img/officers/sankalp.jpg",
|
photo: "/assets/img/officers/sankalp.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Stephanie Xu",
|
name: "Stephanie Xu",
|
||||||
position: "PR Chair - Graphics",
|
position: "PR Chair - Graphics",
|
||||||
photo: "img/officers/stephanie.jpg",
|
photo: "/assets/img/officers/stephanie.jpg",
|
||||||
email: "email@ucsd.edu",
|
email: "email@ucsd.edu",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
443
src/public/assets/css/styles.css
Normal file
|
@ -0,0 +1,443 @@
|
||||||
|
/* Global CSS Properties */
|
||||||
|
:root {
|
||||||
|
--main: #00629b;
|
||||||
|
--accent: #ffcd00;
|
||||||
|
--secondary: #ffffff;
|
||||||
|
--dark: #2a1a4e;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
scrollbar-width: auto;
|
||||||
|
scrollbar-color: var(--main) transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar {
|
||||||
|
width: 0.6em;
|
||||||
|
height: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-track {
|
||||||
|
background: var(--main);
|
||||||
|
}
|
||||||
|
|
||||||
|
*::-webkit-scrollbar-thumb {
|
||||||
|
background-color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: "Roboto", sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--main);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
#root {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: var(--main);
|
||||||
|
background-color: var(--secondary);
|
||||||
|
padding: 0.5em;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar.burger-bar {
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar.burger-bar > .img-cont {
|
||||||
|
align-self: flex-start;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-cont img {
|
||||||
|
width: 22em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.burger {
|
||||||
|
font-size: 2.8em;
|
||||||
|
font-weight: normal;
|
||||||
|
user-select: none;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-items.burger-time {
|
||||||
|
flex-direction: column;
|
||||||
|
position: absolute;
|
||||||
|
background-color: var(--secondary);
|
||||||
|
width: 10em;
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px;
|
||||||
|
right: 0;
|
||||||
|
margin-top: 0.36em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-items.burger-time > a {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.4em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-items.burger-time > a:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.navlink {
|
||||||
|
font-size: 1.1em;
|
||||||
|
margin: 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splash {
|
||||||
|
background-color: var(--main);
|
||||||
|
background-blend-mode: overlay;
|
||||||
|
border-radius: 0 0 50% 50% / 4rem;
|
||||||
|
background-position: center;
|
||||||
|
height: 35em;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.call-to-action {
|
||||||
|
font-size: 3.2em;
|
||||||
|
width: 11em;
|
||||||
|
color: var(--secondary);
|
||||||
|
text-align: center;
|
||||||
|
font-family: "Montserrat";
|
||||||
|
}
|
||||||
|
|
||||||
|
.splash-socials {
|
||||||
|
margin-top: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splash-socials > a {
|
||||||
|
margin-left: 1.5em;
|
||||||
|
margin-right: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splash-socials img {
|
||||||
|
width: 4.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.default-section {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
color: var(--main);
|
||||||
|
background-color: var(--secondary);
|
||||||
|
padding-top: 2em;
|
||||||
|
padding-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 3em;
|
||||||
|
margin-top: 0.8em;
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.default-section > p,
|
||||||
|
.project-space > p {
|
||||||
|
font-size: 1.8em;
|
||||||
|
width: 22em;
|
||||||
|
color: var(--dark);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-space > p {
|
||||||
|
color: var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.default-section > p:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-space {
|
||||||
|
border-radius: 50% 50% 0 0 / 4rem;
|
||||||
|
background-color: var(--main);
|
||||||
|
background-blend-mode: overlay;
|
||||||
|
background-image: url("../img/backgrounds/ps.webp");
|
||||||
|
height: 40em;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-space a {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ps-title {
|
||||||
|
font-size: 3em;
|
||||||
|
color: white;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visit-us {
|
||||||
|
font-size: 2em;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ex-link {
|
||||||
|
color: var(--accent);
|
||||||
|
font-size: 2em;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involved {
|
||||||
|
border-radius: 50% 50% 0 0 / 4rem;
|
||||||
|
transform: translateY(-4rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cards {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involve-card {
|
||||||
|
padding: 1.75em 2.5em;
|
||||||
|
border: var(--main) solid 0.37em;
|
||||||
|
border-radius: 1.5em;
|
||||||
|
color: var(--main);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involve-title {
|
||||||
|
font-size: 3em;
|
||||||
|
color: var(--main);
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involve-card > img {
|
||||||
|
width: 20em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-card {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
width: 25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-card > img {
|
||||||
|
width: 4.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-message {
|
||||||
|
font-size: 2em;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.join-scls,
|
||||||
|
.footer-scls {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
max-width: 55em;
|
||||||
|
justify-content: space-around;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-left: 5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1.5em;
|
||||||
|
border: 0.35em solid var(--main);
|
||||||
|
border-radius: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-item > img {
|
||||||
|
width: 18.7em;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-name {
|
||||||
|
font-size: 2em;
|
||||||
|
padding-top: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-pos {
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 1.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-email {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-page {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-left {
|
||||||
|
margin-left: 2em;
|
||||||
|
transform: scaleX(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-right,
|
||||||
|
.carousel-left {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-right {
|
||||||
|
margin-right: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact {
|
||||||
|
border-radius: 0 0 50% 50% / 4rem;
|
||||||
|
transform: translateY(4rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
background-color: var(--main);
|
||||||
|
padding-top: 7em;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: start;
|
||||||
|
padding-left: 2em;
|
||||||
|
padding-right: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer a {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-scls {
|
||||||
|
max-width: 30em;
|
||||||
|
font-size: 0.6em;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-scls img {
|
||||||
|
width: 4.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer > img {
|
||||||
|
width: 30em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive queries go here */
|
||||||
|
@media screen and (max-width: 700px) {
|
||||||
|
html {
|
||||||
|
font-size: 0.85em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 650px) {
|
||||||
|
html {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer > img {
|
||||||
|
width: 15em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 540px) {
|
||||||
|
html {
|
||||||
|
font-size: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer > img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 420px) {
|
||||||
|
html {
|
||||||
|
font-size: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 320px) {
|
||||||
|
html {
|
||||||
|
font-size: 0.45em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#cal {
|
||||||
|
border: solid 1px #777;
|
||||||
|
width: 800px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#calendar {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
color: var(--main);
|
||||||
|
padding-top: 2em;
|
||||||
|
padding-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
width: 80vw;
|
||||||
|
height: 600px;
|
||||||
|
max-width: 1000px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-desc {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
column-gap: 10em;
|
||||||
|
vertical-align: middle;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding: 2em;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-desc img {
|
||||||
|
border-radius: 0.2em;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 600px;
|
||||||
|
max-height: 400px;
|
||||||
|
}
|
Before Width: | Height: | Size: 492 B After Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 275 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 899 B After Width: | Height: | Size: 899 B |
Before Width: | Height: | Size: 897 B After Width: | Height: | Size: 897 B |
Before Width: | Height: | Size: 511 B After Width: | Height: | Size: 511 B |
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 509 B |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
@ -22,7 +22,7 @@ class Main extends React.Component {
|
||||||
<Splash
|
<Splash
|
||||||
cta="The backbone of IEEE. Come help make a difference!"
|
cta="The backbone of IEEE. Come help make a difference!"
|
||||||
delay={2000}
|
delay={2000}
|
||||||
backgrounds={["img/backgrounds/committee.webp"]}
|
backgrounds={["/assets/img/backgrounds/committee.webp"]}
|
||||||
></Splash>
|
></Splash>
|
||||||
<DefaultSection
|
<DefaultSection
|
||||||
title="Join us!"
|
title="Join us!"
|
||||||
|
@ -34,27 +34,27 @@ class Main extends React.Component {
|
||||||
<div className="cards">
|
<div className="cards">
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle=""
|
boxTitle=""
|
||||||
image="img/committees/technical.webp"
|
image="/assets/img/committees/technical.webp"
|
||||||
description="Technical Committee"
|
description="Technical Committee"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle=""
|
boxTitle=""
|
||||||
image="img/committees/social.webp"
|
image="/assets/img/committees/social.webp"
|
||||||
description="Social Committee"
|
description="Social Committee"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle=""
|
boxTitle=""
|
||||||
image="img/committees/professional.webp"
|
image="/assets/img/committees/professional.webp"
|
||||||
description="Professional Committee"
|
description="Professional Committee"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle=""
|
boxTitle=""
|
||||||
image="img/committees/pr.webp"
|
image="/assets/img/committees/pr.webp"
|
||||||
description="PR Committee"
|
description="PR Committee"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle=""
|
boxTitle=""
|
||||||
image="img/committees/outreach.webp"
|
image="/assets/img/committees/outreach.webp"
|
||||||
description="Outreach Committee"
|
description="Outreach Committee"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -43,7 +43,7 @@ export default class Carousel extends Component<CarouselProps, CarouselState> {
|
||||||
<div className="carousel">
|
<div className="carousel">
|
||||||
<img
|
<img
|
||||||
className="carousel-left"
|
className="carousel-left"
|
||||||
src="img/arrow.svg"
|
src="/assets/img/arrow.svg"
|
||||||
style={
|
style={
|
||||||
this.state.page === 0 ? { visibility: "hidden" } : {}
|
this.state.page === 0 ? { visibility: "hidden" } : {}
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ export default class Carousel extends Component<CarouselProps, CarouselState> {
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
className="carousel-right"
|
className="carousel-right"
|
||||||
src="img/arrow.svg"
|
src="/assets/img/arrow.svg"
|
||||||
style={
|
style={
|
||||||
this.state.page === arr.length - 1
|
this.state.page === arr.length - 1
|
||||||
? { visibility: "hidden" }
|
? { visibility: "hidden" }
|
||||||
|
|
|
@ -12,7 +12,7 @@ export default class Footer extends Component {
|
||||||
public render() {
|
public render() {
|
||||||
return (
|
return (
|
||||||
<div className="footer">
|
<div className="footer">
|
||||||
<img src="img/logo_white.svg"></img>
|
<img src="/assets/img/logo_white.svg"></img>
|
||||||
<div className="footer-scls">
|
<div className="footer-scls">
|
||||||
{[...EMAIL_WHITE, ...SOCIALS_WHITE].map((n) => (
|
{[...EMAIL_WHITE, ...SOCIALS_WHITE].map((n) => (
|
||||||
<SocialCard
|
<SocialCard
|
||||||
|
|
|
@ -44,7 +44,7 @@ export default class TopBar extends React.Component<TopBarProps, TopBarState> {
|
||||||
>
|
>
|
||||||
<div className="img-cont">
|
<div className="img-cont">
|
||||||
<a href="/">
|
<a href="/">
|
||||||
<img src="img/logo.svg"></img>
|
<img src="/assets/img/logo.svg"></img>
|
||||||
</a>
|
</a>
|
||||||
<div
|
<div
|
||||||
className="burger"
|
className="burger"
|
||||||
|
|
|
@ -1,440 +0,0 @@
|
||||||
/* Global CSS Properties */
|
|
||||||
:root {
|
|
||||||
--main: #00629b;
|
|
||||||
--accent: #ffcd00;
|
|
||||||
--secondary: #ffffff;
|
|
||||||
--dark: #2a1a4e;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
scrollbar-width: auto;
|
|
||||||
scrollbar-color: var(--main) transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar {
|
|
||||||
width: 0.6em;
|
|
||||||
height: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-track {
|
|
||||||
background: var(--main);
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb {
|
|
||||||
background-color: var(--secondary);
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: "Roboto", sans-serif;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: var(--main);
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topbar {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-between;
|
|
||||||
color: var(--main);
|
|
||||||
background-color: var(--secondary);
|
|
||||||
padding: 0.5em;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topbar.burger-bar {
|
|
||||||
flex-direction: column;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topbar.burger-bar>.img-cont {
|
|
||||||
align-self: flex-start;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
width: 100%;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.img-cont img {
|
|
||||||
width: 22em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.burger {
|
|
||||||
font-size: 2.8em;
|
|
||||||
font-weight: normal;
|
|
||||||
user-select: none;
|
|
||||||
cursor: pointer;
|
|
||||||
margin-right: 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.link-items.burger-time {
|
|
||||||
flex-direction: column;
|
|
||||||
position: absolute;
|
|
||||||
background-color: var(--secondary);
|
|
||||||
width: 10em;
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 4px 4px 3px 0px;
|
|
||||||
right: 0;
|
|
||||||
margin-top: 0.36em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.link-items.burger-time>a {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0.4em 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.link-items.burger-time>a:hover {
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.navlink {
|
|
||||||
font-size: 1.1em;
|
|
||||||
margin: 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.splash {
|
|
||||||
background-color: var(--main);
|
|
||||||
background-blend-mode: overlay;
|
|
||||||
border-radius: 0 0 50% 50% / 4rem;
|
|
||||||
background-position: center;
|
|
||||||
height: 35em;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.call-to-action {
|
|
||||||
font-size: 3.2em;
|
|
||||||
width: 11em;
|
|
||||||
color: var(--secondary);
|
|
||||||
text-align: center;
|
|
||||||
font-family: "Montserrat";
|
|
||||||
}
|
|
||||||
|
|
||||||
.splash-socials {
|
|
||||||
margin-top: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.splash-socials>a {
|
|
||||||
margin-left: 1.5em;
|
|
||||||
margin-right: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.splash-socials img {
|
|
||||||
width: 4.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.default-section {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
color: var(--main);
|
|
||||||
background-color: var(--secondary);
|
|
||||||
padding-top: 2em;
|
|
||||||
padding-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.section-title {
|
|
||||||
font-size: 3em;
|
|
||||||
margin-top: 0.8em;
|
|
||||||
margin-bottom: 0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.default-section>p,
|
|
||||||
.project-space>p {
|
|
||||||
font-size: 1.8em;
|
|
||||||
width: 22em;
|
|
||||||
color: var(--dark);
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-space>p {
|
|
||||||
color: var(--secondary);
|
|
||||||
}
|
|
||||||
|
|
||||||
.default-section>p:first-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-space {
|
|
||||||
border-radius: 50% 50% 0 0 / 4rem;
|
|
||||||
background-color: var(--main);
|
|
||||||
background-blend-mode: overlay;
|
|
||||||
background-image: url("../img/backgrounds/ps.webp");
|
|
||||||
height: 40em;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
flex-direction: column;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-space a {
|
|
||||||
color: var(--accent);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ps-title {
|
|
||||||
font-size: 3em;
|
|
||||||
color: white;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.visit-us {
|
|
||||||
font-size: 2em;
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ex-link {
|
|
||||||
color: var(--accent);
|
|
||||||
font-size: 2em;
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.involved {
|
|
||||||
border-radius: 50% 50% 0 0 / 4rem;
|
|
||||||
transform: translateY(-4rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
.cards {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.involve-card {
|
|
||||||
padding: 1.75em 2.5em;
|
|
||||||
border: var(--main) solid 0.37em;
|
|
||||||
border-radius: 1.5em;
|
|
||||||
color: var(--main);
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.involve-title {
|
|
||||||
font-size: 3em;
|
|
||||||
color: var(--main);
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.involve-card>img {
|
|
||||||
width: 20em;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
border-radius: 0.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.links {
|
|
||||||
font-size: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-card {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
padding: 1em;
|
|
||||||
width: 25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-card>img {
|
|
||||||
width: 4.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-message {
|
|
||||||
font-size: 2em;
|
|
||||||
padding: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.join-scls,
|
|
||||||
.footer-scls {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
max-width: 55em;
|
|
||||||
justify-content: space-around;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-left: 5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-item {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
padding: 1.5em;
|
|
||||||
border: 0.35em solid var(--main);
|
|
||||||
border-radius: 1em;
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-item>img {
|
|
||||||
width: 18.7em;
|
|
||||||
border-radius: 0.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-name {
|
|
||||||
font-size: 2em;
|
|
||||||
padding-top: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-pos {
|
|
||||||
font-style: italic;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-email {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-page {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-left {
|
|
||||||
margin-left: 2em;
|
|
||||||
transform: scaleX(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-right,
|
|
||||||
.carousel-left {
|
|
||||||
cursor: pointer;
|
|
||||||
width: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carousel-right {
|
|
||||||
margin-right: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contact {
|
|
||||||
border-radius: 0 0 50% 50% / 4rem;
|
|
||||||
transform: translateY(4rem);
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
|
||||||
background-color: var(--main);
|
|
||||||
padding-top: 7em;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: start;
|
|
||||||
padding-left: 2em;
|
|
||||||
padding-right: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer a {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-scls {
|
|
||||||
max-width: 30em;
|
|
||||||
font-size: 0.6em;
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-scls img {
|
|
||||||
width: 4.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer>img {
|
|
||||||
width: 30em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Responsive queries go here */
|
|
||||||
@media screen and (max-width: 700px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.85em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 650px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer>img {
|
|
||||||
width: 15em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 540px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer>img {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 420px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 320px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.45em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#cal {
|
|
||||||
border: solid 1px #777;
|
|
||||||
width: 800px;
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#calendar {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
color: var(--main);
|
|
||||||
padding-top: 2em;
|
|
||||||
padding-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
iframe {
|
|
||||||
width: 80vw;
|
|
||||||
height: 600px;
|
|
||||||
max-width: 1000px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-desc {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
column-gap: 10em;
|
|
||||||
vertical-align: middle;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-desc img {
|
|
||||||
width: 30em;
|
|
||||||
padding-top: 3em;
|
|
||||||
padding-bottom: 3em;
|
|
||||||
}
|
|
|
@ -20,7 +20,7 @@ class Main extends React.Component {
|
||||||
<Splash
|
<Splash
|
||||||
cta="Come out to our events!"
|
cta="Come out to our events!"
|
||||||
delay={2000}
|
delay={2000}
|
||||||
backgrounds={["img/backgrounds/fa21social.webp"]}
|
backgrounds={["/assets/img/backgrounds/fa21social.webp"]}
|
||||||
></Splash>
|
></Splash>
|
||||||
|
|
||||||
<DefaultSection title="Events">
|
<DefaultSection title="Events">
|
||||||
|
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 361 KiB |
|
@ -22,7 +22,7 @@ class Main extends React.Component {
|
||||||
<Splash
|
<Splash
|
||||||
cta="Join the 2nd largest IEEE student branch in the US!"
|
cta="Join the 2nd largest IEEE student branch in the US!"
|
||||||
delay={2000}
|
delay={2000}
|
||||||
backgrounds={["img/backgrounds/fa21qp.webp"]}
|
backgrounds={["/assets/img/backgrounds/fa21qp.webp"]}
|
||||||
></Splash>
|
></Splash>
|
||||||
<div id="about-us">
|
<div id="about-us">
|
||||||
<DefaultSection
|
<DefaultSection
|
||||||
|
@ -61,17 +61,17 @@ class Main extends React.Component {
|
||||||
<div className="cards">
|
<div className="cards">
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle="Events"
|
boxTitle="Events"
|
||||||
image="img/backgrounds/fa21social.webp"
|
image="/assets/img/backgrounds/fa21social.webp"
|
||||||
description="Meet fellow IEEE members!"
|
description="Meet fellow IEEE members!"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle="Projects"
|
boxTitle="Projects"
|
||||||
image="img/backgrounds/robofest.webp"
|
image="/assets/img/backgrounds/robofest.webp"
|
||||||
description="Learn new skills!"
|
description="Learn new skills!"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
<InvolveBox
|
<InvolveBox
|
||||||
boxTitle="Committees"
|
boxTitle="Committees"
|
||||||
image="img/backgrounds/gbm.webp"
|
image="/assets/img/backgrounds/gbm.webp"
|
||||||
description="Build our amazing community!"
|
description="Build our amazing community!"
|
||||||
></InvolveBox>
|
></InvolveBox>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -21,7 +21,7 @@ class Main extends React.Component {
|
||||||
<Splash
|
<Splash
|
||||||
cta="Gain hands-on experience to make your resume stand out! No experience required!"
|
cta="Gain hands-on experience to make your resume stand out! No experience required!"
|
||||||
delay={2000}
|
delay={2000}
|
||||||
backgrounds={["img/backgrounds/robocar.webp"]}
|
backgrounds={["/assets/img/backgrounds/robocar.webp"]}
|
||||||
></Splash>
|
></Splash>
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ class Main extends React.Component {
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
</DefaultSection>
|
</DefaultSection>
|
||||||
<img src="img/backgrounds/micromouse.webp"></img>
|
<img src="/assets/img/backgrounds/micromouse.webp"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="project-desc">
|
<div className="project-desc">
|
||||||
|
@ -44,7 +44,7 @@ class Main extends React.Component {
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
</DefaultSection>
|
</DefaultSection>
|
||||||
<img src="img/backgrounds/sp22qp.webp"></img>
|
<img src="/assets/img/backgrounds/sp22qp.webp"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact-us">
|
<div id="contact-us">
|
||||||
|
|
|
@ -11,6 +11,7 @@ interface Website {
|
||||||
jsfile: string;
|
jsfile: string;
|
||||||
cssfile: string;
|
cssfile: string;
|
||||||
themecolor: string;
|
themecolor: string;
|
||||||
|
path?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const APP = express();
|
const APP = express();
|
||||||
|
@ -23,32 +24,33 @@ const WEBSITES = [
|
||||||
sitename: "index",
|
sitename: "index",
|
||||||
title: "IEEE at UCSD",
|
title: "IEEE at UCSD",
|
||||||
description: "",
|
description: "",
|
||||||
jsfile: "js/index.js",
|
jsfile: "/assets/js/index.js",
|
||||||
cssfile: "css/styles.css",
|
cssfile: "/assets/css/styles.css",
|
||||||
themecolor: "",
|
themecolor: "",
|
||||||
|
path: "/",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sitename: "events",
|
sitename: "events",
|
||||||
title: "IEEE at UCSD",
|
title: "IEEE at UCSD",
|
||||||
description: "",
|
description: "",
|
||||||
jsfile: "js/events.js",
|
jsfile: "/assets/js/events.js",
|
||||||
cssfile: "css/styles.css",
|
cssfile: "/assets/css/styles.css",
|
||||||
themecolor: "",
|
themecolor: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sitename: "projects",
|
sitename: "projects",
|
||||||
title: "IEEE at UCSD",
|
title: "IEEE at UCSD",
|
||||||
description: "",
|
description: "",
|
||||||
jsfile: "js/projects.js",
|
jsfile: "/assets/js/projects.js",
|
||||||
cssfile: "css/styles.css",
|
cssfile: "/assets/css/styles.css",
|
||||||
themecolor: "",
|
themecolor: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sitename: "committees",
|
sitename: "committees",
|
||||||
title: "IEEE at UCSD",
|
title: "IEEE at UCSD",
|
||||||
description: "",
|
description: "",
|
||||||
jsfile: "js/committees.js",
|
jsfile: "/assets/js/committees.js",
|
||||||
cssfile: "css/styles.css",
|
cssfile: "/assets/css/styles.css",
|
||||||
themecolor: "",
|
themecolor: "",
|
||||||
},
|
},
|
||||||
] as Website[];
|
] as Website[];
|
||||||
|
@ -83,9 +85,8 @@ APP.get("/committees", (req: Request, res: Response) => {
|
||||||
respond(res, "committees");
|
respond(res, "committees");
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
// Utility functions for above methods
|
||||||
* Utility functions for above methods
|
|
||||||
*/
|
|
||||||
function respond(res: Response, filename: string) {
|
function respond(res: Response, filename: string) {
|
||||||
res.set({
|
res.set({
|
||||||
"Content-Type": "text/html",
|
"Content-Type": "text/html",
|
||||||
|
@ -107,8 +108,19 @@ function generateFilePages() {
|
||||||
let site: Website;
|
let site: Website;
|
||||||
for (site of WEBSITES) {
|
for (site of WEBSITES) {
|
||||||
const html = generatePage(site.sitename);
|
const html = generatePage(site.sitename);
|
||||||
|
fs.mkdirSync(
|
||||||
|
path.join(__dirname, "../public/", site.path ?? site.sitename),
|
||||||
|
{
|
||||||
|
recursive: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
path.join(__dirname, "../public/", `${site.sitename}.html`),
|
path.join(
|
||||||
|
__dirname,
|
||||||
|
"../public/",
|
||||||
|
site.path ?? site.sitename,
|
||||||
|
"/index.html"
|
||||||
|
),
|
||||||
html
|
html
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,14 +2,12 @@
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>$TITLE</title>
|
<link rel="stylesheet" type="text/css" href="/assets/css/fonts.css" media="screen">
|
||||||
<link rel="stylesheet" type="text/css" href="css/fonts.css" media="screen">
|
|
||||||
<link rel="stylesheet" type="text/css" href="$CSSFILE" media="screen">
|
<link rel="stylesheet" type="text/css" href="$CSSFILE" media="screen">
|
||||||
<link rel="icon" href="img/favicon.ico" type="image/x-icon">
|
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||||||
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1">
|
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1">
|
||||||
<meta name="description" content="$DESCRIPTION">
|
<meta name="description" content="$DESCRIPTION">
|
||||||
<meta name="theme-color" content="$THEMECOLOR">
|
<meta name="theme-color" content="$THEMECOLOR">
|
||||||
<!-- Google tag (gtag.js) -->
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-85129590-1"></script>
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-85129590-1"></script>
|
||||||
<script>
|
<script>
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
@ -18,6 +16,7 @@
|
||||||
|
|
||||||
gtag('config', 'UA-85129590-1');
|
gtag('config', 'UA-85129590-1');
|
||||||
</script>
|
</script>
|
||||||
|
<title>$TITLE</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -9,7 +9,7 @@ module.exports = {
|
||||||
entry: loadEntries("./src/public"),
|
entry: loadEntries("./src/public"),
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, "build/public"),
|
path: path.resolve(__dirname, "build/public"),
|
||||||
filename: "./js/[name].js",
|
filename: "./assets/js/[name].js",
|
||||||
},
|
},
|
||||||
mode: "production",
|
mode: "production",
|
||||||
module: {
|
module: {
|
||||||
|
@ -35,19 +35,11 @@ module.exports = {
|
||||||
new CopyPlugin({
|
new CopyPlugin({
|
||||||
patterns: [
|
patterns: [
|
||||||
{
|
{
|
||||||
// Copy utility files
|
// Copy non-ts, non-tsx files
|
||||||
from: "./src/util",
|
from: "./src",
|
||||||
to: "../util",
|
to: "../",
|
||||||
globOptions: {
|
filter: (resourcePath) => {
|
||||||
ignore: ["**/*.ts", "**/*.tsx"],
|
return !resourcePath.match(/\.(tsx|ts)?$/);
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// Copy public files
|
|
||||||
from: "./src/public",
|
|
||||||
to: "./",
|
|
||||||
globOptions: {
|
|
||||||
ignore: ["**/*.ts", "**/*.tsx"],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|