Merge remote-tracking branch 'origin/main' into ray-dev
This commit is contained in:
commit
6a236a5a46
16 changed files with 2051 additions and 2050 deletions
2
.github/workflows/validate.yml
vendored
2
.github/workflows/validate.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: validate
|
name: validation-testing
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Please create a new branch for development (i.e. `[NAME]-dev`). Pushing directly
|
||||||
|
|
||||||
To build the site, run `npm run build`.
|
To build the site, run `npm run build`.
|
||||||
|
|
||||||
To view the site on your local network, run `npm build/index.js`. View the site at [localhost:9000](http://localhost:9000).
|
To view the site on your local network, run `npm run serve`. View the site at [localhost:9000](http://localhost:9000).
|
||||||
|
|
||||||
### Images
|
### Images
|
||||||
|
|
||||||
|
|
3816
package-lock.json
generated
3816
package-lock.json
generated
File diff suppressed because it is too large
Load diff
12
package.json
12
package.json
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "ieee-website",
|
"name": "ieee-uscd-website",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Website for IEEE of UC San Diego",
|
"description": "Website for IEEE of UC San Diego",
|
||||||
"main": "build/index.js",
|
"main": "build/index.js",
|
||||||
|
@ -17,8 +17,8 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/express": "^4.17.14",
|
"@types/express": "^4.17.14",
|
||||||
"@types/mongoose": "^5.11.97",
|
"@types/mongoose": "^5.11.97",
|
||||||
"@types/node": "^18.11.5",
|
"@types/node": "^18.11.9",
|
||||||
"@types/react-dom": "^18.0.7",
|
"@types/react-dom": "^18.0.8",
|
||||||
"@types/ws": "^8.5.3",
|
"@types/ws": "^8.5.3",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"mongoose": "^6.7.0",
|
"mongoose": "^6.7.0",
|
||||||
|
@ -29,17 +29,17 @@
|
||||||
"@babel/core": "^7.19.6",
|
"@babel/core": "^7.19.6",
|
||||||
"@babel/preset-env": "^7.19.4",
|
"@babel/preset-env": "^7.19.4",
|
||||||
"@babel/preset-react": "^7.14.5",
|
"@babel/preset-react": "^7.14.5",
|
||||||
"@types/react": "^18.0.23",
|
"@types/react": "^18.0.25",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.41.0",
|
"@typescript-eslint/eslint-plugin": "^5.41.0",
|
||||||
"@typescript-eslint/parser": "^5.41.0",
|
"@typescript-eslint/parser": "^5.41.0",
|
||||||
"babel-loader": "^8.2.3",
|
"babel-loader": "^9.1.0",
|
||||||
"copy-webpack-plugin": "^11.0.0",
|
"copy-webpack-plugin": "^11.0.0",
|
||||||
"css-loader": "^6.7.1",
|
"css-loader": "^6.7.1",
|
||||||
"eslint": "^8.26.0",
|
"eslint": "^8.26.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-config-standard-with-typescript": "^23.0.0",
|
"eslint-config-standard-with-typescript": "^23.0.0",
|
||||||
"eslint-plugin-import": "^2.26.0",
|
"eslint-plugin-import": "^2.26.0",
|
||||||
"eslint-plugin-n": "^15.3.0",
|
"eslint-plugin-n": "^15.4.0",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-promise": "^6.1.1",
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
"eslint-plugin-react": "^7.31.10",
|
"eslint-plugin-react": "^7.31.10",
|
||||||
|
|
|
@ -179,7 +179,7 @@ a:hover {
|
||||||
background-color: var(--main);
|
background-color: var(--main);
|
||||||
background-blend-mode: overlay;
|
background-blend-mode: overlay;
|
||||||
background-image: url("../img/backgrounds/ps.webp");
|
background-image: url("../img/backgrounds/ps.webp");
|
||||||
height: 40em;
|
height: 43em;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -192,17 +192,33 @@ a:hover {
|
||||||
color: var(--accent);
|
color: var(--accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.project-space img {
|
||||||
|
height: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ps-links {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
margin-top: 1em;
|
||||||
|
display: flex;
|
||||||
|
column-gap: 4em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ps-links span {
|
||||||
|
display: block;
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ps-links img {
|
||||||
|
fill: color(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
.ps-title {
|
.ps-title {
|
||||||
font-size: 3em;
|
font-size: 3em;
|
||||||
color: white;
|
color: white;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.visit-us {
|
|
||||||
font-size: 2em;
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ex-link {
|
.ex-link {
|
||||||
color: var(--accent);
|
color: var(--accent);
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
|
@ -216,7 +232,7 @@ a:hover {
|
||||||
|
|
||||||
.cards {
|
.cards {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,16 +248,83 @@ a:hover {
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.involve-img {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involve-card img {
|
||||||
|
display: block;
|
||||||
|
transition: transform 0.4s;
|
||||||
|
width: 20em;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.involve-card:hover img {
|
||||||
|
transform: scale(1.1);
|
||||||
|
transform-origin: 50% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
.involve-title {
|
.involve-title {
|
||||||
font-size: 3em;
|
font-size: 3em;
|
||||||
color: var(--main);
|
color: var(--main);
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.involve-card > img {
|
.committees {
|
||||||
width: 20em;
|
border-radius: 50% 50% 0 0 / 4rem;
|
||||||
margin-bottom: 1em;
|
transform: translateY(-4rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-card {
|
||||||
|
padding: 1.75em 3em;
|
||||||
|
border: var(--main) solid 0.37em;
|
||||||
|
border-radius: 1.5em;
|
||||||
|
color: var(--secondary);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
margin: 1em;
|
||||||
|
background-color: var(--main);
|
||||||
|
background-blend-mode: multiply;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
width: 30em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-img {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 20px;
|
||||||
|
overflow: hidden;
|
||||||
border-radius: 0.2em;
|
border-radius: 0.2em;
|
||||||
|
width: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-card img {
|
||||||
|
display: block;
|
||||||
|
transition: transform 0.4s;
|
||||||
|
width: 20em;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-card:hover img {
|
||||||
|
transform: scale(1.1);
|
||||||
|
transform-origin: 50% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-title {
|
||||||
|
font-size: 3em;
|
||||||
|
color: var(--secondary);
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.committee-description {
|
||||||
|
font-size: 1.25em;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.links {
|
.links {
|
||||||
|
|
3
src/public/assets/img/calendar_accent.svg
Normal file
3
src/public/assets/img/calendar_accent.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="75" height="59" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||||||
|
<path d="M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm116 204c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40z" fill="#ffcd00"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1,020 B |
3
src/public/assets/img/calendar_white.svg
Normal file
3
src/public/assets/img/calendar_white.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="75" height="59" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||||||
|
<path d="M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm116 204c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40z" fill="white"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1,018 B |
5
src/public/assets/img/location_accent.svg
Normal file
5
src/public/assets/img/location_accent.svg
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="50" height="50" viewBox="0 0 686.000000 980.000000" preserveAspectRatio="xMidYMid meet">
|
||||||
|
<g transform="translate(0.000000,980.000000) scale(0.100000,-0.100000)" fill="#ffcd00" stroke="none">
|
||||||
|
<path d="M3165 9789 c-1198 -112 -2212 -925 -2580 -2069 -229 -712 -174 -1510 149 -2185 57 -119 236 -412 830 -1363 416 -666 759 -1218 762 -1227 4 -8 1 -15 -5 -15 -6 0 -77 -9 -159 -21 -666 -93 -1240 -295 -1645 -579 -112 -78 -298 -261 -356 -350 -108 -167 -151 -304 -151 -490 0 -147 24 -252 89 -385 274 -560 1193 -947 2536 -1069 1128 -103 2353 22 3135 321 577 219 923 509 1042 873 39 121 50 309 25 432 -86 412 -466 750 -1109 984 -210 76 -564 172 -579 157 -4 -5 -123 -192 -263 -418 -176 -281 -252 -411 -244 -416 7 -3 54 -14 103 -23 417 -79 911 -259 1108 -404 l61 -45 -41 -36 c-127 -113 -434 -244 -785 -336 -789 -206 -1864 -248 -2783 -109 -563 85 -1081 258 -1306 436 l-53 41 40 35 c158 137 597 304 1054 401 227 48 734 119 765 107 6 -2 148 -227 315 -500 167 -273 306 -496 309 -496 3 0 597 981 1319 2180 838 1391 1337 2229 1378 2314 100 209 186 466 233 701 76 376 74 793 -4 1181 -90 445 -309 908 -602 1273 -106 132 -346 369 -473 467 -445 344 -917 544 -1461 619 -138 19 -516 27 -654 14z m567 -1402 c473 -124 811 -463 935 -935 34 -130 43 -372 19 -509 -94 -539 -517 -962 -1049 -1048 -319 -52 -646 21 -922 204 -93 61 -248 212 -317 308 -276 384 -315 890 -103 1316 121 242 343 459 590 577 192 91 338 121 575 116 148 -3 190 -7 272 -29z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
5
src/public/assets/img/location_white.svg
Normal file
5
src/public/assets/img/location_white.svg
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="50" height="50" viewBox="0 0 686.000000 980.000000" preserveAspectRatio="xMidYMid meet">
|
||||||
|
<g transform="translate(0.000000,980.000000) scale(0.100000,-0.100000)" fill="white" stroke="none">
|
||||||
|
<path d="M3165 9789 c-1198 -112 -2212 -925 -2580 -2069 -229 -712 -174 -1510 149 -2185 57 -119 236 -412 830 -1363 416 -666 759 -1218 762 -1227 4 -8 1 -15 -5 -15 -6 0 -77 -9 -159 -21 -666 -93 -1240 -295 -1645 -579 -112 -78 -298 -261 -356 -350 -108 -167 -151 -304 -151 -490 0 -147 24 -252 89 -385 274 -560 1193 -947 2536 -1069 1128 -103 2353 22 3135 321 577 219 923 509 1042 873 39 121 50 309 25 432 -86 412 -466 750 -1109 984 -210 76 -564 172 -579 157 -4 -5 -123 -192 -263 -418 -176 -281 -252 -411 -244 -416 7 -3 54 -14 103 -23 417 -79 911 -259 1108 -404 l61 -45 -41 -36 c-127 -113 -434 -244 -785 -336 -789 -206 -1864 -248 -2783 -109 -563 85 -1081 258 -1306 436 l-53 41 40 35 c158 137 597 304 1054 401 227 48 734 119 765 107 6 -2 148 -227 315 -500 167 -273 306 -496 309 -496 3 0 597 981 1319 2180 838 1391 1337 2229 1378 2314 100 209 186 466 233 701 76 376 74 793 -4 1181 -90 445 -309 908 -602 1273 -106 132 -346 369 -473 467 -445 344 -917 544 -1461 619 -138 19 -516 27 -654 14z m567 -1402 c473 -124 811 -463 935 -935 34 -130 43 -372 19 -509 -94 -539 -517 -962 -1049 -1048 -319 -52 -646 21 -922 204 -93 61 -248 212 -317 308 -276 384 -315 890 -103 1316 121 242 343 459 590 577 192 91 338 121 575 116 148 -3 190 -7 272 -29z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -4,10 +4,10 @@ import TopBar from "./components/TopBar";
|
||||||
import { ACTIVE_PAGES, SOCIALS, EMAIL, OFFICERS } from "./Config";
|
import { ACTIVE_PAGES, SOCIALS, EMAIL, OFFICERS } from "./Config";
|
||||||
import Splash from "./components/Splash";
|
import Splash from "./components/Splash";
|
||||||
import DefaultSection from "./components/DefaultSection";
|
import DefaultSection from "./components/DefaultSection";
|
||||||
import InvolveBox from "./components/InvolveBox";
|
|
||||||
import SocialCard from "./components/SocialCard";
|
import SocialCard from "./components/SocialCard";
|
||||||
import Carousel from "./components/Carousel";
|
import Carousel from "./components/Carousel";
|
||||||
import Footer from "./components/Footer";
|
import Footer from "./components/Footer";
|
||||||
|
import CommitteeBox from "./components/CommitteeBox";
|
||||||
|
|
||||||
class Main extends React.Component {
|
class Main extends React.Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -27,36 +27,36 @@ class Main extends React.Component {
|
||||||
<DefaultSection
|
<DefaultSection
|
||||||
title="Join us!"
|
title="Join us!"
|
||||||
paragraphs={[
|
paragraphs={[
|
||||||
"Interested in gaining experience of event planning and development, meeting new friends, and learning more about IEEE? Join one of our committees as an IEEEntern!",
|
"Interested in gaining experience in event planning and development, meeting new friends, and learning more about IEEE? Join one of our committees as an IEEEntern!",
|
||||||
]}
|
]}
|
||||||
></DefaultSection>
|
></DefaultSection>
|
||||||
<DefaultSection className={"our-comms"} title="Our Committees">
|
<DefaultSection className={"committees"} title="Our Committees">
|
||||||
<div className="cards">
|
<div className="cards">
|
||||||
<InvolveBox
|
<CommitteeBox
|
||||||
boxTitle=""
|
boxTitle="Technical Committee"
|
||||||
image="/assets/img/committees/technical.webp"
|
image="/assets/img/committees/technical.webp"
|
||||||
description="Technical Committee"
|
description="The Technical Committee is responsible for maintaining and improving the organization's technical skills program. Through developing, planning, and executing a minimum of six technical events throughout the year, this chair seeks to improve students’ technical skills. Events can include PCB, soldering, hardware, and software. You can build anything with students!"
|
||||||
></InvolveBox>
|
></CommitteeBox>
|
||||||
<InvolveBox
|
<CommitteeBox
|
||||||
boxTitle=""
|
boxTitle="Social Committee"
|
||||||
image="/assets/img/committees/social.webp"
|
image="/assets/img/committees/social.webp"
|
||||||
description="Social Committee"
|
description="The Social Committee is in charge of planning and executing social events that create bonding opportunities for officers and our student members. Interested in arranging a hike at Torrey Pines? Sharing some free food and drinks in Warren Mall? Going out for an escape room challenge? There are tons of ideas waiting for you to implement!"
|
||||||
></InvolveBox>
|
></CommitteeBox>
|
||||||
<InvolveBox
|
<CommitteeBox
|
||||||
boxTitle=""
|
boxTitle="Professional Committee"
|
||||||
image="/assets/img/committees/professional.webp"
|
image="/assets/img/committees/professional.webp"
|
||||||
description="Professional Committee"
|
description="The Professional Committee is responsible for maintaining and improving the organization’s professional development program. Through developing, planning, and executing a minimum of six professional events throughout the year, such as, workshops on developing professional skills, company (sponsor) information sessions, tech talks, tours, and the annual ECE day (partnered with the VC External), this committee seeks to improve students’ professional skills."
|
||||||
></InvolveBox>
|
></CommitteeBox>
|
||||||
<InvolveBox
|
<CommitteeBox
|
||||||
boxTitle=""
|
boxTitle="PR Committee"
|
||||||
image="/assets/img/committees/pr.webp"
|
image="/assets/img/committees/pr.webp"
|
||||||
description="PR Committee"
|
description="The PR Comittee is responsible for creating and printing flyers, photographs, and other media. They also aid in managing the Branch's social media presence by distributing the news of the Branch's events, projects, and outreach."
|
||||||
></InvolveBox>
|
></CommitteeBox>
|
||||||
<InvolveBox
|
<CommitteeBox
|
||||||
boxTitle=""
|
boxTitle="Outreach Committee"
|
||||||
image="/assets/img/committees/outreach.webp"
|
image="/assets/img/committees/outreach.webp"
|
||||||
description="Outreach Committee"
|
description="The Outreach Committee is responsible for hosting outreach events that will benefit K-12 students within the STEM fields including the annual Boy Scout STEM Merit Badge Fair, Girls STEM Fair, and Sumobot Robotics Competition. Up for the challenge to explain Ohm's Law to a 10-year-old?"
|
||||||
></InvolveBox>
|
></CommitteeBox>
|
||||||
</div>
|
</div>
|
||||||
</DefaultSection>
|
</DefaultSection>
|
||||||
|
|
||||||
|
|
29
src/public/components/CommitteeBox.tsx
Normal file
29
src/public/components/CommitteeBox.tsx
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import * as React from "react";
|
||||||
|
import { Component } from "react";
|
||||||
|
|
||||||
|
interface CommitteeBoxProps {
|
||||||
|
boxTitle: string;
|
||||||
|
image: string;
|
||||||
|
description: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class CommitteeBox extends Component<CommitteeBoxProps> {
|
||||||
|
constructor(props: CommitteeBoxProps) {
|
||||||
|
super(props);
|
||||||
|
this.state = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
public render() {
|
||||||
|
return (
|
||||||
|
<div className="committee-card"
|
||||||
|
style = {{ backgroundImage: `url(${this.props.image})` }}>
|
||||||
|
<div className="committee-title">
|
||||||
|
{this.props.boxTitle}
|
||||||
|
</div>
|
||||||
|
<div className="committee-description">
|
||||||
|
{this.props.description}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,18 +15,18 @@ export default class InvolveBox extends Component<InvolveBoxProps> {
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
return (
|
return (
|
||||||
<div className="involve-card">
|
<a
|
||||||
<a
|
href={"/" + this.props.boxTitle.toLowerCase()}
|
||||||
className="involve-title"
|
className="involve-card"
|
||||||
href={"/" + this.props.boxTitle.toLowerCase()}
|
>
|
||||||
>
|
<div className="involve-title">{this.props.boxTitle}</div>
|
||||||
{this.props.boxTitle}
|
<div className="involve-img">
|
||||||
</a>
|
<img src={this.props.image}></img>
|
||||||
<img src={this.props.image}></img>
|
</div>
|
||||||
<div className="involve-description">
|
<div className="involve-description">
|
||||||
{this.props.description}
|
{this.props.description}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</a>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,21 +23,24 @@ class Main extends React.Component {
|
||||||
backgrounds={["/assets/img/backgrounds/fa21social.webp"]}
|
backgrounds={["/assets/img/backgrounds/fa21social.webp"]}
|
||||||
></Splash>
|
></Splash>
|
||||||
|
|
||||||
<DefaultSection title="Events">
|
<div id="events-cal">
|
||||||
<iframe
|
<DefaultSection title="Events">
|
||||||
src="https://calendar.google.com/calendar/embed?src=666sh64sku5n29qv2a2f4598jc%40group.calendar.google.com&ctz=America%2FLos_Angeles"
|
<iframe
|
||||||
frameBorder="0"
|
src="https://calendar.google.com/calendar/embed?src=666sh64sku5n29qv2a2f4598jc%40group.calendar.google.com&ctz=America%2FLos_Angeles"
|
||||||
scrolling="no"
|
frameBorder="0"
|
||||||
></iframe>
|
scrolling="no"
|
||||||
</DefaultSection>
|
></iframe>
|
||||||
|
</DefaultSection>
|
||||||
<DefaultSection title="Open Access Hours">
|
</div>
|
||||||
<iframe
|
<div id="oa-cal">
|
||||||
src="https://calendar.google.com/calendar/embed?src=c_gr3iim9ae4dv9784qkf8meb40c%40group.calendar.google.com&ctz=America%2FLos_Angeles"
|
<DefaultSection title="Open Access Hours">
|
||||||
frameBorder="0"
|
<iframe
|
||||||
scrolling="no"
|
src="https://calendar.google.com/calendar/embed?src=c_gr3iim9ae4dv9784qkf8meb40c%40group.calendar.google.com&ctz=America%2FLos_Angeles"
|
||||||
></iframe>
|
frameBorder="0"
|
||||||
</DefaultSection>
|
scrolling="no"
|
||||||
|
></iframe>
|
||||||
|
</DefaultSection>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="contact-us">
|
<div id="contact-us">
|
||||||
<DefaultSection
|
<DefaultSection
|
||||||
|
|
|
@ -45,14 +45,18 @@ class Main extends React.Component {
|
||||||
is an open-access, collaborative space where students
|
is an open-access, collaborative space where students
|
||||||
can do homework or get access to basic electronic tools
|
can do homework or get access to basic electronic tools
|
||||||
such as soldering stations, breadboard components, and
|
such as soldering stations, breadboard components, and
|
||||||
Arduino and Raspberry PI parts!
|
Arduino and Raspberry PI parts! Come visit at EBU1-4710!
|
||||||
</p>
|
</p>
|
||||||
<a
|
<div className="ps-links">
|
||||||
className="visit-us"
|
<a href="/events#oa-cal">
|
||||||
href="https://www.google.com/maps/@32.8817126,-117.2350998,59m/"
|
<img src="/assets/img/calendar_accent.svg"></img>
|
||||||
>
|
<span>Open Hours</span>
|
||||||
Come visit at EBU1-4710!
|
</a>
|
||||||
</a>
|
<a href="https://www.google.com/maps/@32.8817126,-117.2350998,59m/">
|
||||||
|
<img src="/assets/img/location_accent.svg"></img>
|
||||||
|
<span>Directions</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<DefaultSection
|
<DefaultSection
|
||||||
className={"involved"}
|
className={"involved"}
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"target": "es6",
|
"target": "es6",
|
||||||
"jsx": "react",
|
"jsx": "react",
|
||||||
"esModuleInterop": true
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true
|
||||||
},
|
},
|
||||||
"include": ["./src/util"]
|
"include": ["./src/util"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
/**
|
||||||
|
* Webpack Configuration File
|
||||||
|
*/
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const CopyPlugin = require("copy-webpack-plugin");
|
const CopyPlugin = require("copy-webpack-plugin");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
Loading…
Reference in a new issue