diff --git a/.gitignore b/.gitignore index bef67e7..07b9dd1 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ junit.xml # generated src/version.json + +# videos +public/videos/ diff --git a/src/components/CountdownTimer.js b/src/components/CountdownTimer.js index bf4d556..8c473db 100644 --- a/src/components/CountdownTimer.js +++ b/src/components/CountdownTimer.js @@ -14,7 +14,7 @@ class CountdownTimer extends Component { }; static defaultProps = { - targetDate: '2025-08-18T00:00:00', + targetDate: '2026-08-17T00:00:00', }; state = { diff --git a/src/components/HeroSection/index.js b/src/components/HeroSection/index.js index 8d3444a..a7d74c3 100644 --- a/src/components/HeroSection/index.js +++ b/src/components/HeroSection/index.js @@ -3,35 +3,11 @@ import CountdownTimer from '../CountdownTimer'; import './styles.css'; const HeroSection = () => { - const getNextFriday9amPT = () => { - const now = new Date(); - const laNow = new Date( - now.toLocaleString('en-US', {timeZone: 'America/Los_Angeles'}) - ); - const laTarget = new Date(laNow.getTime()); - const laDay = laNow.getDay(); - const daysUntilFriday = (5 - laDay + 7) % 7; - laTarget.setDate(laNow.getDate() + daysUntilFriday); - laTarget.setHours(9, 0, 0, 0); - if ( - daysUntilFriday === 0 && - (laNow.getHours() > 9 || - (laNow.getHours() === 9 && - (laNow.getMinutes() > 0 || - laNow.getSeconds() > 0 || - laNow.getMilliseconds() > 0))) - ) { - laTarget.setDate(laTarget.getDate() + 7); - } - const offsetDeltaMs = now.getTime() - laNow.getTime(); - const targetInstantMs = laTarget.getTime() + offsetDeltaMs; - return new Date(targetInstantMs); - }; return (
-

Hackweek 2025

- +

Hackweek 2026

+

until the hacking begins

diff --git a/src/components/MicroCountdownTimer/index.js b/src/components/MicroCountdownTimer/index.js index a1c816d..844f31e 100644 --- a/src/components/MicroCountdownTimer/index.js +++ b/src/components/MicroCountdownTimer/index.js @@ -2,7 +2,7 @@ import React, {useState, useEffect} from 'react'; import './styles.css'; const calculateTimeLeft = () => { - const hackweekDate = new Date('2025-08-18T00:00:00'); + const hackweekDate = new Date('2026-08-17T00:00:00'); const difference = hackweekDate - new Date(); if (difference > 0) { @@ -32,7 +32,7 @@ const MicroCountdownTimer = () => { return

VOTE NOW!!

; } - return

{timeLeft.days} days away

; + return

{timeLeft.days} day till hackweek

; }; export default MicroCountdownTimer; diff --git a/src/pages/Login.js b/src/pages/Login.js index e137deb..7039392 100644 --- a/src/pages/Login.js +++ b/src/pages/Login.js @@ -11,68 +11,24 @@ import InfoSection from '../components/InfoSection'; import './styles.css'; const Login = ({firebase, auth, profile, router}) => { - // Compute if hackweek has started and countdown to Friday 9 AM PT - const HACKWEEK_START_ISO = '2025-08-18T00:00:00'; + // Compute if hackweek has started and countdown to August 17th 2026 + const HACKWEEK_START_ISO = '2026-08-17T00:00:00'; - const getMsUntilFriday9PT = () => { + const getMsUntilHackweek = () => { const now = new Date(); - const laNow = new Date( - now.toLocaleString('en-US', {timeZone: 'America/Los_Angeles'}) - ); - - // Determine upcoming Friday 9:00:00 in LA time - const laTarget = new Date(laNow.getTime()); - const laDay = laNow.getDay(); // 0=Sun ... 5=Fri - let daysUntilFriday = (5 - laDay + 7) % 7; - // If it's Friday and past 9 AM, move to next Friday - const isFriday = daysUntilFriday === 0; - laTarget.setDate(laNow.getDate() + daysUntilFriday); - laTarget.setHours(9, 0, 0, 0); - if ( - isFriday && - (laNow.getHours() > 9 || - (laNow.getHours() === 9 && (laNow.getMinutes() > 0 || laNow.getSeconds() > 0))) - ) { - laTarget.setDate(laTarget.getDate() + 7); - } - - // Convert LA wall time target to actual instant by adjusting with offset between local and LA now - const offsetDeltaMs = now.getTime() - laNow.getTime(); - const targetInstantMs = laTarget.getTime() + offsetDeltaMs; - const diff = targetInstantMs - now.getTime(); + const hackweekStart = new Date(HACKWEEK_START_ISO); + const diff = hackweekStart.getTime() - now.getTime(); return diff > 0 ? diff : 0; }; const getHasHackStarted = () => new Date() >= new Date(HACKWEEK_START_ISO); - const [msUntilFridayPT, setMsUntilFridayPT] = useState(getMsUntilFriday9PT()); + const [msUntilHackweek, setMsUntilHackweek] = useState(getMsUntilHackweek()); const [hasHackStarted, setHasHackStarted] = useState(getHasHackStarted()); - const getNextFriday9amPT = () => { - const now = new Date(); - const laNow = new Date( - now.toLocaleString('en-US', {timeZone: 'America/Los_Angeles'}) - ); - const laTarget = new Date(laNow.getTime()); - const laDay = laNow.getDay(); // 0=Sun ... 6=Sat - const daysUntilFriday = (5 - laDay + 7) % 7; // 5 = Friday - laTarget.setDate(laNow.getDate() + daysUntilFriday); - laTarget.setHours(9, 0, 0, 0); - if ( - daysUntilFriday === 0 && - (laNow.getHours() > 9 || - (laNow.getHours() === 9 && (laNow.getMinutes() > 0 || laNow.getSeconds() > 0))) - ) { - laTarget.setDate(laTarget.getDate() + 7); - } - const offsetDeltaMs = now.getTime() - laNow.getTime(); - const targetInstantMs = laTarget.getTime() + offsetDeltaMs; - return new Date(targetInstantMs); - }; - useEffect(() => { const interval = setInterval(() => { - setMsUntilFridayPT(getMsUntilFriday9PT()); + setMsUntilHackweek(getMsUntilHackweek()); setHasHackStarted(getHasHackStarted()); }, 1000); return () => clearInterval(interval); @@ -139,7 +95,7 @@ const Login = ({firebase, auth, profile, router}) => {

HACK TIME!!!

- +

until video submission deadline

diff --git a/src/routes.js b/src/routes.js index 53097c5..763aa54 100644 --- a/src/routes.js +++ b/src/routes.js @@ -22,7 +22,7 @@ import {loginRequired} from './auth'; export default ( - +