Merge remote-tracking branch 'origin/main' into development
# Conflicts: # src/data/timetable.ts
BIN
public/messiala/buckshot_tournament.png
Normal file
|
After Width: | Height: | Size: 235 KiB |
BIN
public/messiala/dwarf_escape.png
Normal file
|
After Width: | Height: | Size: 860 KiB |
BIN
public/messiala/fc26.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
public/messiala/gran_turismo.jpg
Normal file
|
After Width: | Height: | Size: 842 KiB |
BIN
public/messiala/grandblue_fantasy.jpg
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
public/messiala/street_fighter.jpg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/messiala/super_smash_bros.jpg
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
public/messiala/tekken8.jpg
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
public/messiala/wrc.jpg
Normal file
|
After Width: | Height: | Size: 470 KiB |
BIN
public/sponsors/estonian_gamedev_guild.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
@@ -230,10 +230,10 @@ export default async function Home({
|
|||||||
className="object-contain"
|
className="object-contain"
|
||||||
/>
|
/>
|
||||||
</NextLink>
|
</NextLink>
|
||||||
<NextLink href="https://www.arvutimuuseum.ee" target="_blank">
|
<NextLink href="https://www.linkedin.com/company/gamedev-guild/" target="_blank">
|
||||||
<Image
|
<Image
|
||||||
src="/sponsors/arvutimuuseum.svg"
|
src="/sponsors/estonian_gamedev_guild.png"
|
||||||
alt="Arvutimuuseum"
|
alt=""
|
||||||
width={200}
|
width={200}
|
||||||
height={200}
|
height={200}
|
||||||
className="object-contain not-dark:invert"
|
className="object-contain not-dark:invert"
|
||||||
|
|||||||
@@ -13,6 +13,71 @@ export default async function Tourney({
|
|||||||
const t = await getTranslations({ locale });
|
const t = await getTranslations({ locale });
|
||||||
const headingStyle = `text-3xl md:text-5xl lg:text-5xl ${vipnagorgialla.className} font-bold uppercase text-[#2A2C3F] dark:text-[#EEE5E5] -skew-x-2 md:-skew-x-5`;
|
const headingStyle = `text-3xl md:text-5xl lg:text-5xl ${vipnagorgialla.className} font-bold uppercase text-[#2A2C3F] dark:text-[#EEE5E5] -skew-x-2 md:-skew-x-5`;
|
||||||
|
|
||||||
|
const miniTournaments: {
|
||||||
|
name: string;
|
||||||
|
prize: string;
|
||||||
|
image: string;
|
||||||
|
objectPosition?: string;
|
||||||
|
bgClass?: string;
|
||||||
|
}[] = [
|
||||||
|
{
|
||||||
|
name: "Tekken 8",
|
||||||
|
prize: "350€",
|
||||||
|
image: "/messiala/tekken8.jpg",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "WRC",
|
||||||
|
prize: "350€",
|
||||||
|
image: "/messiala/wrc.jpg",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Street Fighter 6",
|
||||||
|
prize: "200€",
|
||||||
|
image: "/messiala/street_fighter.jpg",
|
||||||
|
objectPosition: "object-right",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Gran Turismo",
|
||||||
|
prize: "200€",
|
||||||
|
image: "/messiala/gran_turismo.jpg",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "FC 26",
|
||||||
|
prize: "100€",
|
||||||
|
image: "/messiala/fc26.jpg",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Dwarf Escape",
|
||||||
|
prize: "50€",
|
||||||
|
image: "/messiala/dwarf_escape.png",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
bgClass: "bg-black",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Buckshot Roulette",
|
||||||
|
prize: "Merch",
|
||||||
|
image: "/messiala/buckshot_tournament.png",
|
||||||
|
objectPosition: "object-center",
|
||||||
|
bgClass: "bg-black",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Granblue Fantasy: Versus Rising",
|
||||||
|
prize: "50€",
|
||||||
|
image: "/messiala/grandblue_fantasy.jpg",
|
||||||
|
objectPosition: "object-top",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Super Smash Bros. Ultimate",
|
||||||
|
prize: "50€",
|
||||||
|
image: "/messiala/super_smash_bros.jpg",
|
||||||
|
objectPosition: "object-top",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col min-h-[90vh] mt-16">
|
<div className="flex flex-col min-h-[90vh] mt-16">
|
||||||
<h1
|
<h1
|
||||||
@@ -135,8 +200,8 @@ export default async function Tourney({
|
|||||||
|
|
||||||
{/* Mini-turniirid */}
|
{/* Mini-turniirid */}
|
||||||
<div className="hover:bg-[#007CAB] py-8 md:py-16 border-t-[3px] border-b-[3px] border-[#1F5673] transition group">
|
<div className="hover:bg-[#007CAB] py-8 md:py-16 border-t-[3px] border-b-[3px] border-[#1F5673] transition group">
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-16 items-center mx-8 md:mx-16 lg:mx-32 xl:mx-48">
|
<div className="mx-8 md:mx-16 lg:mx-32 xl:mx-48">
|
||||||
<div className="-skew-x-2 md:-skew-x-5">
|
<div className="-skew-x-2 md:-skew-x-5 mb-8">
|
||||||
<h2 className={`${headingStyle}`}>
|
<h2 className={`${headingStyle}`}>
|
||||||
{t("tournaments.mini.title")}
|
{t("tournaments.mini.title")}
|
||||||
</h2>
|
</h2>
|
||||||
@@ -151,10 +216,6 @@ export default async function Tourney({
|
|||||||
{t("tournaments.mini.description1")}
|
{t("tournaments.mini.description1")}
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<p className="text-balance">
|
|
||||||
{t("tournaments.mini.description2")}
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<div className="flex flex-row flex-wrap gap-4 md:gap-8">
|
<div className="flex flex-row flex-wrap gap-4 md:gap-8">
|
||||||
<Link href="/kodukord" target="_blank">
|
<Link href="/kodukord" target="_blank">
|
||||||
<button
|
<button
|
||||||
@@ -172,20 +233,29 @@ export default async function Tourney({
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="hidden md:block">
|
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8">
|
||||||
<div>
|
{miniTournaments.map((tournament) => (
|
||||||
{/* Outside div needs to remain so that overflow won't occur*/}
|
<div key={tournament.name} className="text-center">
|
||||||
<Image
|
<div className={`border-2 border-[#007CAB] p-1 rounded-md ${tournament.bgClass || ''}`}>
|
||||||
src="/images/minitournament_logo.png"
|
<Image
|
||||||
alt="mini tournaments"
|
src={tournament.image}
|
||||||
width={600}
|
alt={tournament.name}
|
||||||
height={400}
|
width={400}
|
||||||
/>
|
height={300}
|
||||||
</div>
|
className={`object-cover w-full h-48 ${
|
||||||
|
tournament.objectPosition || "object-center"
|
||||||
|
}`}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="-skew-x-2 md:-skew-x-5">
|
||||||
|
<p className="mt-2 font-semibold">{tournament.name} - {tournament.prize}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -13,12 +13,12 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
|
|||||||
time: "17:00",
|
time: "17:00",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
titleKey: "schedule.events.miniTournamentsKickoff",
|
titleKey: "schedule.events.preTournamentWarmup",
|
||||||
locationKey: "schedule.locations.studentHouse",
|
locationKey: "schedule.locations.auditoriumAndStudentHouse",
|
||||||
time: "18:00",
|
time: "18:00",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
titleKey: "schedule.events.fightingGamesStart",
|
titleKey: "schedule.events.killerInstinct",
|
||||||
locationKey: "schedule.locations.studentHouse",
|
locationKey: "schedule.locations.studentHouse",
|
||||||
time: "18:30",
|
time: "18:30",
|
||||||
},
|
},
|
||||||
@@ -40,22 +40,27 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
|
|||||||
time: "10:00",
|
time: "10:00",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
titleKey: "schedule.events.miniTournamentsStart",
|
titleKey: "schedule.events.warmup",
|
||||||
locationKey: "schedule.locations.studentHouse",
|
locationKey: "schedule.locations.auditoriumAndStudentHouse",
|
||||||
time: "11:00",
|
time: "10:30",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
titleKey: "schedule.events.granblue",
|
titleKey: "schedule.events.mainTournamentsContinue",
|
||||||
locationKey: "schedule.locations.studentHouse",
|
|
||||||
time: "11:30",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
titleKey: "schedule.events.mainTournamentsStart",
|
|
||||||
locationKey: "schedule.locations.auditorium",
|
locationKey: "schedule.locations.auditorium",
|
||||||
time: "12:00",
|
time: "12:00",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
titleKey: "schedule.events.granTurismo",
|
titleKey: "schedule.events.miniTournamentsStart",
|
||||||
|
locationKey: "schedule.locations.studentHouse",
|
||||||
|
time: "13:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.granblue",
|
||||||
|
locationKey: "schedule.locations.studentHouse",
|
||||||
|
time: "13:30",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.granTurismoFinal",
|
||||||
locationKey: "schedule.locations.studentHouse",
|
locationKey: "schedule.locations.studentHouse",
|
||||||
time: "20:00",
|
time: "20:00",
|
||||||
},
|
},
|
||||||
@@ -65,4 +70,26 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
|
|||||||
time: "*01:00",
|
time: "*01:00",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
oct26: [
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.expoClosed",
|
||||||
|
locationKey: "schedule.locations.studentHouse",
|
||||||
|
time: "all day",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.cs2FinalStart",
|
||||||
|
locationKey: "schedule.locations.auditorium",
|
||||||
|
time: "10:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.cs2Final",
|
||||||
|
locationKey: "schedule.locations.auditorium",
|
||||||
|
time: "18:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titleKey: "schedule.events.awardCeremony",
|
||||||
|
locationKey: "schedule.locations.auditorium",
|
||||||
|
time: "18:30",
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -119,10 +119,10 @@
|
|||||||
"buyTicket": "BUY TICKETS"
|
"buyTicket": "BUY TICKETS"
|
||||||
},
|
},
|
||||||
"mini": {
|
"mini": {
|
||||||
|
"titleSingular": "Mini-tournament",
|
||||||
"title": "Mini-tournaments",
|
"title": "Mini-tournaments",
|
||||||
"timing": "24th-25th October",
|
"timing": "24th-25th October",
|
||||||
"description1": "TipiLAN hosts various fun and competitive mini-tournaments. Mini-tournaments take place in the following games: SimRacing, Tekken, FIFA, Buckshot Roulette, LostGamer and many more.",
|
"description1": "TipiLAN hosts a variety of fun and competitive mini-tournaments. The prize pool for each tournament is displayed.",
|
||||||
"description2": "The total prize pool for all tournaments is €1,250 and typically the mini-tournament winner receives a cash prize.",
|
|
||||||
"readRules": "READ RULES",
|
"readRules": "READ RULES",
|
||||||
"buyTicket": "BUY TICKETS"
|
"buyTicket": "BUY TICKETS"
|
||||||
}
|
}
|
||||||
@@ -135,15 +135,22 @@
|
|||||||
"location": "Location",
|
"location": "Location",
|
||||||
"oct24": "October 24th",
|
"oct24": "October 24th",
|
||||||
"oct25": "October 25th",
|
"oct25": "October 25th",
|
||||||
|
"oct26": "October 26th",
|
||||||
"events": {
|
"events": {
|
||||||
"doorsOpen": "Doors open",
|
"doorsOpen": "Doors open",
|
||||||
"mainTournamentsStart": "Main tournaments begin",
|
"preTournamentWarmup": "Pre-tournament warmup and start of mini tournaments",
|
||||||
"miniTournamentsKickoff": "Mini-tournaments kick-off",
|
"killerInstinct": "Killer Instinct tournament",
|
||||||
"fightingGamesStart": "Fighting game tournaments start",
|
"mainTournamentsStart": "CS2 and LoL tournaments begin",
|
||||||
"doorsClose": "Doors close",
|
"doorsClose": "Doors close",
|
||||||
|
"warmup": "Warmup",
|
||||||
|
"mainTournamentsContinue": "LoL/CS2 tournaments continue",
|
||||||
"miniTournamentsStart": "Mini-tournaments begin",
|
"miniTournamentsStart": "Mini-tournaments begin",
|
||||||
"granblue": "Granblue tournament",
|
"granblue": "Granblue tournament",
|
||||||
"granTurismo": "Gran Turismo tournament"
|
"granTurismoFinal": "Gran Turismo final",
|
||||||
|
"cs2FinalStart": "CS2 final begins",
|
||||||
|
"cs2Final": "CS2 final",
|
||||||
|
"awardCeremony": "Award ceremony",
|
||||||
|
"expoClosed": "Expo area is closed"
|
||||||
},
|
},
|
||||||
"locations": {
|
"locations": {
|
||||||
"registrationSetup": "Registration and setup in auditorium",
|
"registrationSetup": "Registration and setup in auditorium",
|
||||||
|
|||||||
@@ -123,8 +123,7 @@
|
|||||||
"titleSingular": "Miniturniiride",
|
"titleSingular": "Miniturniiride",
|
||||||
"title": "Miniturniirid",
|
"title": "Miniturniirid",
|
||||||
"timing": "24.-25. oktoober",
|
"timing": "24.-25. oktoober",
|
||||||
"description1": "TipiLANil toimub mitmeid erinevaid lõbusaid ja võistlushimu tekitavaid miniturniire. Miniturniirid toimuvad järgnevates mängudes: SimRacing, Tekken, FIFA, Buckshot Roulette, LostGamer ja palju muud.",
|
"description1": "TipiLANil toimub mitmeid erinevaid lõbusaid ja võistlushimu tekitavaid miniturniire. Iga turniiri juures on välja toodud terve turniiri auhinnafond",
|
||||||
"description2": "Auhinnafond on kõigi turniiride peale 1250€ ja reeglina saab rahalise auhinna miniturniiri võitja.",
|
|
||||||
"readRules": "LOE REEGLEID",
|
"readRules": "LOE REEGLEID",
|
||||||
"buyTicket": "OSTA PILET"
|
"buyTicket": "OSTA PILET"
|
||||||
}
|
}
|
||||||
@@ -137,15 +136,22 @@
|
|||||||
"location": "Asukoht",
|
"location": "Asukoht",
|
||||||
"oct24": "24. oktoober",
|
"oct24": "24. oktoober",
|
||||||
"oct25": "25. oktoober",
|
"oct25": "25. oktoober",
|
||||||
|
"oct26": "26. oktoober",
|
||||||
"events": {
|
"events": {
|
||||||
"doorsOpen": "Uksed avatakse",
|
"doorsOpen": "Uksed avatakse",
|
||||||
"mainTournamentsStart": "Põhiturniirid algavad",
|
"preTournamentWarmup": "Eelturniiri soojendus ja miniturniiride algus",
|
||||||
"miniTournamentsKickoff": "Miniturniiride kick-off",
|
"killerInstinct": "Killer Instinct turniir",
|
||||||
"fightingGamesStart": "Fighting games turniiride algus",
|
"mainTournamentsStart": "CS2 ja LoL turniirid algavad",
|
||||||
"doorsClose": "Uksed suletakse",
|
"doorsClose": "Uksed suletakse",
|
||||||
|
"warmup": "Soojendus",
|
||||||
|
"mainTournamentsContinue": "LoL/CS2 turniirid jätkuvad",
|
||||||
"miniTournamentsStart": "Miniturniirid algavad",
|
"miniTournamentsStart": "Miniturniirid algavad",
|
||||||
"granblue": "Granblue turniir",
|
"granblue": "Granblue turniir",
|
||||||
"granTurismo": "Gran Turismo turniir"
|
"granTurismoFinal": "Gran Turismo finaal",
|
||||||
|
"cs2FinalStart": "CS2 finaali algus",
|
||||||
|
"cs2Final": "CS2 finaal",
|
||||||
|
"awardCeremony": "Auhinnatseremoonia",
|
||||||
|
"expoClosed": "Messiala on suletud"
|
||||||
},
|
},
|
||||||
"locations": {
|
"locations": {
|
||||||
"registrationSetup": "Registreerimine ja setup aulas",
|
"registrationSetup": "Registreerimine ja setup aulas",
|
||||||
|
|||||||