Skip to content

Commit 46bb2ba

Browse files
committed
[RELEASE] Version 2.3 - FAQ
1 parent 52b83eb commit 46bb2ba

12 files changed

Lines changed: 366 additions & 10 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"homepage": "https://ensembleAI-hackathon.github.io/ensembleaihackathon.pl/",
1515
"name": "ensembleaihackathon.pl",
1616
"private": false,
17-
"version": "2.2",
17+
"version": "2.3",
1818
"type": "module",
1919
"scripts": {
2020
"predeploy": "npm run build",

public/images/logos_medialni/PW_RKN_biale.svg

Lines changed: 1 addition & 0 deletions
Loading
145 KB
Loading

public/locales/en/translations.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,37 @@
5858
"mediaPartners": "Media Partners",
5959
"socialPartners": "Social Partners",
6060

61-
"noRegulationsModalText": "The 2026 edition rules coming soon"
61+
"noRegulationsModalText": "The 2026 edition rules coming soon",
62+
63+
"faq": "FAQ",
64+
"faqQuestion1": "Where does the hackathon take place?",
65+
"faqAnswer1": "The hackathon takes place at Rektorska 4 Building of the Warsaw University of Technology, at 4 Rektorska Street in Warsaw.",
66+
"faqQuestion2": "When does the event start?",
67+
"faqAnswer2": "Participant registration starts at 8:30 AM on March 14, 2026.",
68+
"faqQuestion3": "Is participation in the event paid?",
69+
"faqAnswer3": "No, participation in the event is free.",
70+
"faqQuestion4": "How to effectively prepare for solving the task?",
71+
"faqAnswer4": "We strongly encourage you to participate in workshops conducted by our sponsors, which will take place in the week preceding the hackathon. Details about the workshops will be published on the EnsembleAI website and on our social media.",
72+
"faqQuestion5": "Do I have to attend the workshops in person?",
73+
"faqAnswer5": "No, you don't have to. After the workshops, recordings and materials will be made available. You can go through everything later at your convenience.",
74+
"faqQuestion6": "What if I've never participated in a hackathon before?",
75+
"faqAnswer6": "It doesn't matter, what counts is having fun.",
76+
"faqQuestion7": "Who can participate in the event?",
77+
"faqAnswer7": "Anyone interested can send us an application.",
78+
"faqQuestion8": "Can only students participate in the event?",
79+
"faqAnswer8": "No, if you have already graduated, haven't started studying yet, or don't plan to study at all, you can write that in the form instead of providing a university name.",
80+
"faqQuestion9": "Do I have to be 18 years old to participate in the event?",
81+
"faqAnswer9": "A minor can be a Participant only after obtaining the consent of a legal guardian and the Event Organizer. Persons under 18 years of age may be allowed to participate in the Hackathon after prior verification by the Organizer and submission of a signed consent from a legal guardian to participate in the event, which will be sent after the initial acceptance of the participant.",
82+
"faqQuestion10": "How many people can be in a team?",
83+
"faqAnswer10": "3-5",
84+
"faqQuestion11": "Can I be in more than one team?",
85+
"faqAnswer11": "No",
86+
"faqQuestion12": "What should I bring with me?",
87+
"faqAnswer12": "Equipment necessary for project implementation, such as a computer, tablet, and other necessary tools and software. On site, a workplace equipped with a table, chair, power supply, and internet access, as well as food and drinks, will be waiting for you.",
88+
"faqQuestion13": "I don't speak English, can I participate?",
89+
"faqAnswer13": "Yes.",
90+
"faqQuestion14": "Do you provide access to the internet and power?",
91+
"faqAnswer14": "The Organizer provides access to Wi-Fi network and a limited number of electrical outlets.",
92+
"faqQuestion15": "Do you provide food?",
93+
"faqAnswer15": "Yes"
6294
}

public/locales/pl/translations.json

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"when": "Kiedy?",
2424
"where": "Gdzie?",
2525
"team": "Zespół?",
26-
"exactHackathonDate": "Marzec 2026",
26+
"exactHackathonDate": "14-15 marca 2026",
27+
"pw": "Politechnika Warszawska",
2728
"inWarsaw": "W Warszawie",
2829
"csFaculty": "Wydział Informatyki",
2930
"agh": "AGH",
@@ -57,5 +58,37 @@
5758
"mediaPartners": "Partnerzy medialni",
5859
"socialPartners": "Partnerzy społecznościowi",
5960

60-
"noRegulationsModalText": "Regulamin edycji 2026 już wkrótce"
61+
"noRegulationsModalText": "Regulamin edycji 2026 już wkrótce",
62+
63+
"faq": "FAQ",
64+
"faqQuestion1": "Gdzie odbywa się hackathon?",
65+
"faqAnswer1": "Hackathon odbywa się w Gmachu Rektorska 4 Politechniki Warszawskiej na ul. Rektorska 4 w Warszawie.",
66+
"faqQuestion2": "Kiedy zaczyna się wydarzenie?",
67+
"faqAnswer2": "Rejestracja uczestników zaczyna się o godzinie 8:30 w dniu 14.03.2026 r.",
68+
"faqQuestion3": "Czy udział w wydarzeniu jest płatny?",
69+
"faqAnswer3": "Nie, udział w wydarzeniu jest darmowy.",
70+
"faqQuestion4": "Jak efektywnie przygotować się do rozwiązania zadania?",
71+
"faqAnswer4": "Mocno zachęcamy do wzięcia udziału w warsztatach prowadzonych przez naszych sponsorów, które będą odbywały się w tygodniu poprzedzającym hackathon. Szczegóły dotyczące warsztatów będą udostępnione na stronie internetowej EnsembleAI i na naszych mediach społecznościowych.",
72+
"faqQuestion5": "Czy muszę pojawić się na warsztatach stacjonarnie?",
73+
"faqAnswer5": "Nie musicie, po warsztatach będzie udostępnione nagranie oraz materiały. Wszystko możecie przerobić sobie później w wolnej chwili.",
74+
"faqQuestion6": "Co jeśli nigdy nie brałem/am udziału w hackathonie?",
75+
"faqAnswer6": "Nic nie szkodzi, liczy się dobra zabawa.",
76+
"faqQuestion7": "Kto może wziąć udział w wydarzeniu?",
77+
"faqAnswer7": "Każdy chętny może wysłać nam aplikację.",
78+
"faqQuestion8": "Czy w wydarzeniu mogą brać udział tylko uczniowie i studenci?",
79+
"faqAnswer8": "Nie, jeżeli skończyłeś/aś już studia, jeszcze nie zacząłeś/aś, albo w ogóle nie planujesz, możesz to napisać w formularzu zamiast podawania uczelni.",
80+
"faqQuestion9": "Czy muszę mieć 18 lat aby wziąć udział w wydarzeniu?",
81+
"faqAnswer9": "Osoba niepełnoletnia może być Uczestnikiem wyłącznie po uzyskaniu zgody prawnego opiekuna i Organizatora wydarzenia. Osoby poniżej 18 roku życia mogą zostać dopuszczone do udziału w Hackathonie po wcześniejszej weryfikacji przez Organizatora i przesłaniu podpisanej zgody prawnego opiekuna na udział w wydarzeniu, które będzie wysłana po wstępnej akceptacji uczestnika.",
82+
"faqQuestion10": "Ile osób może być w zespole?",
83+
"faqAnswer10": "3-5",
84+
"faqQuestion11": "Czy mogę być w więcej niż jednym zespole?",
85+
"faqAnswer11": "Nie",
86+
"faqQuestion12": "Co mam ze sobą zabrać?",
87+
"faqAnswer12": "Sprzęt niezbędny do realizacji projektu np. komputer, tablet oraz inne niezbędne narzędzia i oprogramowanie. Na miejscu czekać na Ciebie będzie miejsce do pracy wyposażone w stolik, krzesło, zasilanie i dostęp do internetu oraz wyżywienie i napoje.",
88+
"faqQuestion13": "Nie mówię po angielsku, czy mogę wziąć udział?",
89+
"faqAnswer13": "Tak.",
90+
"faqQuestion14": "Czy zapewniacie dostęp do internetu i prądu?",
91+
"faqAnswer14": "Organizator zapewnia dostęp do sieci Wi-Fi oraz skończonej ilości gniazdek elektrycznych.",
92+
"faqQuestion15": "Czy zapewniacie wyżywienie?",
93+
"faqAnswer15": "Tak"
6194
}

src/components/2026/MainContent.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import SectionMain from "./sections/SectionMain";
22
import SectionAbout from "./sections/SectionAbout";
33
import SectionAdmins from "./sections/SectionAdmins";
44
import SectionTimeline from "./sections/SectionTimeline";
5+
import SectionFaq from "./sections/SectionFaq";
56
import SectionPartners from "./sections/SectionPartners";
67
import SectionWrapper from "../SectionWrapper";
78

@@ -18,6 +19,9 @@ const MainContent2026 = () => {
1819
<SectionTimeline />
1920
</SectionWrapper>
2021
<SectionWrapper direction="fade-right">
22+
<SectionFaq />
23+
</SectionWrapper>
24+
<SectionWrapper direction="fade-left">
2125
<SectionPartners />
2226
</SectionWrapper>
2327
<SectionWrapper direction="fade-up">
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import { useTranslation } from "react-i18next";
2+
import { useState } from "react";
3+
import "../../../styles/faq.css";
4+
5+
// eslint-disable-next-line react/prop-types
6+
const AccordionItem = ({ question, answer, isOpen, onClick }) => {
7+
return (
8+
<div className="faq-item">
9+
<button className={`faq-question ${isOpen ? "active" : ""}`} onClick={onClick}>
10+
<span>{question}</span>
11+
<span className="faq-icon">{isOpen ? "−" : "+"}</span>
12+
</button>
13+
<div className={`faq-answer ${isOpen ? "open" : ""}`}>
14+
<p>{answer}</p>
15+
</div>
16+
</div>
17+
);
18+
};
19+
20+
const SectionFaq = () => {
21+
const { t } = useTranslation();
22+
const [openIndex, setOpenIndex] = useState(null);
23+
24+
const faqData = [
25+
{ question: t("faqQuestion1"), answer: t("faqAnswer1") },
26+
{ question: t("faqQuestion2"), answer: t("faqAnswer2") },
27+
{ question: t("faqQuestion3"), answer: t("faqAnswer3") },
28+
{ question: t("faqQuestion4"), answer: t("faqAnswer4") },
29+
{ question: t("faqQuestion5"), answer: t("faqAnswer5") },
30+
{ question: t("faqQuestion6"), answer: t("faqAnswer6") },
31+
{ question: t("faqQuestion7"), answer: t("faqAnswer7") },
32+
{ question: t("faqQuestion8"), answer: t("faqAnswer8") },
33+
{ question: t("faqQuestion9"), answer: t("faqAnswer9") },
34+
{ question: t("faqQuestion10"), answer: t("faqAnswer10") },
35+
{ question: t("faqQuestion11"), answer: t("faqAnswer11") },
36+
{ question: t("faqQuestion12"), answer: t("faqAnswer12") },
37+
{ question: t("faqQuestion13"), answer: t("faqAnswer13") },
38+
{ question: t("faqQuestion14"), answer: t("faqAnswer14") },
39+
{ question: t("faqQuestion15"), answer: t("faqAnswer15") },
40+
];
41+
42+
const handleToggle = (index) => {
43+
setOpenIndex(openIndex === index ? null : index);
44+
};
45+
46+
return (
47+
<div id="faq" className="logo_section">
48+
<h3>
49+
{t("faq")} <strong>_</strong>
50+
</h3>
51+
<div className="faq-container">
52+
{faqData.map((item, index) => (
53+
<AccordionItem
54+
key={index}
55+
question={item.question}
56+
answer={item.answer}
57+
isOpen={openIndex === index}
58+
onClick={() => handleToggle(index)}
59+
/>
60+
))}
61+
</div>
62+
</div>
63+
);
64+
};
65+
66+
export default SectionFaq;

src/components/2026/sections/SectionPartners.jsx

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,6 @@ const SectionSocialPatrons = () => {
208208
</a>
209209
</div>
210210
<div className="logo_mini">
211-
<div className="short_img"></div>
212211
<a
213212
className="long_img"
214213
target="_blank"
@@ -233,6 +232,56 @@ const SectionSocialPatrons = () => {
233232
/>
234233
</a>
235234
<div className="short_img"></div>
235+
<a
236+
className="medium_img"
237+
target="_blank"
238+
href="https://www.facebook.com/SKNDataScienceSGH/"
239+
>
240+
<img
241+
className="rounded_corners"
242+
src="images/logos_medialni/skn_data_science.jpg"
243+
alt=""
244+
/>
245+
</a>
246+
<div className="short_img"></div>
247+
<a
248+
className="long_img"
249+
target="_blank"
250+
href="https://www.facebook.com/wrseitipw/"
251+
>
252+
<img
253+
className="rounded_corners"
254+
src="images/logos_medialni/WRS_EiTI.png"
255+
alt=""
256+
/>
257+
</a>
258+
</div>
259+
<div className="logo_mini">
260+
<div className="short_img"></div>
261+
<a
262+
className="long_img"
263+
target="_blank"
264+
href="https://www.facebook.com/rknpw/"
265+
>
266+
<img
267+
className="rounded_corners"
268+
src="images/logos_medialni/PW_RKN_biale.svg"
269+
alt=""
270+
/>
271+
</a>
272+
<div className="short_img"></div>
273+
<a
274+
className="medium_img"
275+
target="_blank"
276+
href="https://www.facebook.com/knm.uam/"
277+
>
278+
<img
279+
className="rounded_corners"
280+
src="images/logos_medialni/knm_uam.jpg"
281+
alt=""
282+
/>
283+
</a>
284+
<div className="short_img"></div>
236285
</div>
237286
</div>
238287
);

src/components/Navbar.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ const NavBar = () => {
4040
const currentEditionNavLinks = [
4141
{ id: 1, link: "#about", text: t("aboutProject") },
4242
{ id: 2, link: "#timeline", text: t("timeline") },
43-
{ id: 3, link: "#partners", text: t("partners") },
44-
{ id: 4, link: "#admins", text: t("admins") },
43+
{ id: 3, link: "#faq", text: t("faq") },
44+
{ id: 4, link: "#partners", text: t("partners") },
45+
{ id: 5, link: "#admins", text: t("admins") },
4546
];
4647

4748
const previousEditionNavLinks = [

src/locales/en/translations.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,37 @@
5858
"mediaPartners": "Media Partners",
5959
"socialPartners": "Social Partners",
6060

61-
"noRegulationsModalText": "The 2026 edition rules coming soon"
61+
"noRegulationsModalText": "The 2026 edition rules coming soon",
62+
63+
"faq": "FAQ",
64+
"faqQuestion1": "Where does the hackathon take place?",
65+
"faqAnswer1": "The hackathon takes place at Rektorska 4 Building of the Warsaw University of Technology, at 4 Rektorska Street in Warsaw.",
66+
"faqQuestion2": "When does the event start?",
67+
"faqAnswer2": "Participant registration starts at 8:30 AM on March 14, 2026.",
68+
"faqQuestion3": "Is participation in the event paid?",
69+
"faqAnswer3": "No, participation in the event is free.",
70+
"faqQuestion4": "How to effectively prepare for solving the task?",
71+
"faqAnswer4": "We strongly encourage you to participate in workshops conducted by our sponsors, which will take place in the week preceding the hackathon. Details about the workshops will be published on the EnsembleAI website and on our social media.",
72+
"faqQuestion5": "Do I have to attend the workshops in person?",
73+
"faqAnswer5": "No, you don't have to. After the workshops, recordings and materials will be made available. You can go through everything later at your convenience.",
74+
"faqQuestion6": "What if I've never participated in a hackathon before?",
75+
"faqAnswer6": "It doesn't matter, what counts is having fun.",
76+
"faqQuestion7": "Who can participate in the event?",
77+
"faqAnswer7": "Anyone interested can send us an application.",
78+
"faqQuestion8": "Can only students participate in the event?",
79+
"faqAnswer8": "No, if you have already graduated, haven't started studying yet, or don't plan to study at all, you can write that in the form instead of providing a university name.",
80+
"faqQuestion9": "Do I have to be 18 years old to participate in the event?",
81+
"faqAnswer9": "A minor can be a Participant only after obtaining the consent of a legal guardian and the Event Organizer. Persons under 18 years of age may be allowed to participate in the Hackathon after prior verification by the Organizer and submission of a signed consent from a legal guardian to participate in the event, which will be sent after the initial acceptance of the participant.",
82+
"faqQuestion10": "How many people can be in a team?",
83+
"faqAnswer10": "3-5",
84+
"faqQuestion11": "Can I be in more than one team?",
85+
"faqAnswer11": "No",
86+
"faqQuestion12": "What should I bring with me?",
87+
"faqAnswer12": "Equipment necessary for project implementation, such as a computer, tablet, and other necessary tools and software. On site, a workplace equipped with a table, chair, power supply, and internet access, as well as food and drinks, will be waiting for you.",
88+
"faqQuestion13": "I don't speak English, can I participate?",
89+
"faqAnswer13": "Yes.",
90+
"faqQuestion14": "Do you provide access to the internet and power?",
91+
"faqAnswer14": "The Organizer provides access to Wi-Fi network and a limited number of electrical outlets.",
92+
"faqQuestion15": "Do you provide food?",
93+
"faqAnswer15": "Yes"
6294
}

0 commit comments

Comments
 (0)