From 3bd9400489d08b868939fa46215eb596ce72c18f Mon Sep 17 00:00:00 2001 From: v4ltages Date: Sat, 12 Sep 2026 10:40:04 +0300 Subject: [PATCH 1/3] Fix timetable logic and data --- src/app/[locale]/ajakava/page.tsx | 26 +++- src/data/timetable.ts | 205 +++++++++++++++++++----------- translations/en.json | 20 ++- translations/et.json | 20 ++- 4 files changed, 179 insertions(+), 92 deletions(-) diff --git a/src/app/[locale]/ajakava/page.tsx b/src/app/[locale]/ajakava/page.tsx index abbe0f0..0b92b5a 100644 --- a/src/app/[locale]/ajakava/page.tsx +++ b/src/app/[locale]/ajakava/page.tsx @@ -14,11 +14,11 @@ const FILTER_MAP: Record = { auditorium: ['auditorium'], tudengimaja: ['studentHouse'], studenthouse: ['studentHouse'], - fuajee: ['lobbyAndLanArea'], - foyer: ['lobbyAndLanArea'], - lan: ['lobbyAndLanArea'], - lanarea: ['lobbyAndLanArea'], - lobby: ['lobbyAndLanArea'], + fuajee: ['lobby'], + foyer: ['lobby'], + lan: ['lanArea'], + lanarea: ['lanArea'], + lobby: ['lobby'], }; function matchesFilter(item: ScheduleItem, filter: string): boolean { @@ -154,7 +154,21 @@ export default function Timetable() { : "bg-[#1F5673] text-[#EEE5E5] hover:bg-[#00A3E0] hover:text-black" }`} > - {t("schedule.locations.lobbyAndLanArea")} + {t("schedule.locations.lobby")} + + diff --git a/src/data/timetable.ts b/src/data/timetable.ts index f1b26f2..bf72736 100644 --- a/src/data/timetable.ts +++ b/src/data/timetable.ts @@ -12,60 +12,47 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobbyAndLanArea" + "schedule.locations.lobby", + "schedule.locations.lanArea" ], time: "17:00", }, - { - titleKey: "schedule.events.gamersSetup", - locationKey: [ - "schedule.locations.auditorium", - "schedule.locations.studentHouse" - ], - time: "17:00-19:00", - }, { titleKey: "schedule.events.exploring", locationKey: [ - "schedule.locations.auditorium", - "schedule.locations.studentHouse" + "schedule.locations.studentHouse", + "schedule.locations.lanArea" ], time: "17:00-18:00", }, { titleKey: "schedule.events.gameDevShowcasing", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.lobby", time: "17:00-00:00", }, { titleKey: "schedule.events.miniTournaments", locationKey: "schedule.locations.studentHouse", - time: "18:00", + time: "18:00-20:30", }, { titleKey: "schedule.events.lanAreaTournaments", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.lanArea", time: "18:00-00:00", }, { - titleKey: "schedule.events.minigamesAndTournaments", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "18:00-00:00", + titleKey: "schedule.events.miniTournaments", + locationKey: "schedule.locations.studentHouse", + time: "22:30-00:00", }, { titleKey: "schedule.events.blueCarpet", - locationKey: [ - "schedule.locations.auditorium", - "schedule.locations.studentHouse" - ], + locationKey: "schedule.locations.auditorium", time: "19:00", }, { titleKey: "schedule.events.day1Begins", - locationKey: [ - "schedule.locations.auditorium", - "schedule.locations.studentHouse" - ], + locationKey: "schedule.locations.auditorium", time: "19:30", }, { @@ -88,6 +75,16 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "21:00-22:00", }, + { + titleKey: "schedule.events.ssbuFinal", + locationKey: "schedule.locations.studentHouse", + time: "21:00-21:30", + }, + { + titleKey: "schedule.events.streetFighter6Final", + locationKey: "schedule.locations.studentHouse", + time: "21:30-22:00", + }, { titleKey: "schedule.events.cs2SwissR3", locationKey: "schedule.locations.auditorium", @@ -98,6 +95,16 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "22:00-23:00", }, + { + titleKey: "schedule.events.invincibleVsFinal", + locationKey: "schedule.locations.studentHouse", + time: "22:00-22:30", + }, + { + titleKey: "schedule.events.quakeDeathmatch", + locationKey: "schedule.locations.studentHouse", + time: "20:30-21:00", + }, { titleKey: "schedule.events.cs2SwissR4", locationKey: "schedule.locations.auditorium", @@ -118,9 +125,10 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobbyAndLanArea" + "schedule.locations.lobby", + "schedule.locations.lanArea" ], - time: "~01:00", + time: "~02:00", }, ], sep12: [ @@ -129,20 +137,11 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobbyAndLanArea" + "schedule.locations.lobby", + "schedule.locations.lanArea" ], time: "09:00", }, - { - titleKey: "schedule.events.gamersSetup", - locationKey: "schedule.locations.auditorium", - time: "09:00-10:30", - }, - { - titleKey: "schedule.events.gamersSetup", - locationKey: "schedule.locations.studentHouse", - time: "09:00-11:30", - }, { titleKey: "schedule.events.cs2WbR1", locationKey: "schedule.locations.auditorium", @@ -165,18 +164,33 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.expoOpens", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "12:00", + locationKey: "schedule.locations.lobby", + time: "09:00", + }, + { + titleKey: "schedule.events.lanAreaOpens", + locationKey: "schedule.locations.lanArea", + time: "10:00", + }, + { + titleKey: "schedule.events.studentHouseOpens", + locationKey: "schedule.locations.studentHouse", + time: "10:00", }, { titleKey: "schedule.events.gamedevExpo", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "12:00-19:00", + locationKey: "schedule.locations.lobby", + time: "09:00-19:00", }, { titleKey: "schedule.events.miniTournaments", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "13:00-19:00", + locationKey: "schedule.locations.studentHouse", + time: "10:00-17:00", + }, + { + titleKey: "schedule.events.lanAreaTournaments", + locationKey: "schedule.locations.lanArea", + time: "10:00-22:00", }, { titleKey: "schedule.events.cs2LbR1", @@ -225,17 +239,42 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.break", + locationKey: "schedule.locations.auditorium", + time: "17:30-19:00", + }, + { + titleKey: "schedule.events.avatarLegendsFinal", + locationKey: "schedule.locations.studentHouse", + time: "19:00-19:30", + }, + { + titleKey: "schedule.events.rlFinal", + locationKey: "schedule.locations.studentHouse", + time: "17:00-18:00", + }, + { + titleKey: "schedule.events.cs16Final", + locationKey: "schedule.locations.studentHouse", + time: "17:00-18:00", + }, + { + titleKey: "schedule.events.osuFinal", + locationKey: "schedule.locations.studentHouse", + time: "17:00-18:00", + }, + { + titleKey: "schedule.events.eaFc26Final", + locationKey: "schedule.locations.studentHouse", + time: "17:00-18:00", + }, + { + titleKey: "schedule.events.evalHfdAndFinal", locationKey: "schedule.locations.studentHouse", time: "18:00-19:00", }, - { - titleKey: "schedule.events.avatarLegendsFinal", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "19:00-19:30", - }, { titleKey: "schedule.events.gamedevAwardCeremony", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.lobby", time: "19:00-20:00", }, { @@ -255,43 +294,43 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.tekken8Final", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "19:30-20:00", + locationKey: "schedule.locations.studentHouse", + time: "18:00-18:30", }, { - titleKey: "schedule.events.streetFighter6Final", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "20:00-20:30", + titleKey: "schedule.events.tokonFinal", + locationKey: "schedule.locations.studentHouse", + time: "18:30-19:00", }, { titleKey: "schedule.events.gamedevExpo", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.lobby", time: "20:00-00:00", }, { titleKey: "schedule.events.twoXkoFinal", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "20:30-21:00", + locationKey: "schedule.locations.studentHouse", + time: "19:30-20:00", + }, + { + titleKey: "schedule.events.gt7HfdAndFinal", + locationKey: "schedule.locations.studentHouse", + time: "19:00-20:00", }, { titleKey: "schedule.events.cs2ScLbR5", locationKey: "schedule.locations.auditorium", time: "20:30-21:30", }, - { - titleKey: "schedule.events.ssbuFinal", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "21:00-21:30", - }, { titleKey: "schedule.events.cs2ScTournamentFinal", locationKey: "schedule.locations.auditorium", - time: "21:30-23:30", + time: "22:30-00:30", }, { - titleKey: "schedule.events.invincibleVsFinal", - locationKey: "schedule.locations.lobbyAndLanArea", - time: "21:30-22:00", + titleKey: "schedule.events.cs2ScLbR6", + locationKey: "schedule.locations.auditorium", + time: "21:30-22:30", }, { titleKey: "schedule.events.cs2LbR3", @@ -300,9 +339,27 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.miniTournamentsAwardCeremony", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.studentHouse", time: "22:00-22:30", }, + { + titleKey: "schedule.events.lanAreaAwardCeremony", + locationKey: [ + "schedule.locations.studentHouse", + "schedule.locations.lanArea" + ], + time: "22:00-22:30", + }, + { + titleKey: "schedule.events.lanAreaFunTime", + locationKey: "schedule.locations.lanArea", + time: "22:30-00:00", + }, + { + titleKey: "schedule.events.exploring", + locationKey: "schedule.locations.studentHouse", + time: "22:30-00:00", + }, { titleKey: "schedule.events.cs2LbR4", locationKey: "schedule.locations.auditorium", @@ -310,13 +367,13 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.awardCeremony", - locationKey: "schedule.locations.lobbyAndLanArea", + locationKey: "schedule.locations.auditorium", time: "00:00-00:30", }, { titleKey: "schedule.events.doorsClose", locationKey: "schedule.locations.auditorium", - time: "~01:30", + time: "~02:00", }, ], sep13: [ @@ -324,7 +381,8 @@ export const scheduleData: Record = { titleKey: "schedule.events.noEventsScheduled", locationKey: [ "schedule.locations.studentHouse", - "schedule.locations.lobbyAndLanArea" + "schedule.locations.lobby", + "schedule.locations.lanArea" ], time: "-", }, @@ -333,11 +391,6 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "09:00", }, - { - titleKey: "schedule.events.gamersSetup", - locationKey: "schedule.locations.auditorium", - time: "09:30-10:30", - }, { titleKey: "schedule.events.cs2WbR4", locationKey: "schedule.locations.auditorium", diff --git a/translations/en.json b/translations/en.json index 843ae31..97f8a20 100644 --- a/translations/en.json +++ b/translations/en.json @@ -759,6 +759,8 @@ "doorsOpen": "Doors open, expo area available", "doorsOpenSimple": "Doors open", "expoOpens": "Expo area opens", + "lanAreaOpens": "LAN area opens", + "studentHouseOpens": "Student House opens", "miniTournaments": "Mini tournaments begin", "tournamentRegistration": "Tournament registration", "streetFighter6": "Street Fighter 6 tournament", @@ -776,7 +778,6 @@ "lolFinale": "LoL finale and 3rd place match", "cs2lbsemifinals": "CS2 lower bracket semifinals", "cs2lbfinals": "CS2 lower bracket finals", - "cs2setup": "CS2 setup for finals", "cs2semifinals": "CS2 upper bracket semifinals", "Cs2finals": "CS2 finals", "AwardsCeremony": "Awards ceremony", @@ -786,9 +787,8 @@ "cs2Finale": "CS2 finale", "cs2FinalMatch": "CS2 final match", "cs2TournamentFinale": "CS2 tournament finale", - "gamersSetup": "Gamers Setup", - "staffSetup": "Staff Setup", "exploring": "Exploring", + "quakeDeathmatch": "Quake Deathmatch", "gameDevShowcasing": "GameDev Showcasing", "lanAreaTournaments": "LAN Area Tournaments", "minigamesAndTournaments": "Minigames and Tournaments", @@ -808,13 +808,22 @@ "gamedevAwardCeremony": "Gamedev Award Ceremony", "break": "CS2 Break", "avatarLegendsFinal": "Avatar Legends final", + "rlFinal": "Rocket League final", + "cs16Final": "CS 1.6 final", + "osuFinal": "osu! final", + "eaFc26Final": "EA FC 26 final", + "evalHfdAndFinal": "EVAL HFd and final", "tekken8Final": "Tekken 8 final", + "tokonFinal": "Tokon final", "streetFighter6Final": "Street Fighter 6 final", "twoXkoFinal": "2XKO final", + "gt7HfdAndFinal": "GT7 HFd and final", "ssbuFinal": "SSBU final", "invincibleVsFinal": "Invincible VS final", "finalsAndThirdPlace": "Finals + 3rd place", "miniTournamentsAwardCeremony": "Mini Tournaments Award Ceremony", + "lanAreaAwardCeremony": "LAN Area Award Ceremony", + "lanAreaFunTime": "LAN Area Fun Time", "justFunTime": "Just fun time?", "estimatedEndOfDay2": "Estimated End of Day 2", "estimatedEndOfFinals": "Estimated End of Finals", @@ -840,6 +849,7 @@ "cs2ScLbR4": "CS2 Second Chance LB Round 4", "cs2ScSemiFinal": "CS2 Second Chance Semi Final", "cs2ScLbR5": "CS2 Second Chance LB Round 5", + "cs2ScLbR6": "CS2 Second Chance LB Round 6", "cs2ScTournamentFinal": "CS2 Second Chance Tournament Final", "lolBreak": "LoL Break", "lolSemiFinals": "LoL Semi Finals", @@ -848,15 +858,15 @@ "noEventsScheduled": "No events scheduled for these areas" }, "locations": { - "registrationSetup": "Registration and setup in auditorium", "auditorium": "Auditorium", "studentHouse": "Student House (Tudengimaja)", + "lobby": "Fuajee", + "lanArea": "LAN Area", "auditoriumAndStudentHouse": "Auditorium and Student House", "auditoriumAndStudentHouseAndFuajee": "Auditorium, Student House, and Fuajee/LAN Area", "entranceHall": "Lobby", "fuajeeLanAla": "Fuajee/LAN Area", "foyerAndLanArea": "Fuajee/LAN Area", - "lobbyAndLanArea": "Lobby/LAN area", "miniTournaments": "Mini-tournaments" }, "transportInfo": "Come to TipiLAN by public transport if possible! Buses 10, 11, 19, 23, 24A, 27, 33, 36, 37, 45, 67 and trolleybuses 72 and 83 will take you to TalTech. If you come by car, don't come alone - bring your friends!" diff --git a/translations/et.json b/translations/et.json index 337e771..a93208c 100644 --- a/translations/et.json +++ b/translations/et.json @@ -760,6 +760,8 @@ "doorsOpen": "Uksed avatakse, messiala avatud", "doorsOpenSimple": "Uksed avatakse", "expoOpens": "Messiala avatakse", + "lanAreaOpens": "LAN-ala avatakse", + "studentHouseOpens": "Tudengimaja avatakse", "miniTournaments": "Miniturniirid", "tournamentRegistration": "Turniiride registreerimine", "streetFighter6": "Street Fighter 6 turniir", @@ -777,7 +779,6 @@ "lolFinale": "LoL finaal ja 3. koha mäng", "cs2lbsemifinals": "CS2 alamliiga poolfinaalid", "cs2lbfinals": "CS2 alamliiga finaalid", - "cs2setup": "CS2 finaalide ettevalmistus", "cs2semifinals": "CS2 ülemliiga poolfinaalid", "Cs2finals": "CS2 finaalid", "AwardsCeremony": "Autasustamine", @@ -787,9 +788,8 @@ "cs2Finale": "CS2 finaal", "cs2FinalMatch": "CS2 finaalimäng", "cs2TournamentFinale": "CS2 turniiri finaal", - "gamersSetup": "Mängijate seadistamine", - "staffSetup": "Personal seadistamine", "exploring": "Avastamine", + "quakeDeathmatch": "Quake'i surmamatš", "gameDevShowcasing": "Mänguarenduse tutvustamine", "lanAreaTournaments": "LAN-ala turniirid", "minigamesAndTournaments": "Minimängud ja turniirid", @@ -809,13 +809,22 @@ "gamedevAwardCeremony": "Mänguarenduse autasustamine", "break": "CS2 paus", "avatarLegendsFinal": "Avatar Legends finaal", + "rlFinal": "Rocket League'i finaal", + "cs16Final": "CS 1.6 finaal", + "osuFinal": "osu! finaal", + "eaFc26Final": "EA FC 26 finaal", + "evalHfdAndFinal": "EVAL HFd ja finaal", "tekken8Final": "Tekken 8 finaal", + "tokonFinal": "Tokoni finaal", "streetFighter6Final": "Street Fighter 6 finaal", "twoXkoFinal": "2XKO finaal", + "gt7HfdAndFinal": "GT7 HFd ja finaal", "ssbuFinal": "SSBU finaal", "invincibleVsFinal": "Invincible VS finaal", "finalsAndThirdPlace": "Finaalid + 3. koht", "miniTournamentsAwardCeremony": "Miniturniiride autasustamine", + "lanAreaAwardCeremony": "LAN-ala autasustamine", + "lanAreaFunTime": "LAN-ala vaba aeg", "justFunTime": "Lihtsalt lõbus aeg?", "estimatedEndOfDay2": "Päeva 2 eeldatav lõpp", "estimatedEndOfFinals": "Finaalide eeldatav lõpp", @@ -841,6 +850,7 @@ "cs2ScLbR4": "CS2 teise šansi kaotajate veergu 4. ring", "cs2ScSemiFinal": "CS2 teise šansi poolfinaal", "cs2ScLbR5": "CS2 teise šansi kaotajate veergu 5. ring", + "cs2ScLbR6": "CS2 teise šansi kaotajate veergu 6. ring", "cs2ScTournamentFinal": "CS2 teise šansi turniiri finaal", "lolBreak": "LoL vaheajad", "lolSemiFinals": "LoL poolfinaalid", @@ -849,15 +859,15 @@ "noEventsScheduled": "Nendel aladel pole üritusi" }, "locations": { - "registrationSetup": "Registreerimine ja setup aulas", "auditorium": "Aula", "studentHouse": "Tudengimaja", + "lobby": "Fuajee", + "lanArea": "LAN-ala", "auditoriumAndStudentHouse": "Aula ja Tudengimaja", "auditoriumAndStudentHouseAndFuajee": "Aula, Tudengimaja ja Fuajee/LAN-ala", "entranceHall": "Fuajee", "fuajeeLanAla": "Fuajee/LAN-ala", "foyerAndLanArea": "Fuajee/LAN-ala", - "lobbyAndLanArea": "Fuajee/LAN-ala", "miniTournaments": "Miniturniirid" }, "transportInfo": "Tule võimaluse korral TipiLANile ühistranspordiga! TalTechi toovad sind bussid 10, 11, 19, 23, 24A, 27, 33, 36, 37, 45, 67 ning trollid 72 ja 83. Kui tuled autoga, siis ära tule üksi, võta sõbrad kaasa!" From ffec159cbbaf17cb6241580a240bca36ab5f63a6 Mon Sep 17 00:00:00 2001 From: v4ltages Date: Wed, 16 Sep 2026 16:40:04 +0300 Subject: [PATCH 2/3] Revert "Fix timetable logic and data" This reverts commit 3bd9400489d08b868939fa46215eb596ce72c18f. --- src/app/[locale]/ajakava/page.tsx | 26 +--- src/data/timetable.ts | 207 +++++++++++------------------- translations/en.json | 20 +-- translations/et.json | 20 +-- 4 files changed, 93 insertions(+), 180 deletions(-) diff --git a/src/app/[locale]/ajakava/page.tsx b/src/app/[locale]/ajakava/page.tsx index 0b92b5a..abbe0f0 100644 --- a/src/app/[locale]/ajakava/page.tsx +++ b/src/app/[locale]/ajakava/page.tsx @@ -14,11 +14,11 @@ const FILTER_MAP: Record = { auditorium: ['auditorium'], tudengimaja: ['studentHouse'], studenthouse: ['studentHouse'], - fuajee: ['lobby'], - foyer: ['lobby'], - lan: ['lanArea'], - lanarea: ['lanArea'], - lobby: ['lobby'], + fuajee: ['lobbyAndLanArea'], + foyer: ['lobbyAndLanArea'], + lan: ['lobbyAndLanArea'], + lanarea: ['lobbyAndLanArea'], + lobby: ['lobbyAndLanArea'], }; function matchesFilter(item: ScheduleItem, filter: string): boolean { @@ -154,21 +154,7 @@ export default function Timetable() { : "bg-[#1F5673] text-[#EEE5E5] hover:bg-[#00A3E0] hover:text-black" }`} > - {t("schedule.locations.lobby")} - - diff --git a/src/data/timetable.ts b/src/data/timetable.ts index bf72736..f1b26f2 100644 --- a/src/data/timetable.ts +++ b/src/data/timetable.ts @@ -12,47 +12,60 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobby", - "schedule.locations.lanArea" + "schedule.locations.lobbyAndLanArea" ], time: "17:00", }, + { + titleKey: "schedule.events.gamersSetup", + locationKey: [ + "schedule.locations.auditorium", + "schedule.locations.studentHouse" + ], + time: "17:00-19:00", + }, { titleKey: "schedule.events.exploring", locationKey: [ - "schedule.locations.studentHouse", - "schedule.locations.lanArea" + "schedule.locations.auditorium", + "schedule.locations.studentHouse" ], time: "17:00-18:00", }, { titleKey: "schedule.events.gameDevShowcasing", - locationKey: "schedule.locations.lobby", + locationKey: "schedule.locations.lobbyAndLanArea", time: "17:00-00:00", }, { titleKey: "schedule.events.miniTournaments", locationKey: "schedule.locations.studentHouse", - time: "18:00-20:30", + time: "18:00", }, { titleKey: "schedule.events.lanAreaTournaments", - locationKey: "schedule.locations.lanArea", + locationKey: "schedule.locations.lobbyAndLanArea", time: "18:00-00:00", }, { - titleKey: "schedule.events.miniTournaments", - locationKey: "schedule.locations.studentHouse", - time: "22:30-00:00", + titleKey: "schedule.events.minigamesAndTournaments", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "18:00-00:00", }, { titleKey: "schedule.events.blueCarpet", - locationKey: "schedule.locations.auditorium", + locationKey: [ + "schedule.locations.auditorium", + "schedule.locations.studentHouse" + ], time: "19:00", }, { titleKey: "schedule.events.day1Begins", - locationKey: "schedule.locations.auditorium", + locationKey: [ + "schedule.locations.auditorium", + "schedule.locations.studentHouse" + ], time: "19:30", }, { @@ -75,16 +88,6 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "21:00-22:00", }, - { - titleKey: "schedule.events.ssbuFinal", - locationKey: "schedule.locations.studentHouse", - time: "21:00-21:30", - }, - { - titleKey: "schedule.events.streetFighter6Final", - locationKey: "schedule.locations.studentHouse", - time: "21:30-22:00", - }, { titleKey: "schedule.events.cs2SwissR3", locationKey: "schedule.locations.auditorium", @@ -95,16 +98,6 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "22:00-23:00", }, - { - titleKey: "schedule.events.invincibleVsFinal", - locationKey: "schedule.locations.studentHouse", - time: "22:00-22:30", - }, - { - titleKey: "schedule.events.quakeDeathmatch", - locationKey: "schedule.locations.studentHouse", - time: "20:30-21:00", - }, { titleKey: "schedule.events.cs2SwissR4", locationKey: "schedule.locations.auditorium", @@ -125,10 +118,9 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobby", - "schedule.locations.lanArea" + "schedule.locations.lobbyAndLanArea" ], - time: "~02:00", + time: "~01:00", }, ], sep12: [ @@ -137,11 +129,20 @@ export const scheduleData: Record = { locationKey: [ "schedule.locations.auditorium", "schedule.locations.studentHouse", - "schedule.locations.lobby", - "schedule.locations.lanArea" + "schedule.locations.lobbyAndLanArea" ], time: "09:00", }, + { + titleKey: "schedule.events.gamersSetup", + locationKey: "schedule.locations.auditorium", + time: "09:00-10:30", + }, + { + titleKey: "schedule.events.gamersSetup", + locationKey: "schedule.locations.studentHouse", + time: "09:00-11:30", + }, { titleKey: "schedule.events.cs2WbR1", locationKey: "schedule.locations.auditorium", @@ -164,33 +165,18 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.expoOpens", - locationKey: "schedule.locations.lobby", - time: "09:00", - }, - { - titleKey: "schedule.events.lanAreaOpens", - locationKey: "schedule.locations.lanArea", - time: "10:00", - }, - { - titleKey: "schedule.events.studentHouseOpens", - locationKey: "schedule.locations.studentHouse", - time: "10:00", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "12:00", }, { titleKey: "schedule.events.gamedevExpo", - locationKey: "schedule.locations.lobby", - time: "09:00-19:00", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "12:00-19:00", }, { titleKey: "schedule.events.miniTournaments", - locationKey: "schedule.locations.studentHouse", - time: "10:00-17:00", - }, - { - titleKey: "schedule.events.lanAreaTournaments", - locationKey: "schedule.locations.lanArea", - time: "10:00-22:00", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "13:00-19:00", }, { titleKey: "schedule.events.cs2LbR1", @@ -239,42 +225,17 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.break", - locationKey: "schedule.locations.auditorium", - time: "17:30-19:00", - }, - { - titleKey: "schedule.events.avatarLegendsFinal", - locationKey: "schedule.locations.studentHouse", - time: "19:00-19:30", - }, - { - titleKey: "schedule.events.rlFinal", - locationKey: "schedule.locations.studentHouse", - time: "17:00-18:00", - }, - { - titleKey: "schedule.events.cs16Final", - locationKey: "schedule.locations.studentHouse", - time: "17:00-18:00", - }, - { - titleKey: "schedule.events.osuFinal", - locationKey: "schedule.locations.studentHouse", - time: "17:00-18:00", - }, - { - titleKey: "schedule.events.eaFc26Final", - locationKey: "schedule.locations.studentHouse", - time: "17:00-18:00", - }, - { - titleKey: "schedule.events.evalHfdAndFinal", locationKey: "schedule.locations.studentHouse", time: "18:00-19:00", }, + { + titleKey: "schedule.events.avatarLegendsFinal", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "19:00-19:30", + }, { titleKey: "schedule.events.gamedevAwardCeremony", - locationKey: "schedule.locations.lobby", + locationKey: "schedule.locations.lobbyAndLanArea", time: "19:00-20:00", }, { @@ -294,28 +255,23 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.tekken8Final", - locationKey: "schedule.locations.studentHouse", - time: "18:00-18:30", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "19:30-20:00", }, { - titleKey: "schedule.events.tokonFinal", - locationKey: "schedule.locations.studentHouse", - time: "18:30-19:00", + titleKey: "schedule.events.streetFighter6Final", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "20:00-20:30", }, { titleKey: "schedule.events.gamedevExpo", - locationKey: "schedule.locations.lobby", + locationKey: "schedule.locations.lobbyAndLanArea", time: "20:00-00:00", }, { titleKey: "schedule.events.twoXkoFinal", - locationKey: "schedule.locations.studentHouse", - time: "19:30-20:00", - }, - { - titleKey: "schedule.events.gt7HfdAndFinal", - locationKey: "schedule.locations.studentHouse", - time: "19:00-20:00", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "20:30-21:00", }, { titleKey: "schedule.events.cs2ScLbR5", @@ -323,14 +279,19 @@ export const scheduleData: Record = { time: "20:30-21:30", }, { - titleKey: "schedule.events.cs2ScTournamentFinal", - locationKey: "schedule.locations.auditorium", - time: "22:30-00:30", + titleKey: "schedule.events.ssbuFinal", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "21:00-21:30", }, { - titleKey: "schedule.events.cs2ScLbR6", + titleKey: "schedule.events.cs2ScTournamentFinal", locationKey: "schedule.locations.auditorium", - time: "21:30-22:30", + time: "21:30-23:30", + }, + { + titleKey: "schedule.events.invincibleVsFinal", + locationKey: "schedule.locations.lobbyAndLanArea", + time: "21:30-22:00", }, { titleKey: "schedule.events.cs2LbR3", @@ -339,27 +300,9 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.miniTournamentsAwardCeremony", - locationKey: "schedule.locations.studentHouse", + locationKey: "schedule.locations.lobbyAndLanArea", time: "22:00-22:30", }, - { - titleKey: "schedule.events.lanAreaAwardCeremony", - locationKey: [ - "schedule.locations.studentHouse", - "schedule.locations.lanArea" - ], - time: "22:00-22:30", - }, - { - titleKey: "schedule.events.lanAreaFunTime", - locationKey: "schedule.locations.lanArea", - time: "22:30-00:00", - }, - { - titleKey: "schedule.events.exploring", - locationKey: "schedule.locations.studentHouse", - time: "22:30-00:00", - }, { titleKey: "schedule.events.cs2LbR4", locationKey: "schedule.locations.auditorium", @@ -367,13 +310,13 @@ export const scheduleData: Record = { }, { titleKey: "schedule.events.awardCeremony", - locationKey: "schedule.locations.auditorium", + locationKey: "schedule.locations.lobbyAndLanArea", time: "00:00-00:30", }, { titleKey: "schedule.events.doorsClose", locationKey: "schedule.locations.auditorium", - time: "~02:00", + time: "~01:30", }, ], sep13: [ @@ -381,8 +324,7 @@ export const scheduleData: Record = { titleKey: "schedule.events.noEventsScheduled", locationKey: [ "schedule.locations.studentHouse", - "schedule.locations.lobby", - "schedule.locations.lanArea" + "schedule.locations.lobbyAndLanArea" ], time: "-", }, @@ -391,6 +333,11 @@ export const scheduleData: Record = { locationKey: "schedule.locations.auditorium", time: "09:00", }, + { + titleKey: "schedule.events.gamersSetup", + locationKey: "schedule.locations.auditorium", + time: "09:30-10:30", + }, { titleKey: "schedule.events.cs2WbR4", locationKey: "schedule.locations.auditorium", diff --git a/translations/en.json b/translations/en.json index 97f8a20..843ae31 100644 --- a/translations/en.json +++ b/translations/en.json @@ -759,8 +759,6 @@ "doorsOpen": "Doors open, expo area available", "doorsOpenSimple": "Doors open", "expoOpens": "Expo area opens", - "lanAreaOpens": "LAN area opens", - "studentHouseOpens": "Student House opens", "miniTournaments": "Mini tournaments begin", "tournamentRegistration": "Tournament registration", "streetFighter6": "Street Fighter 6 tournament", @@ -778,6 +776,7 @@ "lolFinale": "LoL finale and 3rd place match", "cs2lbsemifinals": "CS2 lower bracket semifinals", "cs2lbfinals": "CS2 lower bracket finals", + "cs2setup": "CS2 setup for finals", "cs2semifinals": "CS2 upper bracket semifinals", "Cs2finals": "CS2 finals", "AwardsCeremony": "Awards ceremony", @@ -787,8 +786,9 @@ "cs2Finale": "CS2 finale", "cs2FinalMatch": "CS2 final match", "cs2TournamentFinale": "CS2 tournament finale", + "gamersSetup": "Gamers Setup", + "staffSetup": "Staff Setup", "exploring": "Exploring", - "quakeDeathmatch": "Quake Deathmatch", "gameDevShowcasing": "GameDev Showcasing", "lanAreaTournaments": "LAN Area Tournaments", "minigamesAndTournaments": "Minigames and Tournaments", @@ -808,22 +808,13 @@ "gamedevAwardCeremony": "Gamedev Award Ceremony", "break": "CS2 Break", "avatarLegendsFinal": "Avatar Legends final", - "rlFinal": "Rocket League final", - "cs16Final": "CS 1.6 final", - "osuFinal": "osu! final", - "eaFc26Final": "EA FC 26 final", - "evalHfdAndFinal": "EVAL HFd and final", "tekken8Final": "Tekken 8 final", - "tokonFinal": "Tokon final", "streetFighter6Final": "Street Fighter 6 final", "twoXkoFinal": "2XKO final", - "gt7HfdAndFinal": "GT7 HFd and final", "ssbuFinal": "SSBU final", "invincibleVsFinal": "Invincible VS final", "finalsAndThirdPlace": "Finals + 3rd place", "miniTournamentsAwardCeremony": "Mini Tournaments Award Ceremony", - "lanAreaAwardCeremony": "LAN Area Award Ceremony", - "lanAreaFunTime": "LAN Area Fun Time", "justFunTime": "Just fun time?", "estimatedEndOfDay2": "Estimated End of Day 2", "estimatedEndOfFinals": "Estimated End of Finals", @@ -849,7 +840,6 @@ "cs2ScLbR4": "CS2 Second Chance LB Round 4", "cs2ScSemiFinal": "CS2 Second Chance Semi Final", "cs2ScLbR5": "CS2 Second Chance LB Round 5", - "cs2ScLbR6": "CS2 Second Chance LB Round 6", "cs2ScTournamentFinal": "CS2 Second Chance Tournament Final", "lolBreak": "LoL Break", "lolSemiFinals": "LoL Semi Finals", @@ -858,15 +848,15 @@ "noEventsScheduled": "No events scheduled for these areas" }, "locations": { + "registrationSetup": "Registration and setup in auditorium", "auditorium": "Auditorium", "studentHouse": "Student House (Tudengimaja)", - "lobby": "Fuajee", - "lanArea": "LAN Area", "auditoriumAndStudentHouse": "Auditorium and Student House", "auditoriumAndStudentHouseAndFuajee": "Auditorium, Student House, and Fuajee/LAN Area", "entranceHall": "Lobby", "fuajeeLanAla": "Fuajee/LAN Area", "foyerAndLanArea": "Fuajee/LAN Area", + "lobbyAndLanArea": "Lobby/LAN area", "miniTournaments": "Mini-tournaments" }, "transportInfo": "Come to TipiLAN by public transport if possible! Buses 10, 11, 19, 23, 24A, 27, 33, 36, 37, 45, 67 and trolleybuses 72 and 83 will take you to TalTech. If you come by car, don't come alone - bring your friends!" diff --git a/translations/et.json b/translations/et.json index a93208c..337e771 100644 --- a/translations/et.json +++ b/translations/et.json @@ -760,8 +760,6 @@ "doorsOpen": "Uksed avatakse, messiala avatud", "doorsOpenSimple": "Uksed avatakse", "expoOpens": "Messiala avatakse", - "lanAreaOpens": "LAN-ala avatakse", - "studentHouseOpens": "Tudengimaja avatakse", "miniTournaments": "Miniturniirid", "tournamentRegistration": "Turniiride registreerimine", "streetFighter6": "Street Fighter 6 turniir", @@ -779,6 +777,7 @@ "lolFinale": "LoL finaal ja 3. koha mäng", "cs2lbsemifinals": "CS2 alamliiga poolfinaalid", "cs2lbfinals": "CS2 alamliiga finaalid", + "cs2setup": "CS2 finaalide ettevalmistus", "cs2semifinals": "CS2 ülemliiga poolfinaalid", "Cs2finals": "CS2 finaalid", "AwardsCeremony": "Autasustamine", @@ -788,8 +787,9 @@ "cs2Finale": "CS2 finaal", "cs2FinalMatch": "CS2 finaalimäng", "cs2TournamentFinale": "CS2 turniiri finaal", + "gamersSetup": "Mängijate seadistamine", + "staffSetup": "Personal seadistamine", "exploring": "Avastamine", - "quakeDeathmatch": "Quake'i surmamatš", "gameDevShowcasing": "Mänguarenduse tutvustamine", "lanAreaTournaments": "LAN-ala turniirid", "minigamesAndTournaments": "Minimängud ja turniirid", @@ -809,22 +809,13 @@ "gamedevAwardCeremony": "Mänguarenduse autasustamine", "break": "CS2 paus", "avatarLegendsFinal": "Avatar Legends finaal", - "rlFinal": "Rocket League'i finaal", - "cs16Final": "CS 1.6 finaal", - "osuFinal": "osu! finaal", - "eaFc26Final": "EA FC 26 finaal", - "evalHfdAndFinal": "EVAL HFd ja finaal", "tekken8Final": "Tekken 8 finaal", - "tokonFinal": "Tokoni finaal", "streetFighter6Final": "Street Fighter 6 finaal", "twoXkoFinal": "2XKO finaal", - "gt7HfdAndFinal": "GT7 HFd ja finaal", "ssbuFinal": "SSBU finaal", "invincibleVsFinal": "Invincible VS finaal", "finalsAndThirdPlace": "Finaalid + 3. koht", "miniTournamentsAwardCeremony": "Miniturniiride autasustamine", - "lanAreaAwardCeremony": "LAN-ala autasustamine", - "lanAreaFunTime": "LAN-ala vaba aeg", "justFunTime": "Lihtsalt lõbus aeg?", "estimatedEndOfDay2": "Päeva 2 eeldatav lõpp", "estimatedEndOfFinals": "Finaalide eeldatav lõpp", @@ -850,7 +841,6 @@ "cs2ScLbR4": "CS2 teise šansi kaotajate veergu 4. ring", "cs2ScSemiFinal": "CS2 teise šansi poolfinaal", "cs2ScLbR5": "CS2 teise šansi kaotajate veergu 5. ring", - "cs2ScLbR6": "CS2 teise šansi kaotajate veergu 6. ring", "cs2ScTournamentFinal": "CS2 teise šansi turniiri finaal", "lolBreak": "LoL vaheajad", "lolSemiFinals": "LoL poolfinaalid", @@ -859,15 +849,15 @@ "noEventsScheduled": "Nendel aladel pole üritusi" }, "locations": { + "registrationSetup": "Registreerimine ja setup aulas", "auditorium": "Aula", "studentHouse": "Tudengimaja", - "lobby": "Fuajee", - "lanArea": "LAN-ala", "auditoriumAndStudentHouse": "Aula ja Tudengimaja", "auditoriumAndStudentHouseAndFuajee": "Aula, Tudengimaja ja Fuajee/LAN-ala", "entranceHall": "Fuajee", "fuajeeLanAla": "Fuajee/LAN-ala", "foyerAndLanArea": "Fuajee/LAN-ala", + "lobbyAndLanArea": "Fuajee/LAN-ala", "miniTournaments": "Miniturniirid" }, "transportInfo": "Tule võimaluse korral TipiLANile ühistranspordiga! TalTechi toovad sind bussid 10, 11, 19, 23, 24A, 27, 33, 36, 37, 45, 67 ning trollid 72 ja 83. Kui tuled autoga, siis ära tule üksi, võta sõbrad kaasa!" From 617743488c1a46abbd58c323c2e81e10b6870c7d Mon Sep 17 00:00:00 2001 From: v4ltages Date: Mon, 21 Sep 2026 14:47:40 +0300 Subject: [PATCH 3/3] Farewell message --- src/app/[locale]/page.tsx | 6 +++--- src/components/FarewellMessage.tsx | 16 ++++++++++++++++ src/components/Header.tsx | 5 ++++- translations/en.json | 3 +++ translations/et.json | 3 +++ 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 src/components/FarewellMessage.tsx diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx index 01a4750..67aab73 100644 --- a/src/app/[locale]/page.tsx +++ b/src/app/[locale]/page.tsx @@ -2,7 +2,7 @@ import { vipnagorgialla } from "@/components/Vipnagorgialla"; import Sponsors from "@/components/Sponsors"; import HeroSection from "@/components/HeroSection"; import TeaserCarousel from "@/components/TeaserCarousel"; -import Livestreams from "@/components/Livestreams"; +import FarewellMessage from "@/components/FarewellMessage"; import { Link } from "@/i18n/routing"; import { getTranslations, setRequestLocale } from "next-intl/server"; @@ -22,8 +22,8 @@ export default async function Home({ - {/* Livestreams — shown automatically when the event begins */} - + {/* Farewell message */} + {/* Nav cards: Piletid + Ajakava + Turniirid */}
diff --git a/src/components/FarewellMessage.tsx b/src/components/FarewellMessage.tsx new file mode 100644 index 0000000..f309cd8 --- /dev/null +++ b/src/components/FarewellMessage.tsx @@ -0,0 +1,16 @@ +import { getTranslations } from "next-intl/server"; +import { vipnagorgialla } from "@/components/Vipnagorgialla"; + +export default async function FarewellMessage() { + const t = await getTranslations("home.farewell"); + + return ( +
+

+ {t("message")} +

+
+ ); +} diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 8fc6be4..44f4546 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -41,7 +41,10 @@ const Header = ({ navItems }: HeaderProps) => { const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); // Header navigation should include all options except homepage and hidden items - const hiddenNavHrefs: NavItem["href"][] = []; + const hiddenNavHrefs: NavItem["href"][] = [ + "/messiala", + "/turniirid", + ]; const mainNavItems = navItems.filter( (item) => item.href !== "/" && !hiddenNavHrefs.includes(item.href), ); diff --git a/translations/en.json b/translations/en.json index 843ae31..f3db71f 100644 --- a/translations/en.json +++ b/translations/en.json @@ -73,6 +73,9 @@ "cs2": "Counter-Strike 2", "lol": "League of Legends" }, + "farewell": { + "message": "Thank you for participating in TipiLAN 2026! We hope to see you again next time!" + }, "sections": { "schedule": { "description": "TipiLAN is packed with exciting tournaments, mini-competitions and much more." diff --git a/translations/et.json b/translations/et.json index 337e771..f53ee21 100644 --- a/translations/et.json +++ b/translations/et.json @@ -73,6 +73,9 @@ "cs2": "Counter-Strike 2", "lol": "League of Legends" }, +"farewell": { + "message": "Aitäh, et olite osa 2026 TipiLANist! Ootame teid tagasi järgmisel!" + }, "sections": { "schedule": { "description": "TipiLAN on pungil põnevatest turniiridest, mini-võistlustest ja paljust muust."