Skip to content

Commit f04b090

Browse files
authored
Merge pull request #156 from HackHPI/feature/hw-2-create-new-header-2
Update To Health
2 parents 501945e + f567f4d commit f04b090

27 files changed

+958
-227
lines changed

next-env.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
/// <reference types="next/image-types/global" />
33

44
// NOTE: This file should not be edited
5-
// see https://nextjs.org/docs/basic-features/typescript for more information.
5+
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.

src/app/layout.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ export default function RootLayout({children,}: { children: React.ReactNode }) {
1111
<head>
1212
<meta charSet="UTF-8"/>
1313
<meta name="viewport" content="width=device-width"/>
14-
<link rel="icon" type="image/png" href="/favicon.png"/>
14+
<link rel="icon" type="image/svg+xml" href="/HackHPI_white.svg"/>
1515
<title>
16-
HackHPI 2024 | tomorrow's reality, today's vision. smart cities edition.
16+
HackHPI 2025 | Health Edition.
1717
</title>
1818
<meta name="theme-color" content="#13101B"/>
1919
<meta name={"description"}
20-
content={"Explore the future of urban living at HPI in Potsdam. Join motivated students for two days of innovation, workshops, and collaboration with top-notch sponsors offering support and expertise. Tackle a challenge and dive into the world of smart cities."}/>
20+
content={"Explore the future of health at HPI in Potsdam. Join motivated students for two days of innovation, workshops, and collaboration with top-notch sponsors offering support and expertise. Tackle a challenge and dive into the world of health."}/>
2121
</head>
2222
<body>
2323
<AppRouterCacheProvider>

src/app/page.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import {VerifiedChecker} from "../components/VerifiedChecker/VerifiedChecker";
22
import WhatToExpect from "../components/WhatToExpect/WhatToExpect";
3-
import Sponsors from "../components/Sponsors/Sponsors";
3+
import Sponsors25 from "../components/Sponsors/Sponsors25";
44
import Newsletter from "../components/Newsletter/Newsletter";
5-
import {TimeTable} from "../components/TimeTable/TimeTable";
65
import {Faq} from "../components/Faq/Faq";
76
import Team from "../components/Team/Team";
87
import Speakers from "../components/Speakers/Speakers";
@@ -18,14 +17,16 @@ export default function Page() {
1817
<VerifiedChecker/>
1918
<WhatToExpect/>
2019
<Features/>
21-
<Sponsors/>
20+
<Sponsors25/>
2221
<Gallery/>
2322
<Newsletter/>
2423
{/*<Registration />
2524
<Location />*/}
2625
<Speakers/>
2726
<Jury/>
28-
<TimeTable/>
27+
{/*
28+
<TimeTable/>
29+
*/}
2930
<Faq/>
3031
<Team/>
3132
</>

src/assets/images/sponsors/berta-rudi_logo_negativ_sw.svg renamed to src/assets/images/sponsors/2024/berta-rudi_logo_negativ_sw.svg

+107-107
Loading
+12
Loading

src/components/Faq/Faq.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ let faqs = [
4747
text: "Take S7 from Berlin Central Station (\"Hauptbahnhof\") towards Potsdam and exit at Griebnitzsee."
4848
}, {
4949
title: "How should I prepare?",
50-
text: "Bring your laptop and a charger, comfortable clothes, and, above all, motivation to hack! You can dive into the topic of Smart Cities in advance, but there will be introductory sessions as well."
50+
text: "Bring your laptop and a charger, comfortable clothes, and, above all, motivation to hack! You can dive into the topic of health in advance, but there will be introductory sessions as well."
5151
}
5252
]
5353
},
@@ -82,7 +82,7 @@ let faqs = [
8282
items: [
8383
{
8484
title: "What are the challenges?",
85-
text: "All challenges are connected to the subject of Smart Cities, but we cannot tell you what awaits you. And honestly, who wants to miss the thrill of a surprise challenge? Anyway, the exact challenges will be announced at the event, so stay tuned!"
85+
text: "All challenges are connected to the subject of health, but we cannot tell you what awaits you. And honestly, who wants to miss the thrill of a surprise challenge? Anyway, the exact challenges will be announced at the event, so stay tuned!"
8686
},
8787
{
8888
title: "What are the prizes?",

src/components/Features/Features.jsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ export function Features() {
2727
},
2828
{
2929
icon: <EmojiEvents/>,
30-
title: "Cash prizes totaling up to €3500",
31-
subtitle: "Up for grabs are cash prizes totaling up to €3500, and among other things, €100 for the best meme of the event."
30+
title: "Cash prizes",
31+
subtitle: "Up for grabs are cash prizes for the best solution, and among other things, prices for the best meme of the event."
3232
},
33+
/*
3334
{
3435
icon: <ConfirmationNumber/>,
3536
title: "Free tickets for the Urban Innovation Forum in Berlin",
@@ -40,6 +41,8 @@ export function Features() {
4041
title: "Pitch your idea at the Greentech Festival in Berlin",
4142
subtitle: "Two of this year’s HackHPI winning team, will have the opportunity to pitch the results at the startup stage of the Greentech Festival in Berlin on May 18th."
4243
}
44+
45+
*/
4346
]
4447

4548
return (

src/components/Gallery/Gallery.jsx

+22-15
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,28 @@ export function Gallery() {
2929
margin: "0.5em",
3030
display: "flex"
3131
}}>
32-
{imageList.map(image => <Box sx={{
33-
margin: "0.5em",
34-
aspectRatio: "16/10",
35-
background: `url(${image.src})`,
36-
backgroundSize: "cover",
37-
38-
height: "100%"
39-
}}/>)}
40-
{imageList.map(image => <Box sx={{
41-
margin: "0.5em",
42-
aspectRatio: "16/10",
43-
background: `url(${image.src})`,
44-
backgroundSize: "cover",
45-
height: "100%"
46-
}}/>)}
32+
{imageList.map(image => <Box
33+
sx={{
34+
margin: "0.5em",
35+
aspectRatio: "16/10",
36+
background: `url(${image.src})`,
37+
backgroundSize: "cover",
38+
height: "100%"
39+
}}
40+
key={image.src}
41+
/>)}
42+
{imageList.map(image => <Box
43+
sx={{
44+
margin: "0.5em",
45+
aspectRatio: "16/10",
46+
background: `url(${image.src})`,
47+
backgroundSize: "cover",
48+
height: "100%"
49+
}}
50+
key={image.src}
51+
52+
/>
53+
)}
4754
</Box>
4855
</Box>
4956
}

src/components/LandingImage/LandingImage.jsx

+74-72
Original file line numberDiff line numberDiff line change
@@ -3,85 +3,87 @@ import {Box, Button, Card, Container, Stack, Typography} from "@mui/material";
33
import {TypeAnimation} from "react-type-animation";
44
import Countdown from "./Countdown.jsx";
55
import {CalendarMonthOutlined, Camera, CameraAlt, LocationOn} from "@mui/icons-material";
6+
import {useEffect, useState} from "react";
7+
import {MeshContainer} from "./MeshContainer/MeshContainer";
68

79
function LandingImage() {
810

11+
const [timeLeft, setTimeLeft] = useState(calculateTimeDiff())
12+
13+
function calculateTimeDiff() {
14+
return new Date(new Date(2025, 2, 21) - new Date())
15+
}
16+
17+
useEffect(() => {
18+
const i = setInterval(() => {
19+
setTimeLeft(calculateTimeDiff())
20+
}, 1000);
21+
return () => clearInterval(i);
22+
}, []); //dependency, if end changes remount
23+
924
return (
10-
<Box sx={{
11-
width: "100%",
12-
backgroundImage: `url(/mazeBackground.svg), linear-gradient(180deg, rgba(19,16,27,1) 0%, rgba(19,16,27,1) 100%)`,
13-
backgroundPosition: "center",
14-
backgroundSize: "cover",
15-
padding: 2
16-
}}
17-
>
18-
<Container sx={{height: "100%", width: "100%", display: "flex", alignItems: "center"}}>
19-
<Box sx={{
20-
height: "80%",
21-
width: "100%",
22-
display: "flex",
23-
justifyContent: "space-around",
24-
flexDirection: "column",
25-
minHeight: "60vh",
26-
}}>
25+
<MeshContainer>
2726

28-
<img src={"/HackHPI24_white.png"} width={"150rem"} alt={"HackHPI Logo"}/>
29-
<div>
30-
{/*<Countdown/>*/}
31-
<Typography sx={{color: "white"}} variant={"h2"} component={"h1"} >
32-
Thank you,
33-
</Typography>
34-
<Typography variant={"h4"} component={"h2"}>
35-
<TypeAnimation
36-
preRenderFirstString={true}
37-
sequence={[
38-
500,
39-
'That we built Better Transport', // initially rendered starting point
40-
1000,
41-
'That we built Better Schools',
42-
1000,
43-
'That we built Better Routes',
44-
1000,
45-
'That we built Better Cities',
46-
3000,
47-
'See you next year!',
48-
10000,
49-
]}
50-
speed={50}
51-
repeat={Infinity}
52-
/>
53-
</Typography>
54-
</div>
55-
<Stack direction={"row"} spacing={3} useFlexGap flexWrap="wrap">
56-
<Button
57-
variant={"contained"}
58-
sx={{
59-
background: "linear-gradient(90deg, rgba(58,12,163,1) 0%, rgba(114,9,183,1) 100%)",
60-
backgroundColor: "secondary.main",
61-
borderWidth: "1rem",
62-
width: "13rem",
63-
height: "3.5rem",
64-
fontSize: "1rem",
65-
}}
66-
startIcon={<CameraAlt/>}
67-
onClick={() => document.getElementById("images").scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" })}
68-
>
69-
Images
70-
</Button>
71-
<Card sx={{height: "3.5rem", width: "13rem", justifyContent: "center", display:"flex"}}>
72-
<Stack direction={"row"} alignItems={"center"} display={"flex"}
73-
sx={{height: "100%", paddingRight: "1.25rem", paddingLeft: "1.25rem",}} spacing={2}>
74-
<CalendarMonthOutlined sx={{fontSize: "1.5rem", color: "text.disabled"}}/>
75-
<Typography sx={{fontSize: "1rem"}} color={"text.disabled"} noWrap>
76-
5th - 6th April 2024
77-
</Typography>
78-
</Stack>
79-
</Card>
80-
</Stack>
81-
</Box>
27+
<Container sx={{height: "100%", width: "100%", display: "flex", flexDirection: "column", justifyContent: "space-around", minHeight: "60vh"}}>
28+
<img src={"/HackHPI_white.svg"} width={"150rem"} alt={"HackHPI Logo"}/>
29+
<div>
30+
<Typography sx={{color: "white"}} variant={"h2"} component={"h1"}>
31+
Medical Edition
32+
</Typography>
33+
<Typography variant={"h4"} component={"h2"}>
34+
<TypeAnimation
35+
preRenderFirstString={true}
36+
sequence={[
37+
500,
38+
'For better',
39+
500,
40+
'For better health', // initially rendered starting point
41+
1000,
42+
'For better diagnosis', // initially rendered starting point,
43+
1000,
44+
'For better treatments', // initially rendered starting point
45+
1000,
46+
`See you in ${Math.round(timeLeft / (24 * 60 * 60 * 1000))} Days!`,
47+
10000,
48+
]}
49+
speed={50}
50+
repeat={Infinity}
51+
/>
52+
</Typography>
53+
</div>
54+
<Stack direction={"row"} spacing={3} useFlexGap flexWrap="wrap">
55+
<Button
56+
variant={"contained"}
57+
sx={{
58+
borderWidth: "1rem",
59+
width: "13rem",
60+
height: "3.5rem",
61+
fontSize: "1rem",
62+
}}
63+
color={"primary"}
64+
startIcon={<CameraAlt/>}
65+
onClick={() => document.getElementById("images").scrollIntoView({
66+
behavior: "smooth",
67+
block: "start",
68+
inline: "nearest"
69+
})}
70+
>
71+
Images
72+
</Button>
73+
<Card sx={{height: "3.5rem", justifyContent: "center", display: "flex"}}>
74+
<Stack direction={"row"} alignItems={"center"} display={"flex"}
75+
sx={{height: "100%", paddingRight: "1.25rem", paddingLeft: "1.25rem",}} spacing={2}>
76+
<CalendarMonthOutlined sx={{fontSize: "1.5rem", color: "text.disabled"}}/>
77+
<Typography sx={{fontSize: "1rem"}} color={"text.disabled"} noWrap>
78+
21th - 22th March 2025
79+
</Typography>
80+
</Stack>
81+
</Card>
82+
</Stack>
8283
</Container>
83-
</Box>
84+
</MeshContainer>
8485
)
86+
8587
}
8688

8789
export default LandingImage

0 commit comments

Comments
 (0)