Merge pull request #91 from Lapikud/development

Feature: Ajakava, ticket page
pull/95/head
Renkar 2 months ago committed by GitHub
commit d1b27fa63d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 86
      src/app/[locale]/piletid/page.tsx
  2. 75
      src/data/timetable.ts
  3. 36
      translations/en.json
  4. 36
      translations/et.json

@ -23,89 +23,91 @@ export default async function Tickets({
<div className="flex justify-center lg:items-center flex-col lg:flex-row gap-8 md:gap-12 flex-grow mb-16 md:mt-8 lg:mt-0">
<div className="bg-[#007CAB] -skew-x-2 md:-skew-x-5 text-white italic px-8 md:px-12 py-16 hover:scale-103 transition-all duration-150 w-full md:w-xl lg:w-[400px]">
<h2
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
>
{t("tickets.computerParticipant.latePrice")}
{t("tickets.visitor.latePrice")}
</h2>
<h3
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
>
{t("tickets.computerParticipant.title")}
{t("tickets.visitor.title")}
</h3>
<ul className="pl-4 mb-8 list-[square] marker:text-[#1F5673]">
{t
.raw("tickets.computerParticipant.features")
.map((feature: string, index: number) => (
<li key={index} className="text-xl">
{feature}
</li>
))}
.raw("tickets.visitor.features")
.map((feature: string, index: number) => (
<li key={index} className="text-xl">
{feature}
</li>
))}
</ul>
<Link href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold`}
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold`}
>
{t("tickets.buyTicket")}
</button>
</Link>
</div>
<div className="bg-[#1F5673] -skew-x-2 md:-skew-x-5 text-gray-400 italic px-8 md:px-12 py-16 w-full md:w-xl lg:w-[400px]">
<div className="bg-[#007CAB] -skew-x-2 md:-skew-x-5 text-white italic px-8 md:px-12 py-16 hover:scale-103 transition-all duration-150 w-full md:w-xl lg:w-[400px]">
<h2
className={`text-4xl ${vipnagorgialla.className} font-bold pb-2`}
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
>
<s>{t("tickets.competitor.price")}</s>
{t("tickets.computerParticipant.latePrice")}
</h2>
<h3
className={`text-2xl ${vipnagorgialla.className} font-bold pb-4`}
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
>
<s>{t("tickets.competitor.title")}</s>
{t("tickets.computerParticipant.title")}
</h3>
<ul className="pl-4 mb-8 list-[square] marker:text-[#007CAB]">
<ul className="pl-4 mb-8 list-[square] marker:text-[#1F5673]">
{t
.raw("tickets.competitor.features")
.raw("tickets.computerParticipant.features")
.map((feature: string, index: number) => (
<li key={index} className="text-sm">
<li key={index} className="text-xl">
{feature}
</li>
))}
</ul>
{/*<Link href="https://fienta.com/et/tipilan" target="_blank">*/}
<Link href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#007CAB] text-white ${vipnagorgialla.className} font-bold text-xl uppercase opacity-55`}
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold`}
>
{t("tickets.soldOut")}!
{t("tickets.buyTicket")}
</button>
{/*</Link>*/}
</Link>
</div>
<div className="bg-[#007CAB] -skew-x-2 md:-skew-x-5 text-white italic px-8 md:px-12 py-16 hover:scale-103 transition-all duration-150 w-full md:w-xl lg:w-[400px]">
<div className="bg-[#1F5673] -skew-x-2 md:-skew-x-5 text-gray-400 italic px-8 md:px-12 py-16 w-full md:w-xl lg:w-[400px]">
<h2
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
className={`text-4xl ${vipnagorgialla.className} font-bold pb-2`}
>
{t("tickets.visitor.latePrice")}
<s>{t("tickets.competitor.price")}</s>
</h2>
<h3
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
className={`text-2xl ${vipnagorgialla.className} font-bold pb-4`}
>
{t("tickets.visitor.title")}
<s>{t("tickets.competitor.title")}</s>
</h3>
<ul className="pl-4 mb-8 list-[square] marker:text-[#1F5673]">
<ul className="pl-4 mb-8 list-[square] marker:text-[#007CAB]">
{t
.raw("tickets.visitor.features")
.map((feature: string, index: number) => (
<li key={index} className="text-xl">
{feature}
</li>
))}
.raw("tickets.competitor.features")
.map((feature: string, index: number) => (
<li key={index} className="text-sm">
{feature}
</li>
))}
</ul>
<Link href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold`}
>
{t("tickets.buyTicket")}
</button>
</Link>
{/*<Link href="https://fienta.com/et/tipilan" target="_blank">*/}
<button
className={`px-4 py-2 bg-[#007CAB] text-white ${vipnagorgialla.className} font-bold text-xl uppercase opacity-55`}
>
{t("tickets.soldOut")}!
</button>
{/*</Link>*/}
</div>
</div>
</div>

@ -13,20 +13,40 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
time: "17:00",
},
{
titleKey: "schedule.events.preTournamentWarmup",
locationKey: "schedule.locations.auditoriumAndStudentHouse",
titleKey: "schedule.events.miniTournaments",
locationKey: "schedule.locations.studentHouse",
time: "18:00",
},
{
titleKey: "schedule.events.tournamentRegistration",
locationKey: "schedule.locations.auditorium",
time: "18:00",
},
{
titleKey: "schedule.events.streetFighter6",
locationKey: "schedule.locations.studentHouse",
time: "18:00",
},
{
titleKey: "schedule.events.killerInstinct",
titleKey: "schedule.events.smashBrosUltimate",
locationKey: "schedule.locations.studentHouse",
time: "18:30",
},
{
titleKey: "schedule.events.mainTournamentsStart",
titleKey: "schedule.events.cs2Tournament",
locationKey: "schedule.locations.auditorium",
time: "20:00",
},
{
titleKey: "schedule.events.lolTournament",
locationKey: "schedule.locations.auditorium",
time: "20:00",
},
{
titleKey: "schedule.events.sf6SsbuFinale",
locationKey: "schedule.locations.studentHouse",
time: "22:00",
},
{
titleKey: "schedule.events.doorsClose",
locationKey: "schedule.locations.auditoriumAndStudentHouse",
@ -40,30 +60,45 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
time: "10:00",
},
{
titleKey: "schedule.events.warmup",
locationKey: "schedule.locations.auditoriumAndStudentHouse",
time: "10:30",
titleKey: "schedule.events.cs2Continue",
locationKey: "schedule.locations.auditorium",
time: "11:00",
},
{
titleKey: "schedule.events.mainTournamentsContinue",
titleKey: "schedule.events.lolContinue",
locationKey: "schedule.locations.auditorium",
time: "12:00",
},
{
titleKey: "schedule.events.miniTournamentsStart",
titleKey: "schedule.events.2xkoTournament",
locationKey: "schedule.locations.studentHouse",
time: "13:00",
time: "12:00",
},
{
titleKey: "schedule.events.granblue",
titleKey: "schedule.events.tekken8Tournament",
locationKey: "schedule.locations.studentHouse",
time: "13:30",
time: "12:30",
},
{
titleKey: "schedule.events.2xkoTekken8Finale",
locationKey: "schedule.locations.studentHouse",
time: "18:00",
},
{
titleKey: "schedule.events.lolFinale",
locationKey: "schedule.locations.auditorium",
time: "18:30",
},
{
titleKey: "schedule.events.granTurismoFinal",
titleKey: "schedule.events.granTurismoFinale",
locationKey: "schedule.locations.studentHouse",
time: "20:00",
},
{
titleKey: "schedule.events.lolTournamentSemifinals",
locationKey: "schedule.locations.auditorium",
time: "*01:00",
},
{
titleKey: "schedule.events.doorsClose",
locationKey: "schedule.locations.auditoriumAndStudentHouse",
@ -72,22 +107,22 @@ export const scheduleData: Record<string, ScheduleItem[]> = {
],
oct26: [
{
titleKey: "schedule.events.expoClosed",
locationKey: "schedule.locations.studentHouse",
time: "all day",
titleKey: "schedule.events.cs2Finale",
locationKey: "schedule.locations.auditorium",
time: "10:00",
},
{
titleKey: "schedule.events.cs2FinalStart",
titleKey: "schedule.events.cs2FinalMatch",
locationKey: "schedule.locations.auditorium",
time: "10:00",
time: "15:30",
},
{
titleKey: "schedule.events.cs2Final",
titleKey: "schedule.events.cs2TournamentFinale",
locationKey: "schedule.locations.auditorium",
time: "18:00",
},
{
titleKey: "schedule.events.awardCeremony",
titleKey: "schedule.events.doorsClose",
locationKey: "schedule.locations.auditorium",
time: "18:30",
},

@ -67,7 +67,7 @@
"latePrice":"10€",
"features": [
"Personal desk, power and internet connection",
"Access to demo area",
"Access to expo area",
"Tournament spectating",
"Ability to participate in mini-tournaments"
]
@ -78,7 +78,7 @@
"features": [
"Ability to participate in the CS2 or LoL tournament",
"Personal desk, power and internet connection",
"Access to demo area",
"Access to expo area",
"Tournament spectating",
"Ability to participate in mini-tournaments"
]
@ -88,7 +88,7 @@
"earlyPrice": "6€",
"latePrice": "8€",
"features": [
"Access to demo area",
"Access to expo area",
"Tournament spectating",
"Ability to participate in mini-tournaments"
]
@ -140,19 +140,25 @@
"oct26": "October 26th",
"events": {
"doorsOpen": "Doors open",
"preTournamentWarmup": "Pre-tournament warmup and start of mini tournaments",
"killerInstinct": "Killer Instinct tournament",
"mainTournamentsStart": "CS2 and LoL tournaments begin",
"miniTournaments": "Mini tournaments",
"tournamentRegistration": "Tournament registration",
"streetFighter6": "Street Fighter 6 tournament",
"smashBrosUltimate": "Smash Bros. Ultimate tournament",
"cs2Tournament": "CS2 tournament",
"lolTournament": "LoL tournament",
"sf6SsbuFinale": "SF6 & SSBU finale",
"doorsClose": "Doors close",
"warmup": "Warmup",
"mainTournamentsContinue": "LoL/CS2 tournaments continue",
"miniTournamentsStart": "Mini-tournaments begin",
"granblue": "Granblue tournament",
"granTurismoFinal": "Gran Turismo final",
"cs2FinalStart": "CS2 final begins",
"cs2Final": "CS2 final",
"awardCeremony": "Award ceremony",
"expoClosed": "Expo area is closed"
"cs2Continue": "CS2 tournament continues",
"lolContinue": "LoL tournament continues",
"2xkoTournament": "2XKO tournament",
"tekken8Tournament": "Tekken 8 tournament",
"2xkoTekken8Finale": "2XKO & Tekken 8 finale",
"lolFinale": "LoL finale",
"granTurismoFinale": "Gran Turismo finale",
"lolTournamentSemifinals": "LoL tournament semifinals",
"cs2Finale": "CS2 finale",
"cs2FinalMatch": "CS2 final match",
"cs2TournamentFinale": "CS2 tournament finale"
},
"locations": {
"registrationSetup": "Registration and setup in auditorium",

@ -67,7 +67,7 @@
"latePrice":"10€",
"features": [
"Isiklik laud, voolu- ja internetiühendus",
"Ligipääs demoalale",
"Ligipääs messialale",
"Turniiride pealt vaatamine",
"Võimalus osaleda miniturniiridel"
]
@ -78,7 +78,7 @@
"features": [
"Võimalus osaleda CS2 või LoL turniiril",
"Isiklik laud, voolu- ja internetiühendus",
"Ligipääs demoalale",
"Ligipääs messialale",
"Turniiride pealt vaatamine",
"Võimalus osaleda miniturniiridel"
]
@ -88,7 +88,7 @@
"earlyPrice": "6€",
"latePrice": "8€",
"features": [
"Ligipääs demoalale",
"Ligipääs messialale",
"Turniiride pealt vaatamine",
"Võimalus osaleda miniturniiridel"
]
@ -141,19 +141,25 @@
"oct26": "26. oktoober",
"events": {
"doorsOpen": "Uksed avatakse",
"preTournamentWarmup": "Eelturniiri soojendus ja miniturniiride algus",
"killerInstinct": "Killer Instinct turniir",
"mainTournamentsStart": "CS2 ja LoL turniirid algavad",
"miniTournaments": "Miniturniirid",
"tournamentRegistration": "Turniiride registreerimine",
"streetFighter6": "Street Fighter 6 turniir",
"smashBrosUltimate": "Smash Bros. Ultimate turniir",
"cs2Tournament": "CS2 turniir",
"lolTournament": "LoL turniir",
"sf6SsbuFinale": "SF6 ja SSBU finaal",
"doorsClose": "Uksed suletakse",
"warmup": "Soojendus",
"mainTournamentsContinue": "LoL/CS2 turniirid jätkuvad",
"miniTournamentsStart": "Miniturniirid algavad",
"granblue": "Granblue turniir",
"granTurismoFinal": "Gran Turismo finaal",
"cs2FinalStart": "CS2 finaali algus",
"cs2Final": "CS2 finaal",
"awardCeremony": "Auhinna\u00ADtseremoonia",
"expoClosed": "Messiala on suletud"
"cs2Continue": "CS2 turniir jätkub",
"lolContinue": "LoL turniir jätkub",
"2xkoTournament": "2XKO turniir",
"tekken8Tournament": "Tekken 8 turniir",
"2xkoTekken8Finale": "2XKO ja Tekken 8 finaal",
"lolFinale": "LoL finaal",
"granTurismoFinale": "Gran Turismo finaal",
"lolTournamentSemifinals": "LoL turniiri poolfinaalid",
"cs2Finale": "CS2 finaal",
"cs2FinalMatch": "CS2 finaalimäng",
"cs2TournamentFinale": "CS2 turniiri finaal"
},
"locations": {
"registrationSetup": "Registreerimine ja setup aulas",

Loading…
Cancel
Save