Merge branch 'development' into sponsors

This commit is contained in:
Renkar
2025-10-08 12:24:05 +03:00
committed by GitHub
12 changed files with 334 additions and 326 deletions

View File

@@ -17,13 +17,13 @@ export default function Timetable() {
<div>
<div className="flex flex-col min-h-[90vh] m-6 mt-16 md:m-16">
<h1
className={`text-5xl sm:text-6xl ${vipnagorgialla.className} font-bold italic uppercase text-[#2A2C3F] dark:text-[#EEE5E5] mt-8 md:mt-16 mb-8`}
className={`text-4xl md:text-5xl lg:text-6xl ${vipnagorgialla.className} font-bold italic uppercase text-[#2A2C3F] dark:text-[#EEE5E5] mt-8 md:mt-16 mb-8`}
>
{t("schedule.title")}
</h1>
{/* Tab menu */}
<div className="flex space-x-4 mb-8">
<div className="flex gap-4 mb-8 flex-wrap">
{tabs.map((tab) => (
<button
key={tab}
@@ -44,16 +44,16 @@ export default function Timetable() {
{schedule.map((item, idx) => (
<div
key={idx}
className="border-l-3 border-[#007CAB] pl-4 flex flex-col sm:flex-row flex-wrap gap-5 items-stretch"
className="border-l-3 border-[#007CAB] pl-4 flex flex-col sm:flex-row flex-wrap gap-2 sm:gap-5 items-stretch"
>
<div
className={`${vipnagorgialla.className} md:w-[180px] w-30 text-[#00A3E0] text-3xl md:text-4xl font-bold italic flex-shrink-0 flex items-center justify-center`}
className={`${vipnagorgialla.className} md:w-[180px] w-30 text-[#00A3E0] text-3xl md:text-4xl font-bold italic flex-shrink-0 flex items-center sm:justify-center`}
>
{item.time}
</div>
<div className="flex-1 flex flex-col justify-center min-w-0 min-h-[120px]">
<div className="flex-1 flex flex-col justify-center min-w-0 sm:min-h-[120px]">
<div
className={`${vipnagorgialla.className} text-3xl italic font-bold text-[#2A2C3F] dark:text-[#EEE5E5] text-balance`}
className={`${vipnagorgialla.className} text-2xl md:text-3xl italic font-bold text-[#2A2C3F] dark:text-[#EEE5E5] text-balance`}
>
{t(item.titleKey)}
</div>

View File

@@ -75,7 +75,7 @@ export default async function Home({
>
<div className="cursor-pointer flex flex-row justify-between gap-4 items-center">
<h2
className={`text-[clamp(2rem,1.8rem+1vw,3rem)] ${vipnagorgialla.className} font-bold italic break-all uppercase dark:text-[#EEE5E5] text-[#2A2C3F] dark:group-hover:text-[#2A2C3F] group-hover:text-black`}
className={`text-[clamp(2rem,1.8rem+1vw,3rem)] ${vipnagorgialla.className} font-bold italic break-normal uppercase dark:text-[#EEE5E5] text-[#2A2C3F] dark:group-hover:text-[#2A2C3F] group-hover:text-black`}
>
{t("navigation.tournaments")}
</h2>

View File

@@ -21,14 +21,14 @@ export default async function Tickets({
</h1>
<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 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-[#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 italic text-[#EEE5E5] pb-2`}
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
>
{t("tickets.computerParticipant.latePrice")}
</h2>
<h3
className={`text-3xl ${vipnagorgialla.className} font-bold italic text-[#EEE5E5] pb-4`}
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
>
{t("tickets.computerParticipant.title")}
</h3>
@@ -36,28 +36,28 @@ export default async function Tickets({
{t
.raw("tickets.computerParticipant.features")
.map((feature: string, index: number) => (
<li key={index} className="text-xl italic">
<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 italic`}
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 px-8 md:px-12 py-16 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-4xl ${vipnagorgialla.className} font-bold italic pb-2`}
className={`text-4xl ${vipnagorgialla.className} font-bold pb-2`}
>
<s>{t("tickets.competitor.price")}</s>
</h2>
<h3
className={`text-2xl ${vipnagorgialla.className} font-bold italic pb-4`}
className={`text-2xl ${vipnagorgialla.className} font-bold pb-4`}
>
<s>{t("tickets.competitor.title")}</s>
</h3>
@@ -72,21 +72,21 @@ export default async function Tickets({
</ul>
{/*<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 italic uppercase opacity-55`}
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 className="bg-[#007CAB] -skew-x-2 md:-skew-x-5 text-white 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-[#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 italic text-[#EEE5E5] pb-2`}
className={`text-6xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-2`}
>
{t("tickets.visitor.latePrice")}
</h2>
<h3
className={`text-3xl ${vipnagorgialla.className} font-bold italic text-[#EEE5E5] pb-4`}
className={`text-3xl ${vipnagorgialla.className} font-bold text-[#EEE5E5] pb-4`}
>
{t("tickets.visitor.title")}
</h3>
@@ -101,7 +101,7 @@ export default async function Tickets({
</ul>
<Link href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold italic`}
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold`}
>
{t("tickets.buyTicket")}
</button>

View File

@@ -18,7 +18,7 @@ export default async function RulesMenu({
const boxStyle = `-skew-x-2 md:-skew-x-5 text-white md:px-12 hover:scale-103 transition-all duration-150 w-full md:w-xl lg:w-[400px]`;
const boxTextStyle = `text-3xl ${vipnagorgialla.className} font-bold uppercase text-[#EEE5E5] pb-2`;
const boxTextStyle = `text-2xl md:text-3xl ${vipnagorgialla.className} font-bold uppercase text-[#EEE5E5] pb-2 break-normal whitespace-pre-line`;
return (
<div>
@@ -48,10 +48,13 @@ export default async function RulesMenu({
{/* Minitourn. link coming soon*/}
{/*<Link href="">*/}
<div className={`${boxStyle} bg-[#1F5673] py-16 px-8`}>
<h2 className={`${boxTextStyle}`}>
{t("rules.miniRules")}
</h2>
{/* ajutine div. kui asendate lingiga, siis saab selle ära võtta */}
<div>
<div className={`${boxStyle} bg-[#1F5673] py-16 px-8`}>
<h2 className={`${boxTextStyle}`}>
{t("rules.miniRules")}
</h2>
</div>
</div>
{/*</Link>*/}
</div>

View File

@@ -140,7 +140,7 @@ export default async function Home({
<h3 className="text-4xl md:text-5xl dark:text-[#EEE5E5] text-[#2A2C3F] group-hover:text-black pb-8">
{t("home.sections.poweredBy")}
</h3>
<div className="flex flex-row flex-wrap gap-8 md:gap-18 items-center justify-center">
<div className="flex flex-row flex-wrap gap-8 md:gap-18 items-center">
<Link href="https://taltech.ee" target="_blank">
<Image
src="/sponsors/taltech-color.png"
@@ -209,13 +209,31 @@ export default async function Home({
</Link>
<Link href="https://www.tallinn.ee/et/haridus" target="_blank">
<Image
src="/sponsors/tallinnaharidusamet.jpg"
src="/sponsors/Tallinna_Haridusamet_logo_RGB.svg"
alt="Tallinna Haridusamet"
width={192}
height={192}
className="object-contain"
/>
</Link>
<Link href="https://www.militaarseiklus.ee/" target="_blank">
<Image
src="/sponsors/militaarseiklus.png"
alt="Militaarseiklus"
width={200}
height={200}
className="object-contain"
/>
</Link>
<Link href="https://www.arvutimuuseum.ee" target="_blank">
<Image
src="/sponsors/arvutimuuseum.svg"
alt="Arvutimuuseum"
width={200}
height={200}
className="object-contain not-dark:invert"
/>
</Link>
</div>
</div>
</div>

View File

@@ -11,7 +11,7 @@ export default async function Tourney({
const { locale } = await params;
setRequestLocale(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 break-normal`;
const miniTournaments: {
name: string;
@@ -36,7 +36,7 @@ export default async function Tourney({
name: "Street Fighter 6",
prize: "200€",
image: "/messiala/street_fighter.jpg",
objectPosition: "object-right",
objectPosition: "object-center",
},
{
name: "Gran Turismo",
@@ -82,12 +82,69 @@ export default async function Tourney({
<div className="flex flex-col min-h-[90vh] mt-16">
<h1
className={`text-4xl md:text-5xl lg:text-6xl ${vipnagorgialla.className} font-bold italic uppercase
text-[#2A2C3F] dark:text-[#EEE5E5] md:m-16`}
text-[#2A2C3F] dark:text-[#EEE5E5] mt-8 md:mt-16 mb-8 m-6 md:m-16`}
>
{t("tournaments.title")}
</h1>
<div className="flex flex-col">
{/* Mini-turniirid */}
<div className="hover:bg-[#007CAB] py-8 md:py-16 border-b-[3px] border-[#1F5673] transition group">
<div className="mx-8 md:mx-16 lg:mx-32 xl:mx-48">
<div className="-skew-x-2 md:-skew-x-5 mb-8">
<h2 className={`${headingStyle}`}>
{t("tournaments.mini.title")}
</h2>
<p
className={
"text-2xl mb-4 text-neutral-500 group-hover:text-black"
}
>
{t("tournaments.mini.timing")}
</p>
<p className="text-balance">
{t("tournaments.mini.description1")}
</p>
<br />
<div className="flex flex-row flex-wrap gap-4 md:gap-8">
<Link href="/kodukord" target="_blank">
<button
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.mini.readRules")}
</button>
</Link>
<a href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#00A3E0] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.mini.buyTicket")}
</button>
</a>
</div>
</div>
<div className="grid grid-cols-2 md:grid-cols-3 gap-8">
{miniTournaments.map((tournament) => (
<div key={tournament.name} className="text-center">
<Image
src={tournament.image}
alt={tournament.name}
width={400}
height={300}
className={`border-10 border-[#00A3E0] bg-black object-cover w-full aspect-video -skew-x-2 md:-skew-x-5 ${
tournament.objectPosition || "object-center"
}`}
/>
<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>
{/* CS2 turniir */}
<div className="hover:bg-[#007CAB] py-8 md:py-16 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">
@@ -124,7 +181,7 @@ export default async function Tourney({
</Link>
<a href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#007CAB] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
className={`px-4 py-2 bg-[#00A3E0] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.cs2.buyTicket")}
</button>
@@ -146,7 +203,7 @@ export default async function Tourney({
</div>
{/* LoL turniir */}
<div className="hover:bg-[#007CAB] py-8 md:py-16 border-t-[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="hidden md:block">
<div>
@@ -188,7 +245,7 @@ export default async function Tourney({
</Link>
<a href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#007CAB] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
className={`px-4 py-2 bg-[#00A3E0] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.lol.buyTicket")}
</button>
@@ -198,63 +255,6 @@ export default async function Tourney({
</div>
</div>
{/* Mini-turniirid */}
<div className="hover:bg-[#007CAB] py-8 md:py-16 border-t-[3px] border-b-[3px] border-[#1F5673] transition group">
<div className="mx-8 md:mx-16 lg:mx-32 xl:mx-48">
<div className="-skew-x-2 md:-skew-x-5 mb-8">
<h2 className={`${headingStyle}`}>
{t("tournaments.mini.title")}
</h2>
<p
className={
"text-2xl mb-4 text-neutral-500 group-hover:text-black"
}
>
{t("tournaments.mini.timing")}
</p>
<p className="text-balance">
{t("tournaments.mini.description1")}
</p>
<br />
<div className="flex flex-row flex-wrap gap-4 md:gap-8">
<Link href="/kodukord" target="_blank">
<button
className={`px-4 py-2 bg-[#1F5673] cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.mini.readRules")}
</button>
</Link>
<a href="https://fienta.com/et/tipilan" target="_blank">
<button
className={`px-4 py-2 bg-[#007CAB] group-hover:bg-black cursor-pointer ${vipnagorgialla.className} font-bold italic text-[#ECE5E5]`}
>
{t("tournaments.mini.buyTicket")}
</button>
</a>
</div>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8">
{miniTournaments.map((tournament) => (
<div key={tournament.name} className="text-center">
<div className={`border-2 border-[#007CAB] p-1 rounded-md ${tournament.bgClass || ''}`}>
<Image
src={tournament.image}
alt={tournament.name}
width={400}
height={300}
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>
);