Skip to content

Commit

Permalink
merge: main
Browse files Browse the repository at this point in the history
  • Loading branch information
ruilopesm committed Feb 5, 2024
2 parents 29efcff + bb0fcdb commit 503bae7
Show file tree
Hide file tree
Showing 33 changed files with 1,863 additions and 76 deletions.
18 changes: 18 additions & 0 deletions components/Checkbox/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
export default function Checkbox({ onChange, selected, children }) {
return (
<div>
<label className="rounded-sm bg-quinary">
<input className="hidden" type="checkbox" onChange={onChange}></input>
<span
className={`text-sm text-white ${
selected ? "bg-quinary" : "bg-white"
} select-none border-2 border-quinary px-1 font-ibold`}
>
{" "}
&#10003;
</span>
</label>
<label className="text-md ml-2 select-none text-white">{children}</label>
</div>
);
}
2 changes: 0 additions & 2 deletions components/Footer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,9 @@ export default function Footer(props: IFooterProps) {
>
Report a Problem
</Link>
{/*
<Link href="/docs/survival.pdf" className="hover:underline">
Survival Guide
</Link>
*/}
<Link href="/docs/regulation.pdf" className="hover:underline">
General Regulation
</Link>
Expand Down
9 changes: 9 additions & 0 deletions components/Social/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
faInstagram,
faGithub,
faLinkedinIn,
faDiscord,
} from "@fortawesome/free-brands-svg-icons";
import { faXTwitter } from "@fortawesome/free-brands-svg-icons";
import { faEnvelope } from "@fortawesome/free-solid-svg-icons";
Expand Down Expand Up @@ -51,6 +52,14 @@ export default function Social() {
>
<FontAwesomeIcon icon={faFacebook} />
</a>
<a
className="w-5 transition-colors duration-75 ease-in hover:text-quinary"
href="https://discord.gg/stUtCjsnHx"
target="_blank"
rel="noreferrer"
>
<FontAwesomeIcon icon={faDiscord} />
</a>
<a
className="w-5 transition-colors duration-75 ease-in hover:text-quinary"
href="mailto:[email protected]"
Expand Down
1 change: 1 addition & 0 deletions context/Auth/withAuth.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export function withAuth(WrappedComponent) {
if (
![
"/attendee/profile",
"/attendee/slots",
"/attendee/wheel",
"/attendee/badgedex",
"/attendee/leaderboard",
Expand Down
87 changes: 71 additions & 16 deletions data/challenges.json
Original file line number Diff line number Diff line change
@@ -1,40 +1,95 @@
{
"0": {
"name": "CV Challenge",
"description": "Our sponsors want your CV. You want them to have it.",
"name": "Final Badge Challenge",
"description": "You participate in talks and workshops, you talk with every company you can and participate in every tournament. Now you are left with a bunch of badges, what do you do?! Every badge comes with a set of entries to the Final Badge Draw! On the last day of SEI, we will select three winning entries and their owners will be the lucky recipients of an amazing selection of prizes! The more badges you have, the more likely you are to win!",
"prizes": [
{
"name": "Amazon Kindle"
"name": "Playstation 5"
},
{
"name": "Trotinete Elétrica Xiaomi Electric Scooter 4 Go"
},
{
"name": "Headphones Sony XM4"
}
]
},
"1": {
"name": "CTF Challenge",
"description": "Cybersecurity has never been more exciting! Put your skills to the test with our Capture the Flag game. Once a day, scavenge all the flags to win an exclusive badge - a medal of honour for all those who plow through this challenge until victory!",
"name": "Daily Badge Challenges - day one",
"description": "This one is easy. The winners are the three people with the most badges won on the first day! If there is a tie, the participant with the most tokens wins! If there’s still a tie after that, we’ll toss a coin! The badges you win before SEI starts will be counted on this day.",
"prizes": [
{
"name": "Exclusive Badge"
"name": "Monitor LG 26WQ500-B LCD 4K UHD 5ms 75Hz 25.7\""
},
{
"name": "Microfone Logitech Yeti"
},
{
"name": "Teclado Ducky One 3 Daybreak Mini"
}
]
},
"2": {
"name": "Final Badge Challenge",
"description": "You participate in talks and workshops, you talk with every company you can and participate in every tournament. Now you are left with a bunch of badges, what do you do?! Every badge comes with a set of entries to the Final Badge Draw! On the last day of SEI, we will select three winning entries and their owners will be the lucky recipients of an amazing selection of prizes! The more badges you have, the more likely you are to win!"
"name": "Daily Badge Challenges - day two",
"description": "The same rules as day one apply. However only the badges you win on the second day count towards this prize.",
"prizes": [
{
"name": "Cadeira de escritório Sky"
},
{
"name": "Soundbar LG SQC 2.1 Canais 300W"
},
{
"name": "Docking Station Conceptronic"
}
]
},
"3": {
"name": "Daily Badge Challenges - day one",
"description": "This one is easy. The winners are the three people with the most badges won on the first day! If there is a tie, the participant with the most tokens wins! If there’s still a tie after that, we’ll toss a coin! The badges you win before SEI starts will be counted on this day."
"name": "Daily Badge Challenges - day three",
"description": "The same rules as day one (again). However only the badges you win on the third day count towards this prize.",
"prizes": [
{
"name": "Secretária ajustável em altura pro.tec Stryn"
},
{
"name": "Raspberry Pi 4 Model B 8GB RAM"
},
{
"name": "Câmara Polaroid GO"
}
]
},
"4": {
"name": "Daily Badge Challenges - day two",
"description": "The same rules as day one apply. However only the badges you win on the second day count towards this prize."
"name": "Daily Badge Challenges - day four",
"description": "This is getting a little repetitive… The same rules as day one (again). The difference is that only the badges you win on the fourth day count towards this prize.",
"prizes": [
{
"name": "Nintendo Switch OLED"
},
{
"name": "Rato Logitech MX Master 3 Wireless Pro 4000 DPI"
},
{
"name": "Máquina de café Nespresso Vertuo Next"
}
]
},
"5": {
"name": "Daily Badge Challenges - day three",
"description": "The same rules as day one (again). However only the badges you win on the third day count towards this prize."
"name": "CV Challenge",
"description": "Our sponsors want your CV. You want them to have it.",
"prizes": [
{
"name": "Amazon Kindle"
}
]
},
"6": {
"name": "Daily Badge Challenges - day four",
"description": "This is getting a little repetitive… The same rules as day one (again). The difference is that only the badges you win on the fourth day count towards this prize."
"name": "CTF Challenge",
"description": "Cybersecurity has never been more exciting! Put your skills to the test with our Capture the Flag game. Once a day, scavenge all the flags to win an exclusive badge - a medal of honour for all those who plow through this challenge until victory!",
"prizes": [
{
"name": "Exclusive Badge"
}
]
}
}
10 changes: 5 additions & 5 deletions data/schedule.json
Original file line number Diff line number Diff line change
Expand Up @@ -323,11 +323,11 @@
{
"startTime": "14:00",
"endTime": "15:00",
"activityType": "TBA",
"summary": "",
"description": "",
"author": "",
"location": ""
"activityType": "Talk",
"summary": "Decoding AI Language Models: From Turing’s Dream to Today’s Reality",
"description": "Large Language Models, despite their recent and well-deserved spotlight, boast a truly fascinating history. As we embark on this journey, let's delve into their inner workings, explore pivotal moments, and cap it off with an exciting discussion on Retrieval Augmented Generation – a cutting-edge approach to unleash the full potential of these linguistic powerhouses.",
"author": "Bruno Carvalho",
"location": "CP2 - B1"
},
{
"startTime": "15:00",
Expand Down
39 changes: 39 additions & 0 deletions data/slots.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"symbols": 9,
"multipliers": {
"100": [[0, 0, 0]],
"10": [[3, 3, 3]],
"5": [
[5, 5, 5],
[5, 7, 7],
[7, 5, 7],
[7, 7, 5],
[5, 5, 7],
[5, 7, 5],
[7, 5, 5],
[7, 7, 7]
],
"3": [
[6, 0, 6],
[6, 1, 6],
[6, 2, 6],
[6, 3, 6],
[6, 4, 6],
[6, 5, 6],
[6, 6, 6],
[6, 7, 6],
[6, 8, 6]
],
"2": [[2, 2, 2]],
"1": [
[1, 1, 1],
[4, 1, 1],
[1, 4, 1],
[1, 1, 4],
[4, 4, 1],
[4, 1, 4],
[1, 4, 4],
[4, 4, 4]
]
}
}
27 changes: 20 additions & 7 deletions data/speakers.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
"name": "José Carlos Alves",
"role": "IT Infrastructure Area Manager",
"company": "MC Sonae",
"talk": "Workshop | Platform Engineering Roadmap 9h",
"talk": "Workshop | Platform Engineering Roadmap. 9h",
"linkedin": "josé-carlos-alves-5424a94",
"github": "",
"twitter": "",
Expand All @@ -108,7 +108,7 @@
"name": "Tiago Ferreira",
"role": "Architecture & Infrastructure Tech Lead",
"company": "MC Sonae",
"talk": "Workshop | Platform Engineering Roadmap 9h",
"talk": "Workshop | Platform Engineering Roadmap. 9h",
"linkedin": "tiago-ferreira-399340a",
"github": "",
"twitter": "",
Expand Down Expand Up @@ -156,7 +156,7 @@
"name": "Cristiano Silva Sousa",
"role": "Manager",
"company": "Deloitte",
"talk": "Workshop | Code Rumble: #Analytics #FinancialRisk #InterestRateRisk",
"talk": "Workshop | Code Rumble: #Analytics #FinancialRisk #InterestRateRisk. 9h",
"linkedin": "cristianosilvasousa",
"github": "",
"twitter": "",
Expand Down Expand Up @@ -192,6 +192,7 @@
"name": "Ricardo Mota",
"role": "Communications Manager",
"company": "PUBG",
"talk": "Os videojogos como opção de carreira. 15h",
"linkedin": "ricardo-mota-0b82123",
"github": "",
"twitter": "",
Expand Down Expand Up @@ -328,7 +329,7 @@
"name": "João Folha",
"role": "Data Scientist",
"company": "Uphold",
"talk": "Decoding the Future: Exploring Bitcoin, Blockchain, and DeFi Innovations",
"talk": "Decoding the Future: Exploring Bitcoin, Blockchain, and DeFi Innovations. 11:30h",
"linkedin": "joão-folha",
"github": "",
"twitter": "",
Expand Down Expand Up @@ -393,7 +394,7 @@
"name": "Rita Faria",
"role": "Chief Technical Titan",
"company": "Critical TechWorks",
"talk": "Desenvolvimento de Software e Engenharia de Dados no grupo BMW - Integração e Criação de valor",
"talk": "Desenvolvimento de Software e Engenharia de Dados no grupo BMW - Integração e Criação de valor. 11:30h",
"linkedin": "rivfaria",
"github": "",
"twitter": "",
Expand All @@ -405,19 +406,31 @@
"name": "José Antunes",
"role": "Data Engineer",
"company": "Critical TechWorks",
"talk": "Desenvolvimento de Software e Engenharia de Dados no grupo BMW - Integração e Criação de valor",
"talk": "Desenvolvimento de Software e Engenharia de Dados no grupo BMW - Integração e Criação de valor. 11:30h",
"linkedin": "josemantunes",
"github": "",
"twitter": "",
"href": "",
"description": "Licenciado em Engenharia e Gestão de Sistemas de Informação pela Universidade do Minho com 15 anos de experiência diversificada em IT. Atualmente faz parte da equipa de engenharia da Critical Techworks, empresa responsável pelo desenvolvimento de software de excelência para uma das maiores empresas da área automóvel."
},
{
"id": "brunocarvalho",
"name": "Bruno Carvalho",
"role": "Software Engineer",
"company": "AgentifAI",
"talk": "Decoding AI Language Models: From Turing’s Dream to Today’s Reality. 14h",
"linkedin": "brunocarvalho17",
"github": "",
"twitter": "",
"href": "",
"description": ""
},
{
"id": "vaniagoncalves",
"name": "Vânia Gonçalves",
"role": "Research Program Manager",
"company": "Cloudflare",
"talk": "Securing the Internet in the Quantum Age",
"talk": "Securing the Internet in the Quantum Age. 15h",
"linkedin": "vaniagoncalves",
"github": "",
"twitter": "",
Expand Down
19 changes: 13 additions & 6 deletions layout/Attendee/Profile/Profile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,18 @@ function Profile() {
} else if (companyBadges < 20) {
level = 3;
neededBadges = 20 - companyBadges;
} else if (companyBadges < 24) {
} else if (companyBadges < 25) {
level = 4;
neededBadges = 24 - companyBadges;
} else {
neededBadges = 25 - companyBadges;
} else if (companyBadges < 29) {
level = 5;
neededBadges = 29 - companyBadges;
} else {
level = 6;
neededBadges = 0;
}

const levelEntries = [10, 30, 60, 100, 150];
const levelEntries = [10, 30, 60, 100, 120, 150];

const handleSubmitForm = (e: React.FormEvent) => {
e.preventDefault();
Expand Down Expand Up @@ -236,11 +239,15 @@ function Profile() {
{levelEntries[3]} entries
</p>
<p className="font-iregular">
<b className="font-ibold">Level 5</b> 24 companies &rarr; +
<b className="font-ibold">Level 5</b> 25 companies &rarr; +
{levelEntries[4]} entries
</p>
<p className="font-iregular">
<b className="font-ibold">Level 6</b> 29 companies &rarr; +
{levelEntries[5]} entries
</p>

<CheckpointTracker checkpoints={4} progress={level} />
<CheckpointTracker checkpoints={5} progress={level} />

{level != 5 && (
<p className="font-iregular text-white">
Expand Down
Loading

0 comments on commit 503bae7

Please sign in to comment.