From 99e095d211f3a5c56c91704e9c41b4cb898ba6be Mon Sep 17 00:00:00 2001 From: Jakob Reinwald <75224269+jakobreinwald@users.noreply.github.com> Date: Thu, 15 Feb 2024 00:34:40 -0800 Subject: [PATCH 01/26] Updated date and location (#408) --- src/components/HomePage/Banner.js | 8 ++++---- src/components/HomePage/FAQSection.js | 6 +++--- src/components/HomePage/HothDescription.js | 3 ++- src/components/constants.js | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/components/HomePage/Banner.js b/src/components/HomePage/Banner.js index 96119799..34dc2b64 100644 --- a/src/components/HomePage/Banner.js +++ b/src/components/HomePage/Banner.js @@ -50,7 +50,7 @@ const useStyles = makeStyles(theme => ({ text: { color: 'white', fontWeight: 400, - textAlign: 'left', + textAlign: 'right', justifyItems: 'left', [theme.breakpoints.down('sm')]: { textAlign: 'center' @@ -210,7 +210,7 @@ function Banner() { Location: The Hill, room TBD + style={{ fontWeight: 500, marginTop: 10 }}>Location: Carnesale Commons, Palisades Room @@ -226,9 +226,9 @@ function Banner() { component='h3' > - Date: Saturday, March 2, 2024 + Date: Sunday, March 3, 2024 diff --git a/src/components/HomePage/FAQSection.js b/src/components/HomePage/FAQSection.js index 55db8296..5ccea4b1 100644 --- a/src/components/HomePage/FAQSection.js +++ b/src/components/HomePage/FAQSection.js @@ -112,8 +112,8 @@ AccordionQA.propTypes = { function FAQSection() { const hothNum = 'XI'; const appDeadline = 'Monday, February 26, 2024'; - const hothDate = 'Saturday, March 2, 2024'; - const hothLocation = 'Hill'; + const hothDate = 'Sunday, March 3, 2024'; + const hothLocation = 'Carnesale Commons, Palisades Room'; const faqs = [ { question: `What's a hackathon?`, @@ -162,7 +162,7 @@ function FAQSection() { }, { question: `What if I have never made a project before?`, - answer: `No worries! Throughout HOTH ${hothNum}, you'll have access to workshops on all sorts of + answer: `No worries! Throughout HOTH ${hothNum}, you'll have access to workshops on all sorts of topics to help you start bringing your ideas to life and mentors to support you through any road blocks.` }, diff --git a/src/components/HomePage/HothDescription.js b/src/components/HomePage/HothDescription.js index d038d4bf..72e82700 100644 --- a/src/components/HomePage/HothDescription.js +++ b/src/components/HomePage/HothDescription.js @@ -113,7 +113,8 @@ export default function HothDescription() { Hack on the Hill (HOTH XI) is a{' '} 12-hour beginner-friendly {' '}hackathon designed to be your first hackathon experience. - HOTH XI will be in-person on the Hill with the specific room TBD. We hope to see you there! + HOTH XI will be in-person on the Hill in the Carnesale Commons Palisades Room. + We hope to see you there! diff --git a/src/components/constants.js b/src/components/constants.js index 28b6a59c..0f99cc71 100644 --- a/src/components/constants.js +++ b/src/components/constants.js @@ -1,5 +1,5 @@ -export const hothStart = new Date('2024-03-02T08:00:00-08:00'); -export const hothEnd = new Date('2024-03-02T23:00:00-08:00'); +export const hothStart = new Date('2024-03-03T08:00:00-08:00'); +export const hothEnd = new Date('2024-03-03T23:00:00-08:00'); export const applyDeadline = new Date('2024-02-26T23:59:59-08:00'); export const applicationOpen = new Date('2024-01-29T08:00:00-08:00'); export const scheduleAvailableTime = new Date('2024-02-26T08:00:00-08:00'); From 68fba8363135bc300e27e0fd970c46e3fe91eec4 Mon Sep 17 00:00:00 2001 From: Nathan Zhang <70558078+nathanzzhang@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:19:32 -0800 Subject: [PATCH 02/26] Nathan/prevent push to main (#407) * Added prepush hook * Edited * Edited * Edited * Edited * Edited * Edited again * Edited again * Edited again * Edited again * Edited again * Edited again * Changed husky file * Final prepush hook * Removed gitignore for husky prepush --- .eslintignore | 1 + .huskyrc.js => .huskryrc.js | 2 +- .husky/_/husky.sh | 31 +++++++++++++++++++++++++++++++ .husky/pre-commit | 4 ++++ .husky/pre-push | 16 ++++++++++++++++ package.json | 6 ++++++ 6 files changed, 59 insertions(+), 1 deletion(-) rename .huskyrc.js => .huskryrc.js (98%) create mode 100644 .husky/_/husky.sh create mode 100755 .husky/pre-commit create mode 100755 .husky/pre-push diff --git a/.eslintignore b/.eslintignore index a48cf0de..89691b07 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,2 @@ +!.huskyrc.js public diff --git a/.huskyrc.js b/.huskryrc.js similarity index 98% rename from .huskyrc.js rename to .huskryrc.js index 20ed03c4..34a27712 100644 --- a/.huskyrc.js +++ b/.huskryrc.js @@ -5,4 +5,4 @@ module.exports = { 'pre-commit': 'yarn lint', 'pre-push': 'yarn lint' } -}; +}; \ No newline at end of file diff --git a/.husky/_/husky.sh b/.husky/_/husky.sh new file mode 100644 index 00000000..6809ccca --- /dev/null +++ b/.husky/_/husky.sh @@ -0,0 +1,31 @@ +#!/bin/sh +if [ -z "$husky_skip_init" ]; then + debug () { + if [ "$HUSKY_DEBUG" = "1" ]; then + echo "husky (debug) - $1" + fi + } + + readonly hook_name="$(basename "$0")" + debug "starting $hook_name..." + + if [ "$HUSKY" = "0" ]; then + debug "HUSKY env variable is set to 0, skipping hook" + exit 0 + fi + + if [ -f ~/.huskyrc ]; then + debug "sourcing ~/.huskyrc" + . ~/.huskyrc + fi + + export readonly husky_skip_init=1 + sh -e "$0" "$@" + exitCode="$?" + + if [ $exitCode != 0 ]; then + echo "husky - $hook_name hook exited with code $exitCode (error)" + fi + + exit $exitCode +fi diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000..20d0d06e --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run lint diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 00000000..498a8d4e --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,16 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run lint + +echo "> ACM Hack Pre-push Hook: Checking branch name for push to main. \n" + +BRANCH=`git rev-parse --abbrev-ref HEAD` +PROTECTED_BRANCHES="^(main|master)" + +if [[ "$BRANCH" =~ $PROTECTED_BRANCHES ]] +then + echo "ERROR: Oops! You tried pushing directly to $BRANCH. Please create your own branch with \n git checkout -b \nand push again to create a pull request. Note: The < > is inserted for convention as a variable placeholder. Do not include < > in your actual branch name.\n" && exit 1 +fi + +exit 0 diff --git a/package.json b/package.json index c3d9cd5d..bae2ba53 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,12 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1", "lint": "eslint --ext js,jsx ." }, + "husky": { + "hooks": { + "pre-commit": "./.husky/pre-commit", + "pre-push": "./.husky/pre-push" + } + }, "repository": { "type": "git", "url": "https://github.com/uclaacm/hoth.uclaacm.com" From 721ba303a9d83142c2f361dac046fc0e2f4ffe20 Mon Sep 17 00:00:00 2001 From: SPerrott22 <56176775+SPerrott22@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:22:22 -0800 Subject: [PATCH 03/26] Added current dev team leads to allowlist (#406) --- update_announcements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update_announcements.py b/update_announcements.py index ece70be7..f9fd9e07 100644 --- a/update_announcements.py +++ b/update_announcements.py @@ -10,7 +10,7 @@ import os # User whitelist and issue number we are looking for -user_whitelist = ['khxia', 'jakobreinwald', 'maggieelli', 'katelynsyu', 'nareha'] +user_whitelist = ['jakobreinwald', 'maggieelli', 'katelynsyu', 'jamesmwu', 'nathanzzhang', 'subramaniamsatyen'] # HOTH repository issues accessed via Github API repo_issues = "https://api.github.com/repos/uclaacm/hoth.uclaacm.com/issues" From 1b2a000a0078ec8f4fad3a5a97be9979ad7d60dc Mon Sep 17 00:00:00 2001 From: hannahkendall04 <142450397+hannahkendall04@users.noreply.github.com> Date: Sun, 25 Feb 2024 15:25:36 -0800 Subject: [PATCH 04/26] Beautify the homepage text (#409) * Beautify the homepage text * Beautify the homepage text 2 - slight reorganization --- src/components/HomePage/HothDescription.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/HomePage/HothDescription.js b/src/components/HomePage/HothDescription.js index 72e82700..7758ec7c 100644 --- a/src/components/HomePage/HothDescription.js +++ b/src/components/HomePage/HothDescription.js @@ -30,7 +30,9 @@ const useStyles = makeStyles(theme => ({ textAlign: 'center', fontSize: '4em', fontWeight: theme.typography.fontWeightBold, - color: theme.palette.primary.main, + background: 'linear-gradient(199.69deg, #FF5F96 21.64%, #BD01FF 72.25%)', + WebkitBackgroundClip: 'text', + WebkitTextFillColor: 'transparent', [theme.breakpoints.down('sm')]: { fontSize: '3.5em' }, @@ -41,8 +43,8 @@ const useStyles = makeStyles(theme => ({ catchphrase: { textAlign: 'center', fontSize: '2.5em', - fontWeight: theme.typography.fontWeightBold, - color: theme.palette.primary.dark, + fontWeight: 400, + color: theme.palette.secondary.light, padding: theme.spacing(2), [theme.breakpoints.down('sm')]: { fontSize: '2em' @@ -100,7 +102,7 @@ export default function HothDescription() { Hack on the Hill? + style={{ paddingBottom: isSmall ? theme.spacing(2) : theme.spacing(8) }}> Explore. Build. Empower. From 6c6df20b5f1d87273d98c556e52dbc6b360617fb Mon Sep 17 00:00:00 2001 From: Jakob Reinwald <75224269+jakobreinwald@users.noreply.github.com> Date: Mon, 26 Feb 2024 19:50:15 -0800 Subject: [PATCH 05/26] Updated schedule (#414) * Updated schedule * Katelyn q&a blurb better * Updated prizes and application deadline --- src/components/PrizePage/Prizes.js | 12 +++--- src/components/SchedulePage/Schedule.js | 3 +- src/components/constants.js | 2 +- src/data/eventSchedule.js | 55 +++++++++++++++---------- 4 files changed, 43 insertions(+), 29 deletions(-) diff --git a/src/components/PrizePage/Prizes.js b/src/components/PrizePage/Prizes.js index fbfac768..30718b6c 100644 --- a/src/components/PrizePage/Prizes.js +++ b/src/components/PrizePage/Prizes.js @@ -16,37 +16,37 @@ const allPrizes = [ { img: 'overall', track: 'Best Overall', - prize: '$250 Amazon Gift Card' + prize: '$150 Amazon Gift Card' // caption: '1 Echo Studio' }, { img: 'web', track: 'Best Web', - prize: '$100 Amazon Gift Card' + prize: '$80 Amazon Gift Card' // caption: '1 Massage Gun' }, { img: 'mobile', track: 'Best Mobile', - prize: '$100 Amazon Gift Card' + prize: '$80 Amazon Gift Card' // caption: '4 Yeti Mugs' }, { img: 'game', track: 'Best Game', - prize: '$100 Amazon Gift Card' + prize: '$80 Amazon Gift Card' // caption: '4 Laptop Stands' }, { img: 'ie', track: 'Best in Intersectional Environmentalism', - prize: '$100 Amazon Gift Card' + prize: '2 Camping Hammocks and 2 Wireless Charging Pads' // caption: '4 Mini Phone Printers' }, { img: 'beg', track: 'Best Beginner', - prize: '$100 Amazon Gift Card' + prize: '4 Wireless 3-in-1 Charging Stations' // caption: '4 Butt Cushions' } ]; diff --git a/src/components/SchedulePage/Schedule.js b/src/components/SchedulePage/Schedule.js index 68eba035..d11efe53 100644 --- a/src/components/SchedulePage/Schedule.js +++ b/src/components/SchedulePage/Schedule.js @@ -7,9 +7,10 @@ import Divider from '@material-ui/core/Divider'; import StickyTimeSlot from '../SchedulePage/StickyTimeSlot'; import eventSchedule from '../../data/eventSchedule'; import ComingSoon from '../ComingSoon/ComingSoon'; +import { scheduleAvailableTime } from '../constants'; // When changing this, make sure to update src/components/HomePage/UpcomingEvents.js as well. -const scheduleAvailable = false; +const scheduleAvailable = Date.now() > scheduleAvailableTime.getTime(); const useStyles = makeStyles(theme => ({ title: { diff --git a/src/components/constants.js b/src/components/constants.js index 0f99cc71..ad2ed58b 100644 --- a/src/components/constants.js +++ b/src/components/constants.js @@ -1,5 +1,5 @@ export const hothStart = new Date('2024-03-03T08:00:00-08:00'); export const hothEnd = new Date('2024-03-03T23:00:00-08:00'); -export const applyDeadline = new Date('2024-02-26T23:59:59-08:00'); +export const applyDeadline = new Date('2024-02-28T23:59:59-08:00'); export const applicationOpen = new Date('2024-01-29T08:00:00-08:00'); export const scheduleAvailableTime = new Date('2024-02-26T08:00:00-08:00'); diff --git a/src/data/eventSchedule.js b/src/data/eventSchedule.js index 5f54a8a4..30669945 100644 --- a/src/data/eventSchedule.js +++ b/src/data/eventSchedule.js @@ -1,4 +1,4 @@ -const hothYrMnth = '2023-03-'; // replace with real date later +const hothYrMnth = '2024-03-'; // replace with real date later const utcOffset = '-08:00'; // PST // time is a string of the form "HH:mm:ss" function getDateObj(day, time) { @@ -7,7 +7,7 @@ function getDateObj(day, time) { const eventSchedule = [ { - startTime: getDateObj('05', '08:00:00'), + startTime: getDateObj('03', '08:00:00'), events: [ { name: 'Check In', @@ -19,7 +19,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '08:30:00'), + startTime: getDateObj('03', '08:30:00'), events: [ { name: 'Opening Ceremony', @@ -31,7 +31,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '09:00:00'), + startTime: getDateObj('03', '09:00:00'), events: [ { name: 'Breakfast', @@ -41,6 +41,13 @@ const eventSchedule = [ Food! And good company! All of which we've got right here. Enjoy a breakfast of champions from Noah's Bagels as we begin the hackathon.` }, + { + name: 'Team Formation', + duration: '30 min', + location: 'Carnesale Commons Palisades Room', + description: `Looking for a team? Find one to hack with during + our team building session put on by ACM W!` + }, { name: 'Hacking Begins', duration: '', @@ -56,23 +63,29 @@ const eventSchedule = [ description: `Drop your best meme in the #memes channel on Discord and get a raffle entry for participating! This is an all-day event, so take your time in coming up with that singular meme-tastic work of art.` - }, + } + ] + }, + { + startTime: getDateObj('03', '10:00:00'), + events: [ { - name: 'Team Formation', - duration: '30 min', + name: 'Workshop Q&A', + duration: '60 min', location: 'Carnesale Commons Palisades Room', - description: `Looking for a team? Find one to hack with during - our team building session!` + description: `Got any burning questions about our HOTH XI workshops? + Take this time to work on shopping for some answers from our amazing + interns who put them together! ` } ] }, { - startTime: getDateObj('05', '09:30:00'), + startTime: getDateObj('03', '11:00:00'), events: [ { name: 'Common Experience Workshop', - duration: '30 min', - location: 'Carnesale Commons Hermosa Room', + duration: '60 min', + location: 'Carnesale Commons Palisades Room', description: `Learn more about the Common Experience theme of intersectional environmentalism and brainstorm project ideas! You'll receive raffle entries for attending as well :)` @@ -80,7 +93,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '12:30:00'), + startTime: getDateObj('03', '12:30:00'), events: [ { name: 'Lunch', @@ -95,7 +108,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '13:00:00'), + startTime: getDateObj('03', '13:00:00'), events: [ { name: 'Interdisciplinary Research Panel', @@ -110,7 +123,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '18:00:00'), + startTime: getDateObj('03', '18:00:00'), events: [ { name: 'Dinner', @@ -118,14 +131,14 @@ const eventSchedule = [ location: 'Carnesale Commons Palisades Room', description: `Do you know what's better than two free meals? Three free meals! And you've earned it! It's time to gorge yourself on pizza from - Papa John's while you recoup for your last sprint to the finish line! + Enzo's while you recoup for your last sprint to the finish line! Just like lunch, there will be alternate food options if you have dietary restrictions, and you can also work during this time.` } ] }, { - startTime: getDateObj('05', '19:00:00'), + startTime: getDateObj('03', '19:00:00'), events: [ { name: 'Meme Compeition Ends', @@ -137,7 +150,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '21:00:00'), + startTime: getDateObj('03', '21:00:00'), events: [ { name: 'Hacking Ends', @@ -150,7 +163,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '21:15:00'), + startTime: getDateObj('03', '21:15:00'), events: [ { name: 'Judging', @@ -162,7 +175,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '22:30:00'), + startTime: getDateObj('03', '22:30:00'), events: [ { name: 'Closing Ceremony', @@ -174,7 +187,7 @@ const eventSchedule = [ ] }, { - startTime: getDateObj('05', '23:00:00'), + startTime: getDateObj('03', '23:00:00'), events: [ { name: 'Hackathon Ends', From 0a3d2c40ab7af0b69ed1f67fec9e1939c681d399 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 20:15:16 -0800 Subject: [PATCH 06/26] Update Announcements (#400) Co-authored-by: Hack Bot --- src/data/announcements.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/data/announcements.json b/src/data/announcements.json index 0637a088..c1442f01 100644 --- a/src/data/announcements.json +++ b/src/data/announcements.json @@ -1 +1,8 @@ -[] \ No newline at end of file +[ + { + "id": 0, + "subject": "HOTH Applications Closing Soon!", + "body": "Hello all, thank you so much for visiting our website and for your interest in HOTH! HOTH XI is coming up this weekend on Sunday, March 3th! Our application link can be found in the top right corner of this website using the \"Apply\" button, and as a thank you to everyone for signing up, we decided to extend the application deadline two more days to this Wednesday! The event is going to be PACKED with excellent competition, workshops, prizes, raffles, and opportunities to learn from esteemed professors and Common Experience personnel (and free food)!! \r\n\r\nThe event is geared towards beginners, and like last year, we'll be including a beginner track specifically for people who have never participated in a hackathon before! So no matter your experience, you have two days to clear your Sunday and sign up for an incredible, all-encompassing coding experience this weekend! \r\n\r\nCurrent and future applicants, stay posted for our official RSVP being sent out later this week!! Questions? Hit us up on our discord server (https://discord.gg/gwaaFS2fah) for all the deets on the hackathon and other awesome stuff! \r\n\r\n\ud83d\udcc6 When: Week 9 Sunday, March 3, 2024\r\n\ud83d\udccd Where: Palisades Room, Carnesale Commons\r\n\ud83c\udfa8 Theme: Intersections\r\n\u270f\ufe0f Applications Due: February 28th (this Wednesday), 2024", + "timestamp": "2024-02-27T03:16:11Z" + } +] \ No newline at end of file From 73e061ce887fddb9499fd692607b0b3b4ca979e6 Mon Sep 17 00:00:00 2001 From: hannahkendall04 <142450397+hannahkendall04@users.noreply.github.com> Date: Mon, 26 Feb 2024 21:00:01 -0800 Subject: [PATCH 07/26] Fix accordion bug on FAQ page - make first tab closed on page load (#413) --- src/components/HomePage/FAQSection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/HomePage/FAQSection.js b/src/components/HomePage/FAQSection.js index 5ccea4b1..75458d4c 100644 --- a/src/components/HomePage/FAQSection.js +++ b/src/components/HomePage/FAQSection.js @@ -75,7 +75,7 @@ const useStyles = makeStyles(theme => ({ })); function AccordionQA({ index, question, answer }) { - const [expanded, setExpanded] = useState(index === 0); + const [expanded, setExpanded] = useState(index === -1); const classes = useStyles(); const panelName = 'faqPanel' + index; const theme = useTheme(); From 1eb168433392e1f03b01d3eefa1ea154dff864cd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Feb 2024 16:28:50 -0800 Subject: [PATCH 08/26] Update Announcements (#418) Co-authored-by: Hack Bot --- src/data/announcements.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/announcements.json b/src/data/announcements.json index c1442f01..11b0f0cd 100644 --- a/src/data/announcements.json +++ b/src/data/announcements.json @@ -2,7 +2,7 @@ { "id": 0, "subject": "HOTH Applications Closing Soon!", - "body": "Hello all, thank you so much for visiting our website and for your interest in HOTH! HOTH XI is coming up this weekend on Sunday, March 3th! Our application link can be found in the top right corner of this website using the \"Apply\" button, and as a thank you to everyone for signing up, we decided to extend the application deadline two more days to this Wednesday! The event is going to be PACKED with excellent competition, workshops, prizes, raffles, and opportunities to learn from esteemed professors and Common Experience personnel (and free food)!! \r\n\r\nThe event is geared towards beginners, and like last year, we'll be including a beginner track specifically for people who have never participated in a hackathon before! So no matter your experience, you have two days to clear your Sunday and sign up for an incredible, all-encompassing coding experience this weekend! \r\n\r\nCurrent and future applicants, stay posted for our official RSVP being sent out later this week!! Questions? Hit us up on our discord server (https://discord.gg/gwaaFS2fah) for all the deets on the hackathon and other awesome stuff! \r\n\r\n\ud83d\udcc6 When: Week 9 Sunday, March 3, 2024\r\n\ud83d\udccd Where: Palisades Room, Carnesale Commons\r\n\ud83c\udfa8 Theme: Intersections\r\n\u270f\ufe0f Applications Due: February 28th (this Wednesday), 2024", + "body": "Hello all, thank you so much for visiting our website and for your interest in HOTH! HOTH XI is coming up this weekend on Sunday, March 3rd! Our application link can be found in the top right corner of this website using the \"Apply\" button, and as a thank you to everyone for signing up, we decided to extend the application deadline two more days to this Wednesday! The event is going to be PACKED with excellent competition, workshops, prizes, raffles, and opportunities to learn from esteemed professors and Common Experience personnel (and free food)!! \r\n\r\nCurrent and future applicants, stay posted for our official RSVP being sent out later this week!! Questions? Hit us up on our discord server for all the deets on the hackathon and other awesome stuff! \r\n\r\n\ud83d\udcc6 When: Week 9 Sunday, March 3, 2024\r\n\ud83d\udccd Where: Palisades Room, Carnesale Commons\r\n\ud83c\udfa8 Theme: Intersections\r\n\u270f\ufe0f Applications Due: February 28th (this Wednesday), 2024", "timestamp": "2024-02-27T03:16:11Z" } ] \ No newline at end of file From a1536e854c2de923590af7ba969d3ca8719f102a Mon Sep 17 00:00:00 2001 From: Jakob Reinwald <75224269+jakobreinwald@users.noreply.github.com> Date: Thu, 29 Feb 2024 18:08:42 -0800 Subject: [PATCH 09/26] Jakob/update schedule (#419) * Updated schedule * Katelyn q&a blurb better * Updated prizes and application deadline * Updated workshop page * Finished rest of updating * More fixes and no buttons for nulls --- src/components/WorkshopPage/Workshop.js | 30 ++-- src/components/WorkshopPage/WorkshopPage.js | 189 +++++++++----------- 2 files changed, 103 insertions(+), 116 deletions(-) diff --git a/src/components/WorkshopPage/Workshop.js b/src/components/WorkshopPage/Workshop.js index c38464bd..de10df12 100644 --- a/src/components/WorkshopPage/Workshop.js +++ b/src/components/WorkshopPage/Workshop.js @@ -55,12 +55,15 @@ function Workshop({ title, youtube, author, description, readme, slides }) { {description} - + { + youtube !== null && + + } { readme !== null && + { + slides !== null && + + } ); } diff --git a/src/components/WorkshopPage/WorkshopPage.js b/src/components/WorkshopPage/WorkshopPage.js index 353e23f1..b47041e6 100644 --- a/src/components/WorkshopPage/WorkshopPage.js +++ b/src/components/WorkshopPage/WorkshopPage.js @@ -11,7 +11,7 @@ import ComingSoon from '../ComingSoon/ComingSoon'; // import { Button } from '@material-ui/core'; // import StickyBox from 'react-sticky-box'; // import Divider from '@mui/material/Divider'; -const workshopsAvailable = false; +const workshopsAvailable = true; const useStyles = makeStyles(theme => ({ itemType: { fontWeight: 'medium', @@ -71,57 +71,48 @@ const workshops = [ elements: [ { title: 'Intro to HTML, CSS, and JS', - author: 'Shiyu Ye', - description: `This workshop will take you on a fun and interactive - journey through the three amigos of web development: HTML, CSS, and - JavaScript. We will go over how to use HTML to structure your web - pages, CSS to style them up with colors, fonts, and layouts, and - JavaScript to add some fun little tricks. As a practice, we will - be creating a personal website for Anya from Spy x Family! Hope to - spy you there, fam ;)`, - youtube: 'https://youtu.be/bU1C5UoKlSU', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-html-css-js', - slides: 'https://docs.google.com/presentation/d/1mpto8de9naxHfKPpK9p8updtKn-Z2wSzQV-Ravq6I58/edit?usp=sharing' + author: 'Hannah Kendall', + description: `This workshop covers the basics of Web Development - HTML, CSS, and JavaScript! + Together, they make up the structure (HTML), the style (CSS), and the functionality (JS) of a + web application. Keep reading or watch the workshop to learn how to utilize these tools to + make a super cool web application of your own!`, + youtube: 'https://youtu.be/fSvbqxaAWqE?si=mBKZSfSBflfU0Jsm', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-html-css-js', + slides: 'https://docs.google.com/presentation/d/1Z6rnFfiFMpTCIxXbZz9fndr4hMB4XVyQbtid2ET0BSk/edit?usp=drive_link' }, { title: 'Intro to Web APIs', - author: 'Abigail Tran', - description: `Sick of waiting all year for your Spotify Wrapped? Learn - how to build your own version of Receiptify or Spotify Pie using spotify - APIs! In this workshop, we will learn all about using Web APIs to integrate - existing software systems (like Twitter, Venmo, Spotify, Google Maps) within - your OWN project! So wrap up your Spotify playlist, and queue up this workshop - on APIs!`, - youtube: 'https://youtu.be/U2MOLOC6GAI', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-apis', - slides: 'https://docs.google.com/presentation/d/1iQU02GAt75Y2JhRN6iniuJFAt_tKBy1xE2whg-1DJs0/edit?usp=sharing' + author: 'Kaylin Chung', + description: `Hello! Welcome to HOTH XI's Intro to Web APIs workshop. This is a guide to introduce you + to the foundations of Web APIs that will allow you to integrate them into any fullstack project. We + will be covering the client-server model, HTTP requests & responses, and how we can leverage external + servers to retrieve data and services for an app. Keep reading to learn more!`, + youtube: 'https://youtu.be/ZIamyNtujBY?si=r0v5ojIThiKzzcsQ', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-webapis', + slides: 'https://docs.google.com/presentation/d/1CpiERteBZsqKqRjnYgGruBO2aZnonjRWibSqnthcRws/edit?usp=drive_link' }, { title: 'Intro to Servers', - author: 'Andy Lewis', - description: `This intro to servers workshop covers the basics of the client-server - model and touches on relevant topics like hardware and software servers, HTTP, - and JSON. During the accompanying demo, you will learn how to create a simple - server and its API using JavaScript, Node.js, and Express. The server features - a simulated user database with user manipulation using GET, POST, and DELETE - requests, which we will test using the API tester, Postman! Stay posted for this - workshop and take your express ticket to server expertise!`, - youtube: 'https://youtu.be/pdE3bA_S4q8', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-servers', - slides: 'https://docs.google.com/presentation/d/1RRLdpQPd8cEvC-9tqNKD9qUO08CcmGYJo30rTwJiQkU/edit?usp=sharing' + author: 'Samuel Perrott', + description: `In this workshop, you will learn server-side programming in the context of full stack + applications! Topics covered include HTTP, CRUD, and REST APIs. The second half of the workshop + will include a hands-on demo building your own REST API using Flask and connecting it with a React + frontend. By the end of the workshop you will become a server savant savvy with tools such as Postman. + Viewers are recommended to have a strong foundation in JavaScript and Python.`, + youtube: 'https://youtu.be/1w60BwDG6hs?si=vSZTMTo7ntuUlmO4', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-servers', + slides: 'https://docs.google.com/presentation/d/1ZvL1TrNetVCnJHxDT0ffca0QwEP678LnVAGC846DtZ4/edit?usp=drive_link' }, { title: 'Intro to React.js', - author: 'Brooke Jiang', - description: `In this workshop, we cover the basics of React with a simple demo - of creating a grocery list. We will introduce React, explain why we want to use it, make - our first component, and allow it to display different information using props and - array.map()! Furthermore, we will learn the basics of State and useState, and how React magic - lets the user interact with the site. Shop no longer for ways to create your ideal website - and state tuned for this introduction to React!`, - youtube: 'https://youtu.be/1GNq5ez2Lxg', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-react', - slides: 'https://docs.google.com/presentation/d/1dAx-azdKEiOLCANUMoKRm1PP2Cme5SfXaAM-xh6Ozdg/edit?usp=sharing' + author: 'Kayla Kamakawa', + description: `Hello! Welcome to the Intro to React JS workshop for HOTH XI! Here we + will be introducing frontend web development using React. In this workshop we will utilize + HTML, CSS, and JavaScript, so I would recommend watching the workshop on those if you are not already + familiar with them!`, + youtube: 'https://youtu.be/JZrRLf5Gmqg?si=CZOJhja-tA5qpo0M', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-react', + slides: 'https://docs.google.com/presentation/d/1VsaDQLJS2ShCG8dLjvUt0BP7f9Zrq0oIPf73wCQtbNM/edit?usp=drive_link' } ] }, @@ -131,14 +122,13 @@ const workshops = [ elements: [ { title: 'Intro to React Native', - author: 'James Wu', - description: `Ever wanted to make your own mobile app? Let's explore React Native—a cross - platform development tool that's behind Instagram, Facebook, Discord, and many other - iconic names. In this workshop, we'll learn how to create our own app from scratch, - going over views, components, functionality, and more so that you can be a native of React! `, - youtube: 'https://youtu.be/TYvmyMJc3PQ', - readme: 'https://github.com/uclaacm/hoth9-workshops/tree/main/intro-to-react-native', - slides: 'https://docs.google.com/presentation/d/1hPfBtJzcgahXPLuJlQ6y0HcmpqrflBbZPpmL5e1vTQE/edit?usp=sharing' + author: 'Max Lee', + description: `Hello and welcome to our Intro to React Native workshop! We'll be covering the + basics of React Native in a way that I hope is simple to understand and impactful enough to teach + some key features of app development. Happy hacking!`, + youtube: 'https://youtu.be/ulqijuEyi5Y?si=aZfrltAPnZMBoCbW', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-react-native', + slides: 'https://docs.google.com/presentation/d/1_7WB4HkKUErKpaTbwc2Z7R__20CiRZ8BXlc5oo7FcLw/edit?usp=drive_link' } ] }, @@ -148,76 +138,67 @@ const workshops = [ elements: [ { title: 'Hackathon 101', - author: 'Anan Wang', + author: 'Aazel Tan', description: `This workshop video explains the basics of hackathons, which are events where people work together to create technology projects. You'll learn what to expect and how to make the most out of your experience. By the end of the video, you'll have a better understanding of what hackathons are all about and how to get started with attending one. Happy hacking, handy hackers!`, - youtube: 'https://youtu.be/p8ssQybQsd8', + youtube: 'https://www.youtube.com/watch?v=Plz5kfY8JLs&list=PLPO7_kXilXFYCo6UngcitrjAHnRXyBmwi', readme: null, - slides: 'https://docs.google.com/presentation/d/1oln-vrDxRUNNjYx9DT616e8QW2x6HYdkriyty0N8Rkc/edit?usp=sharing' + slides: 'https://docs.google.com/presentation/d/1omzpuEm3yUB92c0uwrMp79aXWa74Ft99jgSNZoUOb7I/edit?usp=drive_link' }, { title: 'Intro to Git', - author: 'Jenna Wang', - description: `Git is a distributed version control system; it brings a local copy of the - complete repository to every team member’s computer, facilitating collaboration and easy - tracking of changes made to code. The benefits of using Git include the flexibility to - work offline, reliable backup copies, fast merging and flexible branching, rapid feedback, - fewer merge conflicts, and available support. We’ll be going over how to install and - configure Git and how to use various Git commands to switch branches, commit, push, and - pull code, so let's 'git gud' at git!`, - youtube: 'https://youtu.be/BefzoplcCzs', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-git', - slides: 'https://docs.google.com/presentation/d/1kzZsZGdJ4h_GscDhjbLPs4L3j0XPIpE1-F_w2_zc6N4/edit?usp=sharing' + author: 'Lillian Gonick', + description: `Hello everyone! Welcome to the Intro to Git workshop README! In this workshop, we will + be covering the version control system: Git. Together, we will walk through installing git, creating + our first repository, and merging two branches!`, + youtube: 'https://youtu.be/Gw2AGGJKnbg?si=0b5FhNxT__V_2Svk', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-git', + slides: 'https://docs.google.com/presentation/d/1fU0VoWGm95IsHadN5STolL6PO74Et_sfQFq7WQ5_d24/edit?usp=drive_link' }, { title: 'Intro to Databases', - author: 'Satyen Subramaniam', - description: `All good projects need a strong foundation - a base for their data. Join us in this - workshop where we'll run through the use cases of databases, the structure of popular types of - databases, and how to choose a database. We'll also do a full demo using Google Firebase - a - beginner friendly non-relational database - and connect it to a custom website using React, all - completely from scratch! Get ready cus this workshop is gonna be absolutely fire (and make your - websites hella based) :)`, - youtube: 'https://youtu.be/l6D8X0L_L_g', - readme: 'https://github.com/uclaacm/hothX-workshops/tree/main/intro-to-databases', - slides: 'https://docs.google.com/presentation/d/1LE2CYSIvGKSbGdGuZuMC1hOnxjmKgP3uwH0-LPEWSFw/edit?usp=sharing' + author: 'Sneha Agarwal', + description: `Hi! Welcome to HOTHXI's Database workshop, in this workshop we'll be covering + the basics of what a database is and walkthrough how to set up, retrieve information, and + add information to our database! Before starting this workshop I recommend checking out + the React JS or React Native workshops if you're not familar with them.`, + youtube: 'https://youtu.be/09dT8CcrgTw?si=TVP-hXHPBUk_xX1x', + readme: 'https://github.com/uclaacm/hothXI-workshops/tree/main/intro-to-databases', + slides: 'https://docs.google.com/presentation/d/1rkeQNLEeXlpSXsoHmFdx77FY4HgK-rTUSqRSs7JOe5E/edit?usp=drive_link' + }, + { + title: 'Intro to Deep Learning', + author: 'Leon Lenk, Maxine Wu, & Jordan Lin (ACM AI)', + description: `Shoutout to the folks over at ACM AI for putting this together! They created this workshop + so serve as an introduction to deep learning, including a notebook linked on the readme to show you + actual deep learning code and take you through a hands-on of how you can build this code yourself! + In the process of building this model, they go over Big Data, avoiding bias and unintended patterns, + understanding our data, making the network, and training`, + youtube: 'https://youtu.be/RggC7sb1_cE?si=4FLeRtfCLOgZezhU', + readme: 'https://bit.ly/acm_ai_24w_intro_dl', + slides: null }, { title: 'Intro to Game Development', author: 'Austin Law (ACM Game Studio)', - description: `It’s gamer time! In this workshop, we cover some general tips to game development. - Whether you want to make an action RPG or a visual novel, it's important to keep in mind where - to start, how to scale properly, and how to work with a team. Then, we briefly dive into Unity - and the Unity Editor, and follow a condensed version of Unity's Roll-A-Ball tutorial. So grab - your headsets and watch this workshop cus it’s time to up your game dev game!`, - youtube: 'https://youtu.be/WkqycKI6vdc', + description: `Shoutout to Austin Law from ACM Game Studio for putting this workshop together + for us! In this section, he talks about game development, some tips to success, and lastly, + a short introduction to using the Unity game engine`, + youtube: 'https://youtu.be/WkqycKI6vdc?si=ub0ytPWJGkXAhkj8', readme: null, slides: 'https://docs.google.com/presentation/d/1s545_VhUktrxMzpx6k6hi_kOUbsRiJP0evhJ1x9ai38/edit?usp=sharing' - }, - { - title: 'Intro to UI/UX Design', - author: 'Caitlyn Chen and Sara Kuchimpos (Creative Labs)', - description: `We will cover the higher level goals of UI/UX, how to think about - design, and common design mistakes. Along the way, we'll drops some tips and - tricks to make your design absolutely bomb and give you guys some extra resources - to reference.`, - youtube: 'https://youtu.be/TxWxpsna2Us', - readme: null, - slides: 'https://www.figma.com/file/9wDd7hY9OvRRETh8Gt91fF/HOTH-Workshop?node-id=29%3A32' - }, - { - title: 'Intro to Machine Learning', - author: 'Caden Davis, Jason Jewik, and Nisha McNealis (ACM AI)', - description: `This workshop is an introduction to Machine Learning - presented to you by ACM AI. We'll briefly introduce what Machine Learning is, - the theory behind it, and how you can apply it to your own hackathon project.`, - youtube: 'https://youtu.be/byTbOGoAbRI', - readme: null, - slides: 'https://docs.google.com/presentation/d/15iGiw78UcoYgqZZR7BHfVzRGgzhXFz8Imok-OwMTWXQ/edit?usp=sharing' } + // { + // title: 'Intro to UI/UX Design', + // author: 'Caitlyn Chen and Sara Kuchimpos (Creative Labs)', + // description: ``, + // youtube: 'https://youtu.be/TxWxpsna2Us', + // readme: null, + // slides: 'https://www.figma.com/file/9wDd7hY9OvRRETh8Gt91fF/HOTH-Workshop?node-id=29%3A32' + // } ] } ]; @@ -242,7 +223,7 @@ function WorkshopPage() { container className={classes.itemElements} spacing={8} - justify={isSmall ? 'center' : 'flex-start'} + justifyContent={isSmall ? 'center' : 'flex-start'} > {item.elements.map(element => )} @@ -279,7 +260,7 @@ function WorkshopPage() { {!workshopsAvailable ? : - { workshopCards } + <>{workshopCards} } From 6a3ba891f356c4f0230e0725fc10cd3875e99a87 Mon Sep 17 00:00:00 2001 From: kaylahama <146313133+kaylahama@users.noreply.github.com> Date: Sun, 3 Mar 2024 01:26:48 -0800 Subject: [PATCH 10/26] Kayla/submissions page (#415) * added submissions info page and button for when hoth xi starts * changed format for links * fixed issue * link style change and format change * lint fix again * link tag change and format change --------- Co-authored-by: Kayla Hamakawa --- src/components/MenuBar/ButtonBar.js | 41 ++++++-- src/components/SubmissionsPage/Submissions.js | 94 +++++++++++++++++++ src/pages/submissions.js | 15 +++ 3 files changed, 142 insertions(+), 8 deletions(-) create mode 100644 src/components/SubmissionsPage/Submissions.js create mode 100644 src/pages/submissions.js diff --git a/src/components/MenuBar/ButtonBar.js b/src/components/MenuBar/ButtonBar.js index afb48329..6415a3e7 100644 --- a/src/components/MenuBar/ButtonBar.js +++ b/src/components/MenuBar/ButtonBar.js @@ -5,7 +5,12 @@ import { makeStyles } from '@material-ui/core/styles'; import { Link as GatsbyLink } from 'gatsby'; import { Link as MUILink } from '@material-ui/core'; -import { applicationOpen, applyDeadline } from '../constants.js'; +import { + applicationOpen, + applyDeadline, + hothStart, + hothEnd +} from '../constants.js'; const useStyles = makeStyles(theme => { const menuBarAdaptiveThreshold = theme.breakpoints.values.sm * 1.3; @@ -34,19 +39,27 @@ function ButtonBar({ isMobile }) { const classes = useStyles(); const PoppinLink = ({ ...props }) => -