mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-08-08 17:49:13 +00:00
Tons of fixes to every page
This commit is contained in:
@@ -28,9 +28,11 @@ export default async function LocaleLayout({
|
||||
enableSystem
|
||||
disableTransitionOnChange
|
||||
>
|
||||
<SidebarParent />
|
||||
{children}
|
||||
<Footer />
|
||||
<div className="min-h-screen flex flex-col">
|
||||
<SidebarParent />
|
||||
<main className="flex-1 flex flex-col">{children}</main>
|
||||
<Footer />
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
</NextIntlClientProvider>
|
||||
</div>
|
||||
|
||||
@@ -17,12 +17,12 @@ export default async function Home({
|
||||
return (
|
||||
<div>
|
||||
{/* Hero */}
|
||||
<div className="mt-18">
|
||||
<div className="mt-16">
|
||||
<HeroSection />
|
||||
</div>
|
||||
|
||||
{/* Nav cards: Piletid + Turniirid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 md:h-[260px] border-b-3 border-[#1F5673]">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 md:h-65 border-b-3 border-[#1F5673]">
|
||||
<Link
|
||||
href="/piletid"
|
||||
className="px-8 md:px-12 py-8 flex flex-col justify-center gap-4 border-b-3 md:border-b-0 md:border-r-3 group border-[#1F5673] hover:bg-[#007CAB] dark:hover:bg-[#00A3E0] transition"
|
||||
@@ -71,7 +71,6 @@ export default async function Home({
|
||||
|
||||
{/* Sponsors */}
|
||||
<Sponsors />
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ interface TicketCardProps {
|
||||
buttonHref: string;
|
||||
backgroundImage?: string;
|
||||
backgroundOpacity?: number;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
function TicketCard({
|
||||
@@ -23,9 +24,12 @@ function TicketCard({
|
||||
buttonHref,
|
||||
backgroundImage,
|
||||
backgroundOpacity = 40,
|
||||
className = "",
|
||||
}: TicketCardProps) {
|
||||
return (
|
||||
<div className="relative bg-[#0E0F19] border-r border-[#1F5673] p-8 flex flex-col min-h-[350px]">
|
||||
<div
|
||||
className={`relative bg-[#0E0F19] border-[#1F5673] p-8 flex flex-col min-h-87.5 h-full ${className}`}
|
||||
>
|
||||
{backgroundImage && (
|
||||
<Image
|
||||
src={backgroundImage}
|
||||
@@ -51,13 +55,13 @@ function TicketCard({
|
||||
>
|
||||
{price}
|
||||
</p>
|
||||
<ul className="flex flex-col gap-1 mb-6 flex-grow">
|
||||
<ul className="flex flex-col gap-1 mb-6 grow">
|
||||
{features.map((feature, index) => (
|
||||
<li
|
||||
key={index}
|
||||
className="flex items-start gap-2 text-[#EEE5E5] text-sm"
|
||||
className="flex items-start gap-2 text-[#EEE5E5] text-base"
|
||||
>
|
||||
<span className="w-1 h-full min-h-[1.25rem] bg-[#00A3E0] flex-shrink-0" />
|
||||
<span className="w-1 h-full min-h-5 bg-[#00A3E0] shrink-0" />
|
||||
<span>{feature}</span>
|
||||
</li>
|
||||
))}
|
||||
@@ -84,53 +88,59 @@ export default async function Tickets({
|
||||
const t = await getTranslations({ locale });
|
||||
|
||||
return (
|
||||
<div className="bg-[#0E0F19]">
|
||||
<div className="bg-[#0E0F19] min-h-0 flex flex-col flex-1">
|
||||
{/* 2x2 Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 pt-16 md:pt-20">
|
||||
{/* KÜLASTAJA PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.visitor.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.visitor.price")}
|
||||
features={t.raw("tickets.visitor.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/visitor_tournament.jpg"
|
||||
/>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 md:grid-rows-2 auto-rows-fr pt-14 flex-1 min-h-0">
|
||||
{/* KÜLASTAJA PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.visitor.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.visitor.price")}
|
||||
features={t.raw("tickets.visitor.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/visitor_tournament.jpg"
|
||||
backgroundOpacity={30}
|
||||
className="border-b-[3px] md:border-b-[3px] md:border-r-[3px]"
|
||||
/>
|
||||
|
||||
{/* TOETAJA PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.supporter.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.supporter.price")}
|
||||
features={t.raw("tickets.supporter.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/explore_teaser.png"
|
||||
/>
|
||||
{/* TOETAJA PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.supporter.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.supporter.price")}
|
||||
features={t.raw("tickets.supporter.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/explore_teaser.png"
|
||||
backgroundOpacity={80}
|
||||
className="border-b-[3px]"
|
||||
/>
|
||||
|
||||
{/* LOL TURNIIRI PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.lol.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.lol.price")}
|
||||
features={t.raw("tickets.lol.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/league_ticket.jpg"
|
||||
/>
|
||||
{/* LOL TURNIIRI PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.lol.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.lol.price")}
|
||||
features={t.raw("tickets.lol.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/league_ticket.jpg"
|
||||
className="border-b-[3px] md:border-b-0 md:border-r-[3px]"
|
||||
/>
|
||||
|
||||
{/* CS2 TURNIIRI PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.cs2.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.cs2.price")}
|
||||
features={t.raw("tickets.cs2.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/compete_teaser.jpg"
|
||||
backgroundOpacity={30}
|
||||
/>
|
||||
{/* CS2 TURNIIRI PILET */}
|
||||
<TicketCard
|
||||
title={t("tickets.cs2.name")}
|
||||
subtitle={t("tickets.subtitle")}
|
||||
price={t("tickets.cs2.price")}
|
||||
features={t.raw("tickets.cs2.features")}
|
||||
buttonText={t("tickets.buyButton")}
|
||||
buttonHref="https://fienta.com/et/tipilan"
|
||||
backgroundImage="/images/landing/compete_teaser.jpg"
|
||||
backgroundOpacity={30}
|
||||
className="border-b-0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import CS2Sidebar from "@/components/CS2Sidebar";
|
||||
import CS2Rules from "@/components/CS2Rules";
|
||||
import RuleNav from "@/components/RuleNav";
|
||||
import RulesContent from "@/components/RulesContent";
|
||||
import Link from "next/link";
|
||||
import { getTranslations, setRequestLocale } from "next-intl/server";
|
||||
|
||||
@@ -30,7 +30,7 @@ export default async function CS2Tournament({
|
||||
|
||||
return (
|
||||
<div className="bg-[#0E0F19] min-h-screen pt-16 md:pt-20">
|
||||
<div className="max-w-[1920px] mx-auto px-6 md:px-12 py-8 md:py-16">
|
||||
<div className="max-w-480 mx-auto px-6 md:px-12 py-8 md:py-16">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-[1fr_300px] gap-8 lg:gap-16">
|
||||
{/* Main content */}
|
||||
<div>
|
||||
@@ -60,7 +60,7 @@ export default async function CS2Tournament({
|
||||
</div>
|
||||
|
||||
{/* SISSEJUHATUS */}
|
||||
<section id="intro" className="mb-12">
|
||||
<section id="intro" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -84,7 +84,7 @@ export default async function CS2Tournament({
|
||||
</section>
|
||||
|
||||
{/* ÜLDINE INFO */}
|
||||
<section id="info" className="mb-12">
|
||||
<section id="info" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -96,7 +96,7 @@ export default async function CS2Tournament({
|
||||
</section>
|
||||
|
||||
{/* AUHINNAFOND */}
|
||||
<section id="prizes" className="mb-12">
|
||||
<section id="prizes" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -109,9 +109,18 @@ export default async function CS2Tournament({
|
||||
{t("cs2page.prizes.mainTitle")}
|
||||
</h3>
|
||||
<ul className="text-[#EEE5E5]/80 mb-2">
|
||||
<li>1. koht - 3000€, 600€ inimese kohta, 50% ehk 1/2 auhinnafondist.</li>
|
||||
<li>2. koht - 2000€, 400€ inimese kohta, 33.3...(3)% ehk 1/3 auhinnafondist.</li>
|
||||
<li>3. koht - 1000€, 200€ inimese kohta, 16.6...(6)% ehk 1/6 auhinnafondist.</li>
|
||||
<li>
|
||||
1. koht - 3000€, 600€ inimese kohta, 50% ehk 1/2
|
||||
auhinnafondist.
|
||||
</li>
|
||||
<li>
|
||||
2. koht - 2000€, 400€ inimese kohta, 33.3...(3)% ehk 1/3
|
||||
auhinnafondist.
|
||||
</li>
|
||||
<li>
|
||||
3. koht - 1000€, 200€ inimese kohta, 16.6...(6)% ehk 1/6
|
||||
auhinnafondist.
|
||||
</li>
|
||||
</ul>
|
||||
<p className="text-[#EEE5E5]/60 text-sm mb-6">
|
||||
{t("cs2page.prizes.mainNote")}
|
||||
@@ -123,8 +132,14 @@ export default async function CS2Tournament({
|
||||
{t("cs2page.prizes.secondTitle")}
|
||||
</h3>
|
||||
<ul className="text-[#EEE5E5]/80 mb-2">
|
||||
<li>1. koht - 500€, 100€ inimese kohta, 66.6...(6)% ehk 2/3 auhinnafondist.</li>
|
||||
<li>2. koht - 250€, 50€ inimese kohta, 33.3...(3)% ehk 1/3 auhinnafondist.</li>
|
||||
<li>
|
||||
1. koht - 500€, 100€ inimese kohta, 66.6...(6)% ehk 2/3
|
||||
auhinnafondist.
|
||||
</li>
|
||||
<li>
|
||||
2. koht - 250€, 50€ inimese kohta, 33.3...(3)% ehk 1/3
|
||||
auhinnafondist.
|
||||
</li>
|
||||
</ul>
|
||||
<p className="text-[#EEE5E5]/60 text-sm">
|
||||
{t("cs2page.prizes.secondNote")}
|
||||
@@ -132,7 +147,7 @@ export default async function CS2Tournament({
|
||||
</section>
|
||||
|
||||
{/* TURNIIRI FORMAAT */}
|
||||
<section id="format" className="mb-12">
|
||||
<section id="format" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -141,16 +156,12 @@ export default async function CS2Tournament({
|
||||
<p className="text-[#EEE5E5]/80 mb-4">
|
||||
{t("cs2page.format.description")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.format.day1")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("cs2page.format.day23")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">{t("cs2page.format.day1")}</p>
|
||||
<p className="text-[#EEE5E5]/80">{t("cs2page.format.day23")}</p>
|
||||
</section>
|
||||
|
||||
{/* VRS INFO */}
|
||||
<section id="vrs" className="mb-12">
|
||||
<section id="vrs" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -183,7 +194,7 @@ export default async function CS2Tournament({
|
||||
*/}
|
||||
|
||||
{/* REEGLID */}
|
||||
<section id="rules" className="mb-12">
|
||||
<section id="rules" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -193,12 +204,18 @@ export default async function CS2Tournament({
|
||||
{t("cs2page.rules.description")}
|
||||
</p>
|
||||
|
||||
<CS2Rules sections={t.raw("cs2page.rules.sections")} />
|
||||
<RulesContent sections={t.raw("cs2page.rules.sections")} />
|
||||
|
||||
<div className="mt-8">
|
||||
<p className="text-[#EEE5E5]/80 mb-2">{t("cs2page.rules.contact")}</p>
|
||||
<p className="text-[#00A3E0] font-bold">{t("cs2page.rules.contactName")}</p>
|
||||
<p className="text-[#EEE5E5]/70">{t("cs2page.rules.contactRole")}</p>
|
||||
<p className="text-[#EEE5E5]/80 mb-2">
|
||||
{t("cs2page.rules.contact")}
|
||||
</p>
|
||||
<p className="text-[#00A3E0] font-bold">
|
||||
{t("cs2page.rules.contactName")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/70">
|
||||
{t("cs2page.rules.contactRole")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/70">
|
||||
Discord:{" "}
|
||||
<a
|
||||
@@ -214,7 +231,7 @@ export default async function CS2Tournament({
|
||||
</div>
|
||||
|
||||
{/* Sidebar navigation */}
|
||||
<CS2Sidebar sections={sections} />
|
||||
<RuleNav sections={sections} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import CS2Sidebar from "@/components/CS2Sidebar";
|
||||
import CS2Rules from "@/components/CS2Rules";
|
||||
import RuleNav from "@/components/RuleNav";
|
||||
import RulesContent from "@/components/RulesContent";
|
||||
import Link from "next/link";
|
||||
import { getTranslations, setRequestLocale } from "next-intl/server";
|
||||
|
||||
@@ -52,7 +52,7 @@ export default async function LoLTournament({
|
||||
</div>
|
||||
|
||||
{/* SISSEJUHATUS */}
|
||||
<section id="intro" className="mb-12">
|
||||
<section id="intro" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -76,7 +76,7 @@ export default async function LoLTournament({
|
||||
</section>
|
||||
|
||||
{/* ÜLDINE INFO */}
|
||||
<section id="info" className="mb-12">
|
||||
<section id="info" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -88,7 +88,7 @@ export default async function LoLTournament({
|
||||
</section>
|
||||
|
||||
{/* AUHINNAFOND */}
|
||||
<section id="prizes" className="mb-12">
|
||||
<section id="prizes" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -111,7 +111,7 @@ export default async function LoLTournament({
|
||||
</section>
|
||||
|
||||
{/* TURNIIRI FORMAAT */}
|
||||
<section id="format" className="mb-12">
|
||||
<section id="format" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -120,12 +120,8 @@ export default async function LoLTournament({
|
||||
<p className="text-[#EEE5E5]/80 mb-4">
|
||||
{t("lolpage.format.description")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("lolpage.format.day1")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">
|
||||
{t("lolpage.format.day2")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/80">{t("lolpage.format.day1")}</p>
|
||||
<p className="text-[#EEE5E5]/80">{t("lolpage.format.day2")}</p>
|
||||
</section>
|
||||
|
||||
{/* FAQ - commented out until content is ready
|
||||
@@ -147,7 +143,7 @@ export default async function LoLTournament({
|
||||
*/}
|
||||
|
||||
{/* REEGLID */}
|
||||
<section id="rules" className="mb-12">
|
||||
<section id="rules" className="mb-12 scroll-mt-24 md:scroll-mt-28">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-2xl md:text-3xl text-[#EEE5E5] uppercase mb-4`}
|
||||
>
|
||||
@@ -157,12 +153,18 @@ export default async function LoLTournament({
|
||||
{t("lolpage.rules.description")}
|
||||
</p>
|
||||
|
||||
<CS2Rules sections={t.raw("lolpage.rules.sections")} />
|
||||
<RulesContent sections={t.raw("lolpage.rules.sections")} />
|
||||
|
||||
<div className="mt-8">
|
||||
<p className="text-[#EEE5E5]/80 mb-2">{t("lolpage.rules.contact")}</p>
|
||||
<p className="text-[#00A3E0] font-bold">{t("lolpage.rules.contactName")}</p>
|
||||
<p className="text-[#EEE5E5]/70">{t("lolpage.rules.contactRole")}</p>
|
||||
<p className="text-[#EEE5E5]/80 mb-2">
|
||||
{t("lolpage.rules.contact")}
|
||||
</p>
|
||||
<p className="text-[#00A3E0] font-bold">
|
||||
{t("lolpage.rules.contactName")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/70">
|
||||
{t("lolpage.rules.contactRole")}
|
||||
</p>
|
||||
<p className="text-[#EEE5E5]/70">
|
||||
Discord:{" "}
|
||||
<a
|
||||
@@ -178,7 +180,7 @@ export default async function LoLTournament({
|
||||
</div>
|
||||
|
||||
{/* Sidebar navigation */}
|
||||
<CS2Sidebar sections={sections} />
|
||||
<RuleNav sections={sections} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,46 +1,44 @@
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import { getTranslations, setRequestLocale } from "next-intl/server";
|
||||
import { setRequestLocale } from "next-intl/server";
|
||||
|
||||
interface TournamentCardProps {
|
||||
title: string;
|
||||
buttonText: string;
|
||||
buttonHref: string;
|
||||
backgroundImage: string;
|
||||
objectPosition?: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
function TournamentCard({
|
||||
title,
|
||||
buttonText,
|
||||
buttonHref,
|
||||
backgroundImage,
|
||||
objectPosition = "center",
|
||||
className = "",
|
||||
}: TournamentCardProps) {
|
||||
return (
|
||||
<div className="relative bg-[#0E0F19] border-r border-[#1F5673] flex flex-col items-center justify-center h-[818px]">
|
||||
<Link
|
||||
href={buttonHref}
|
||||
aria-label={title}
|
||||
className={`group relative bg-[#0E0F19] border-[#1F5673] flex flex-col items-center justify-center h-full min-h-87.5 transition-colors duration-200 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-[#00A3E0]/40 ${className}`}
|
||||
>
|
||||
<Image
|
||||
src={backgroundImage}
|
||||
alt=""
|
||||
fill
|
||||
className="object-cover opacity-50"
|
||||
className="object-cover opacity-50 transition-opacity duration-200 group-hover:opacity-40 group-focus-visible:opacity-40"
|
||||
style={{ objectPosition }}
|
||||
/>
|
||||
<div className="relative z-10 flex flex-col items-center text-center">
|
||||
<h2
|
||||
className={`${vipnagorgialla.className} font-bold italic text-[clamp(2rem,1.5rem+3vw,4rem)] leading-none text-[#EEE5E5] uppercase mb-4`}
|
||||
className={`${vipnagorgialla.className} font-bold italic text-[clamp(2rem,1.5rem+3vw,4rem)] leading-none text-[#EEE5E5] uppercase transition-colors duration-200 group-hover:text-[#00A3E0] group-focus-visible:text-[#00A3E0]`}
|
||||
>
|
||||
{title}
|
||||
</h2>
|
||||
<Link
|
||||
href={buttonHref}
|
||||
className={`${vipnagorgialla.className} font-bold italic text-xl text-[#00A3E0] hover:text-[#EEE5E5] uppercase transition`}
|
||||
>
|
||||
{buttonText}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -51,27 +49,25 @@ export default async function Tourney({
|
||||
}) {
|
||||
const { locale } = await params;
|
||||
setRequestLocale(locale);
|
||||
const t = await getTranslations({ locale });
|
||||
|
||||
return (
|
||||
<div className="bg-[#0E0F19]">
|
||||
<div className="bg-[#0E0F19] min-h-0 flex flex-col flex-1">
|
||||
{/* 1x2 Grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 pt-16 md:pt-20">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 auto-rows-fr pt-14 flex-1 min-h-0">
|
||||
{/* CS2 */}
|
||||
<TournamentCard
|
||||
title="COUNTER-STRIKE 2"
|
||||
buttonText={t("tournaments.clickButton")}
|
||||
buttonHref="/turniirid/cs2"
|
||||
backgroundImage="/images/landing/cs2_tournament.jpg"
|
||||
className="border-b-[3px] md:border-b-0 md:border-r-3"
|
||||
/>
|
||||
|
||||
{/* LoL */}
|
||||
<TournamentCard
|
||||
title="LEAGUE OF LEGENDS"
|
||||
buttonText={t("tournaments.clickButton")}
|
||||
buttonHref="/turniirid/lol"
|
||||
backgroundImage="/images/landing/lol_tournament.png"
|
||||
objectPosition="bottom left"
|
||||
className="border-b-0"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user