Skip to content
Merged

10/21 #134

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,4 @@
}
.star-field .layer:nth-child(3) {
animation: sf-fly-by-3 5s linear infinite;
}
}
28 changes: 18 additions & 10 deletions components/about-us.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ export default function AboutUs() {
return (
<div
id="about"
className="w-11/12 lg:w-full mx-auto mt-12 mb-8 flex flex-col lg:flex-row items-start justify-start h-fit ml-0 pl-8 lg:pl-0 "
className="w-11/12 lg:w-full mx-auto mt-12 mb-8 flex flex-col lg:flex-row items-start justify-start h-fit ml-0 pl-8 lg:pl-0 font-modern"
>
{/* Left Column */}
<div className="w-full lg:w-3/6 ml-auto lg:pl-4 pr-4">
<h1 className="text-hackrpi-orange text-4xl mb-2 font-bold font-sans-Helvetica">About HackRPI</h1>
<h1 className="text-hackrpi-orange text-4xl mb-2 font-bold">
About HackRPI
</h1>

<div className="w-11/12">
<p className="pb-3 text-hackrpi-light-purple">
Expand All @@ -20,6 +23,7 @@ export default function AboutUs() {
. After submitting their projects, participants demonstrate their projects in front of a panel of
professors, industry professionals, and fellow students.
</p>

<p className="pb-3 text-hackrpi-pink">
<span data-testid="theme-description" className="text-hackrpi-primary-dark-purple font-bold">
Retro vs. Modern:
Expand All @@ -28,6 +32,7 @@ export default function AboutUs() {
explore the contrasts and possibilities between the past and the future. Join us in shaping the future
through a creative lens that honors the old while embracing the new.
</p>

<p className="pb-3 text-hackrpi-light-purple">
Our goal is to inspire and challenge innovators, creators, developers, and entrepreneurs in New York&apos;s
Tech Valley and beyond. All students from all schools are welcome to participate, regardless of their major
Expand All @@ -37,15 +42,20 @@ export default function AboutUs() {
</div>
</div>

{/* Right Column */}
<div className="w-full lg:w-2/6 flex flex-col items-center lg:items-start mt-4 lg:mt-0 h-full lg:ml-4">
{/* Registration Banner */}
<div
data-testid="register-now-banner"
className="w-full lg:w-11/12 bg-hackrpi-secondary-orange text-black text-xl h-fit overflow-hidden whitespace-nowrap font-bold lg:mt-16 pl-1 "
className="w-full lg:w-11/12 bg-hackrpi-secondary-orange text-white text-xl h-fit overflow-hidden whitespace-nowrap font-bold lg:mt-16 pl-1"
>
REGISTER NOW! REGISTER NOW! REGISTER NOW! REGISTER NOW! REGISTER NOW! REGISTER NOW! REGISTER NOW!
REGISTER NOW!
</div>
<div className="w-full lg:w-11/12 bg-gray-900 text-white h-fit flex flex-col items-start justify-start">

{/* Event Info Box */}
<div className="w-full lg:w-11/12 bg-gray-900 text-white h-fit flex flex-col items-start justify-start font-modern">
<div className="w-full h-2 bg-white mt-4" />

<h2 className="flex items-center text-2xl xs:text-4xl font-semibold pl-2 mt-2 text-nowrap">
When &amp; Where{" "}
<svg
Expand All @@ -58,8 +68,9 @@ export default function AboutUs() {
<path d="M11 1C11 0.447715 10.5523 -3.74211e-07 10 4.72575e-08L1 -1.63477e-07C0.447715 -1.63477e-07 2.8711e-07 0.447715 2.8711e-07 1C2.8711e-07 1.55228 0.447715 2 1 2L9 2L9 10C9 10.5523 9.44772 11 10 11C10.5523 11 11 10.5523 11 10L11 1ZM1.70711 10.7071L10.7071 1.70711L9.29289 0.292893L0.292893 9.29289L1.70711 10.7071Z" />
</svg>
</h2>
<div className=" w-11/12 flex flex-col md:flex-row lg:flex-col items-start justify-center md:justify-start md:items-center lg:items-start lg:justify-center">
<div className="pl-2 text-md xs:text-xl mb-4 md:mb-8 lg:mb-4 mt-2 w-1/2 md:min-w-80 ">

<div className="w-11/12 flex flex-col md:flex-row lg:flex-col items-start justify-center md:justify-start md:items-center lg:items-start lg:justify-center">
<div className="pl-2 text-md xs:text-xl mb-4 md:mb-8 lg:mb-4 mt-2 w-1/2 md:min-w-80">
<p data-testid="event-date" className="w-fit text-nowrap">
November 15-16, 2025
</p>
Expand All @@ -70,9 +81,6 @@ export default function AboutUs() {
Darrin Communications Center
</p>
</div>
<div className="w-fit pl-2 md:pl-0 lg:pl-2 mb-4 md:mb-0 lg:mb-4">
<RegistrationLink className="text-xl pr-2" />
</div>
</div>
</div>
</div>
Expand Down
34 changes: 15 additions & 19 deletions components/title-components/desktop-title.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,48 @@

import TitleText from "./title-text";
import Image from "next/image";
import RegistrationButton from "@/components/themed-components/registration-link";
import RegistrationLink from "@/components/themed-components/registration-link";

export default function DesktopTitleComponent() {
return (
<div className="relative w-full h-screen overflow-hidden">
{/* Background image */}
<div className="bg" />
<div className="bg z-0" />

{/* Starfield */}
<div className="star-field">
<div className="star-field z-0">
<div className="layer"></div>
<div className="layer"></div>
<div className="layer"></div>
</div>

{/* Foreground content */}
<div className="relative z-10 flex flex-col w-full h-full p-8 items-start justify-start">
<div className="relative z-20 flex flex-col w-full h-full p-8 items-start justify-start">
<TitleText />
</div>

{/* Registration button (clickable now) */}
<div className="absolute bottom-10 right-3 z-50">
<RegistrationLink className="text-[35px]" />
</div>

{/* Bottom-right SVG */}
<div
className="absolute"
className="absolute z-10"
style={{
bottom: "20px", // adjust vertical position in pixels
right: "-450px", // adjust horizontal position in pixels
width: "1000px", // adjust width in pixels
bottom: "20px", // adjust vertical position
right: "-450px", // adjust horizontal position
width: "1000px",
height: "auto",
}}
>
<Image
src="/skyline_tri.svg"
alt="Skyline Tri"
width={1000} // width of the SVG in pixels
height={1000} // height of the SVG in pixels (adjust as needed)
width={1000}
height={1000}
/>
</div>

{/* Registration button */}
<div className="absolute bottom-10 right-3">
<RegistrationButton className="text-[35px]" />
</div>
</div>
);
}




96 changes: 96 additions & 0 deletions components/title-components/mobile-title-text.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
"use client";

import { useState, useEffect } from "react";
import RegistrationButton from "@/components/themed-components/registration-link";
import InteractiveNavigationMap from "../interactive-map/interactive-map";
import Image from "next/image";

export default function TitleText() {
const fullText = "HACK\u00A0\u00A0\u00A0RPI";
const [displayedText, setDisplayedText] = useState("");
const [isDeleting, setIsDeleting] = useState(false);
const [index, setIndex] = useState(0);

useEffect(() => {
const typingSpeed = isDeleting ? 100 : 150;

const handleTyping = setTimeout(() => {
if (!isDeleting) {
if (index < fullText.length) {
setDisplayedText((prev) => prev + fullText[index]);
setIndex((prev) => prev + 1);
} else {
return;
}
} else {
if (index > 0) {
setDisplayedText((prev) => prev.slice(0, -1));
setIndex((prev) => prev - 1);
} else {
setIsDeleting(false);
}
}
}, typingSpeed);

return () => clearTimeout(handleTyping);
}, [index, isDeleting]);

return (
<div className="relative w-full h-full flex justify-start items-start font-sans">
{/* Left side: Box with image */}
<div className="relative z-10 w-[900px] h-[600px] bg-hackrpi-dark-blue p-0 rounded-2xl shadow-lg overflow-hidden flex items-center justify-center">
{/* Make image smaller */}
<div className="relative w-[80%] h-[80%]">
<Image
src="/cityscape_background_retro_modern.png"
alt="Cityscape Retro Modern"
fill
className="object-contain"
/>
</div>

{/* Overlayed typing text */}
<h1
className="absolute text-[70px] lg:text-[100px] font-modern font-extrabold drop-shadow-lg text-white"
style={{ top: "180px", left: "100px" }}
>
{displayedText}
<span className="animate-pulse">|</span>
</h1>

<h1
className="absolute text-[70px] lg:text-[100px] font-modern font-extrabold drop-shadow-lg text-white"
style={{ top: "180px", left: "104px" }}
>
{displayedText}
<span className="animate-pulse">|</span>
</h1>

<h1
className="absolute text-[70px] lg:text-[100px] font-modern font-extrabold drop-shadow-lg text-retro-purple-medium"
style={{ top: "180px", left: "102px" }}
>
{displayedText}
<span className="animate-pulse">|</span>
</h1>

<h1>
<span
className="absolute text-[15px] lg:text-[20px] font-modern font-extrabold drop-shadow-lg text-white"
style={{ top: "145px", left: "80px" }}
>
November 15-16, 2025 &#8226; Troy, NY
</span>
</h1>
<h1>
<span
className="absolute text-[20px] lg:text-[40px] font-modern font-extrabold drop-shadow-lg text-white"
style={{ top: "280px", left: "268px" }}
>
Retro V. Modern
</span>
</h1>
</div>
</div>
);
}
23 changes: 16 additions & 7 deletions components/title-components/mobile-title.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
"use client";

import TitleText from "./title-text";
import TitleText from "./mobile-title-text";
import InteractiveNavigationMap from "../interactive-map/interactive-map";
import RegistrationButton from "@/components/themed-components/registration-link";

export default function MobileTitleComponent() {
return (
<div className="w-full h-fit flex flex-col items-start justify-start mb-8 pl-8">
<div className="h-28 w-full"></div>
<TitleText />
</div>
);
return (
<div className="w-full flex flex-col items-center justify-start space-y-6 p-4">
{/* Skyline box / main title */}
<div className="w-full max-w-[700px]">
<TitleText />
</div>

{/* Registration button below everything */}
<div className="w-full flex justify-center">
<RegistrationButton className="text-[28px] px-6 py-3" />
</div>
</div>
);
}
Binary file added public/base_cursor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading