diff --git a/app/layout.tsx b/app/layout.tsx index 7ed95c6..392161d 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -11,25 +11,24 @@ export default function RootLayout({children,}: { children: React.ReactNode }) { - + HackHPI 2024 | tomorrow's reality, today's vision. smart cities edition. -
-
- - {children} - -
-
-
-
+
+ + {children} + +
+
+
diff --git a/public/HackHPI24_white.png b/public/HackHPI24_white.png index fa0b446..52cbf57 100644 Binary files a/public/HackHPI24_white.png and b/public/HackHPI24_white.png differ diff --git a/src/components/Faq/Faq.jsx b/src/components/Faq/Faq.jsx index e2ac363..84f6239 100644 --- a/src/components/Faq/Faq.jsx +++ b/src/components/Faq/Faq.jsx @@ -1,13 +1,17 @@ 'use client' import { Box, + Button, Card, + CardActions, + CardContent, Container, Grid, Link, List, ListItemButton, ListItemIcon, + Stack, Typography, useMediaQuery, useTheme @@ -118,33 +122,48 @@ export function Faq() { return ( - Frequently asked questions + Frequently asked + questions Can't find the answer you're looking for? You can always send us an email with your inquiry! - - - { - faqs.map((faq, idx) => ( - handleListItemClick(event, idx)} - sx={{padding: 1}} - > - - - - {faq.name} - - )) - } - - + + + + { + faqs.map((faq, idx) => ( + handleListItemClick(event, idx)} + sx={{padding: 1}} + > + + + + {faq.name} + + )) + } + + + + + + Still have Questions? + If you didn't find what you are looking for, feel free to + ask! + + + + + + diff --git a/src/components/Footer/Footer.jsx b/src/components/Footer/Footer.jsx index 8e68e90..7f9c2c5 100644 --- a/src/components/Footer/Footer.jsx +++ b/src/components/Footer/Footer.jsx @@ -11,7 +11,7 @@ import { useMediaQuery, useTheme } from "@mui/material"; -import {Facebook, GitHub, Instagram, LinkedIn, Mail, Twitter} from "@mui/icons-material"; +import {GitHub, Instagram, LinkedIn, Mail} from "@mui/icons-material"; import HackHPIWrapper from "../Theme/HackHPIWrapper.jsx"; import HackHpiLogo from "../../assets/svg/HackHPI_white.svg" diff --git a/src/components/Registration/Registration.jsx b/src/components/Registration/Registration.jsx index 9f11aa0..9b9bd81 100644 --- a/src/components/Registration/Registration.jsx +++ b/src/components/Registration/Registration.jsx @@ -12,6 +12,7 @@ import { Radio, RadioGroup, Select, + Stack, Step, StepContent, StepLabel, @@ -25,7 +26,6 @@ import HackHPIWrapper from "../Theme/HackHPIWrapper.jsx"; import {LoadingButton} from "@mui/lab"; import {RegistrationRest} from "../../rest/RegistrationRest.js"; import {Send} from "@mui/icons-material"; -import Help from '@mui/icons-material/Help'; // types: 0 = empty, 1 = textfield, 2 = date, 3 = select, 4 = radio @@ -116,11 +116,7 @@ const personalData = [ input: ['High School Diploma', 'Bachelor', 'Master', 'PhD'], name: "intendedDegree", required: true, - }, - { - formLabel: '', - type: 0, - }, + } ] const motivation = [ @@ -161,7 +157,7 @@ const skills = [ required: false, }, { - formLabel: 'Basic steps of work experiences/studies/projects/...', + formLabel: 'Previous experiences / studies / projects...', type: 1, input: ['e. g. working student at HPI, ...'], helperText: 'Outline the most important steps of your CV like work experiences, studies and projects.', @@ -265,24 +261,34 @@ function Registration() { } function enableNext(inputList, name) { - console.log("NEXT", name) + console.log("#######", name, "#########") if (!inputList) { return; } - return !inputList.content.reduce((previous, current) => { - console.log(current) + const result = inputList.content.reduce((previous, current) => { + console.log("--------", current.name, "----------", values[current.name]) + if (!current.required && (values[current.name] === undefined || values[current.name] === "")){ + console.log("Skipping evaluation - not required and empty") + return true + } + if (current.required && ((!values[current.name] && values[current.name] !== 0 ) || values[current.name] === "")){ + console.log("Declining - required not filled") + return false + } const meetsMax = current.max ? values[current.name]?.length <= current.max : true; + console.log("max", meetsMax) const meetsMin = current.min ? values[current.name]?.length >= current.min : true; - console.log(previous, meetsMax, meetsMin) + console.log("min", meetsMin) + + const meetsAll = meetsMax && meetsMin + console.log(current.name, meetsAll, previous) return previous && meetsMax && meetsMin }, true) + console.log("results for ", name, result) + return result } - function errorCheck(props) { - const values = props.values; - - } function contentForm(props) { const type = props.type; @@ -306,6 +312,7 @@ function Registration() { type="date" name={name} value={values[name] ?? ""} + style={{color: "inherit"}} onChange={(event) => handleChange(event.target.name, event.target.value)} /> case 3: @@ -326,10 +333,6 @@ function Registration() { onChange={(event, value) => handleChange(event.target.name, value)} errorCheck > - {errorCheck({ - values: values[name], - - })} {input.map((item, i) => ( } label={item}/> ))} @@ -367,16 +370,13 @@ function Registration() { } - const handleReset = () => { - setActiveStep(0); - }; - return ( - - Registration - + + Registration + Apply now before March 15th! + {steps.map((step, index) => ( + > {step.label} - - + {step.content.map((item, i) => ( - + {item.formLabel}{item.required ? "*" : ""} @@ -413,25 +412,34 @@ function Registration() { ))} - - {index === steps.length - 1 ? - } loading={isSending} - onClick={submitForm}> - Send - - : - - } + + + {index === steps.length - 1 ? + } + loading={isSending} + onClick={submitForm}> + Send + + : + + } + + + + + + - - - + diff --git a/src/components/Sponsors/Sponsors.jsx b/src/components/Sponsors/Sponsors.jsx index 6ead73e..ecce457 100644 --- a/src/components/Sponsors/Sponsors.jsx +++ b/src/components/Sponsors/Sponsors.jsx @@ -1,5 +1,4 @@ import {Box, Container, Grid} from "@mui/material"; -import Starwit from "../../assets/images/sponsors/cropped-logo-starwit-white.png" import ESchool from "../../assets/images/sponsors/trpnt_e-school-standalone-white_high.png" import React from "react"; import HackHPIWrapper from "../Theme/HackHPIWrapper.jsx"; @@ -11,9 +10,9 @@ function Sponsors() { - + {/* {"Logo - + */} {"Logo diff --git a/src/rest/RegistrationRest.js b/src/rest/RegistrationRest.js index c7669f3..b53ca85 100644 --- a/src/rest/RegistrationRest.js +++ b/src/rest/RegistrationRest.js @@ -1,8 +1,8 @@ import axios from "axios"; export class RegistrationRest{ - //baseUrl = "https://api.hackhpi.org/v1"; - baseUrl = "http://localhost:8080/v1"; + baseUrl = "https://api.hackhpi.org/v1"; + //baseUrl = "http://localhost:8080/v1"; addRegistration(data){ return axios.post(this.baseUrl+"/registration", data)