mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-05-08 18:08:32 +00:00
Compare commits
6 Commits
landing-20
...
2026/main-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aafc2421cf | ||
|
|
e278d7bd25 | ||
|
|
c177ca1040 | ||
|
|
0b42131690 | ||
|
|
c5bff17388 | ||
|
|
403ff6adfb |
BIN
public/images/landing/student_award.webp
Normal file
BIN
public/images/landing/student_award.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -41,9 +41,6 @@ export default async function Home({
|
||||
<span className="material-symbols-outlined !text-[clamp(2rem,1.5rem+1.5vw,3.5rem)] text-[#007CAB] dark:text-[#00A3E0] dark:group-hover:text-[#EEE5E5] group-hover:text-[#EEE5E5]">
|
||||
confirmation_number
|
||||
</span>
|
||||
<p className="text-[clamp(0.875rem,0.75rem+0.5vw,1.25rem)] tracking-[-0.045rem] dark:group-hover:text-[#2A2C3F] group-hover:text-black">
|
||||
{t("home.sections.schedule.description")}
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
@@ -65,9 +62,6 @@ export default async function Home({
|
||||
<span className="material-symbols-outlined !text-[clamp(2rem,1.5rem+1.5vw,3.5rem)] text-[#007CAB] dark:text-[#00A3E0] dark:group-hover:text-[#EEE5E5] group-hover:text-[#EEE5E5]">
|
||||
trophy
|
||||
</span>
|
||||
<p className="text-[clamp(0.875rem,0.75rem+0.5vw,1.25rem)] tracking-[-0.045rem] dark:group-hover:text-[#2A2C3F] group-hover:text-black">
|
||||
{t("home.sections.tournaments.description")}
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
@@ -8,8 +8,8 @@ const workSans = Work_Sans({
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "TipiLAN 2025",
|
||||
description: "TipiLAN 2025 – Eesti suurim tudengite korraldatud LAN!",
|
||||
title: "TipiLAN 2026",
|
||||
description: "TipiLAN 2026 – Eesti suurim tudengite korraldatud LAN!",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { SiDiscord, SiInstagram, SiFacebook } from "react-icons/si";
|
||||
import Image from "next/image";
|
||||
import { useTranslations } from "next-intl";
|
||||
|
||||
// Fonts
|
||||
@@ -9,80 +8,35 @@ const Footer = () => {
|
||||
const t = useTranslations();
|
||||
|
||||
return (
|
||||
<div className="flex flex-col justify-center sm:justify-between px-6 py-8 md:px-12 md:py-16 gap-4 md:gap-8">
|
||||
<div className="flex md:items-center gap-8 md:gap-0 justify-between flex-col md:flex-row">
|
||||
<div className="flex flex-col items-start md:items-center">
|
||||
<Image
|
||||
src="/tipilan-white.svg"
|
||||
width={250}
|
||||
height={36}
|
||||
alt="TipiLAN Logo"
|
||||
className="h-9 dark:hidden"
|
||||
/>
|
||||
<Image
|
||||
src="/tipilan-dark.svg"
|
||||
width={250}
|
||||
height={36}
|
||||
alt="TipiLAN Logo"
|
||||
className="h-9 not-dark:hidden"
|
||||
/>
|
||||
</div>
|
||||
{/* Social media */}
|
||||
<div className="flex flex-row">
|
||||
<a
|
||||
href="https://discord.gg/pPhhatZAfA"
|
||||
target="_blank"
|
||||
className="mx-4 ml-0 md:ml-4"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<SiDiscord
|
||||
title="Discord"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
href="https://instagram.com/tipilan.ee"
|
||||
target="_blank"
|
||||
className="mx-4"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<SiInstagram
|
||||
title="Instagram"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
href="https://facebook.com/tipilan.ee"
|
||||
target="_blank"
|
||||
className="mx-4"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<SiFacebook
|
||||
title="Facebook"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col justify-center sm:justify-between px-6 py-6 md:px-12 md:py-8 gap-4">
|
||||
<div className="flex flex-col">
|
||||
<h2
|
||||
className={`text-3xl sm:text-4xl ${vipnagorgialla.className} font-bold italic uppercase text-[#2A2C3F] dark:text-[#EEE5E5] mt-8 mb-4`}
|
||||
className={`text-3xl sm:text-4xl ${vipnagorgialla.className} font-bold italic uppercase text-[#2A2C3F] dark:text-[#EEE5E5] mb-4`}
|
||||
>
|
||||
{t("footer.contact")}
|
||||
</h2>
|
||||
<div className="flex flex-row justify-between gap-4 items-center">
|
||||
<div className="flex flex-row justify-between gap-8 items-start">
|
||||
<div>
|
||||
<h3 className="text-xl font-bold">{t("footer.studentUnion")}</h3>
|
||||
<h3 className="text-xl font-bold">
|
||||
MTÜ Lapikud
|
||||
</h3>
|
||||
<div className="flex flex-col gap-2 mt-2">
|
||||
<p>
|
||||
{t("footer.registrationCode")}:{" "}
|
||||
<span className="font-semibold text-[#007CAB] dark:text-[#00A3E0]">
|
||||
80167145
|
||||
</span>
|
||||
</p>
|
||||
<p className="">Swedbank EE842200221094704780</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col gap-2 items-center">
|
||||
<div className="flex flex-row gap-2">
|
||||
<span className="material-symbols-outlined !font-bold text-[#007CAB] dark:text-[#00A3E0]">
|
||||
mail
|
||||
</span>
|
||||
<a href="mailto:tipilan@ituk.ee" className="underline">
|
||||
tipilan@ituk.ee
|
||||
<a href="mailto:tipilaninfo@gmail.com" className="underline">
|
||||
tipilaninfo@gmail.com
|
||||
</a>
|
||||
</div>
|
||||
<div className="flex flex-row gap-2">
|
||||
@@ -94,37 +48,42 @@ const Footer = () => {
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<h3 className="text-xl font-bold pt-4">
|
||||
{t("footer.organization")}
|
||||
</h3>
|
||||
<div>
|
||||
<p>
|
||||
{t("footer.registrationCode")}:{" "}
|
||||
<span className="font-semibold text-[#007CAB] dark:text-[#00A3E0]">
|
||||
80391807
|
||||
</span>
|
||||
</p>
|
||||
<p className="">ICO-210, Raja tn 4c, Tallinn, Harjumaa, 12616</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="block align-middle text-center pt-16">
|
||||
{t("footer.madeBy")}{" "}
|
||||
{/* Social media */}
|
||||
<div className="flex flex-row gap-4">
|
||||
<a
|
||||
href="https://discord.gg/pPhhatZAfA"
|
||||
target="_blank"
|
||||
href="https://lapikud.ee/"
|
||||
className="text-[#E3983E] font-bold"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
MTÜ Lapikud
|
||||
</a>{" "}
|
||||
{t("footer.withHelpFrom")}{" "}
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://ituk.ee/"
|
||||
className="bg-[#7B1642] font-bold not-dark:text-white"
|
||||
>
|
||||
MTÜ For Tsükkel/ITÜK
|
||||
<SiDiscord
|
||||
title="Discord"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
href="https://instagram.com/tipilan.ee"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<SiInstagram
|
||||
title="Instagram"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
href="https://facebook.com/tipilan.ee"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<SiFacebook
|
||||
title="Facebook"
|
||||
size={"2em"}
|
||||
className="text-[#2A2C3F] dark:text-[#EEE5E5] hover:text-[#007CAB] hover:dark:text-[#00A3E0] transition"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -56,16 +56,16 @@ export default function HeroSection() {
|
||||
10 000€
|
||||
</h2>
|
||||
</div>
|
||||
<div className="flex flex-col items-start md:items-end gap-2 mt-2">
|
||||
<div className="flex flex-row items-center md:items-center gap-0 mt-2">
|
||||
<Image
|
||||
src="/images/landing/student_award.png"
|
||||
src="/images/landing/student_award.webp"
|
||||
width={180}
|
||||
height={180}
|
||||
alt="TalTech student award"
|
||||
className="object-contain"
|
||||
/>
|
||||
<p className={`text-[32px] leading-none tracking-normal uppercase text-right text-[#EEE5E5] ${vipnagorgialla.className} font-bold italic`}>
|
||||
{t("hero.award")}
|
||||
<p className={`text-[32px] leading-none tracking-normal uppercase text-right align-middle text-[#EEE5E5] ${vipnagorgialla.className} font-bold italic`}>
|
||||
{t("hero.awardPrefix")} <span className="text-[#00A3E0]">{t("hero.awardHighlight")}</span> {t("hero.awardSuffix")}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,39 @@
|
||||
"use client";
|
||||
|
||||
import { useState, useEffect, useCallback } from "react";
|
||||
import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import { useTranslations } from "next-intl";
|
||||
import Image from "next/image";
|
||||
import NextLink from "next/link";
|
||||
|
||||
interface Sponsor {
|
||||
href: string;
|
||||
src: string;
|
||||
alt: string;
|
||||
width: number;
|
||||
height: number;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const sponsors: Sponsor[] = [
|
||||
{ href: "https://taltech.ee", src: "/sponsors/taltech-color.png", alt: "Taltech (Tallinna Tehnikaülikool)", width: 192, height: 192 },
|
||||
{ href: "https://www.redbull.com/ee-et/", src: "/sponsors/redbull.png", alt: "Redbull", width: 80, height: 80 },
|
||||
{ href: "https://www.simracing.ee/", src: "/sponsors/EVAL.png", alt: "EVAL", width: 200, height: 200 },
|
||||
{ href: "https://www.facebook.com/bfglOfficial", src: "/sponsors/BFGL.png", alt: "BFGL", width: 192, height: 192 },
|
||||
{ href: "https://www.tomorrow.ee/", src: "/sponsors/nt.png", alt: "Network Tomorrow", width: 300, height: 200 },
|
||||
{ href: "https://k-space.ee/", src: "/sponsors/k-space_ee-white.png", alt: "K-Space", width: 200, height: 200, className: "not-dark:invert" },
|
||||
{ href: "https://globalproductions.ee/", src: "/sponsors/Global-productions.png", alt: "Global Productions", width: 200, height: 200 },
|
||||
{ href: "https://www.linkedin.com/company/gamedev-guild/", src: "/sponsors/estonian_gamedev_guild.png", alt: "Estonian Gamedev Guild", width: 200, height: 200, className: "not-dark:invert" },
|
||||
{ href: "https://alzgamer.ee/", src: "/sponsors/alzgamer.png", alt: "AlzGamer", width: 200, height: 200 },
|
||||
];
|
||||
|
||||
// Split sponsors into slides (6 per slide)
|
||||
const SPONSORS_PER_SLIDE = 6;
|
||||
const slides: Sponsor[][] = [];
|
||||
for (let i = 0; i < sponsors.length; i += SPONSORS_PER_SLIDE) {
|
||||
slides.push(sponsors.slice(i, i + SPONSORS_PER_SLIDE));
|
||||
}
|
||||
|
||||
interface SponsorsProps {
|
||||
showTitle?: boolean;
|
||||
className?: string;
|
||||
@@ -13,190 +44,64 @@ export default function Sponsors({
|
||||
className = "",
|
||||
}: SponsorsProps) {
|
||||
const t = useTranslations();
|
||||
const [current, setCurrent] = useState(0);
|
||||
|
||||
const next = useCallback(() => setCurrent((c) => (c + 1) % slides.length), []);
|
||||
|
||||
useEffect(() => {
|
||||
const id = setInterval(next, 5000);
|
||||
return () => clearInterval(id);
|
||||
}, [next]);
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`p-12 flex flex-col ${vipnagorgialla.className} font-bold italic border-b-3 border-[#1F5673] ${className}`}
|
||||
className={`flex flex-col max-w-[1920px] h-[414px] mx-auto ${vipnagorgialla.className} font-bold italic border-b-3 border-[#1F5673] ${className}`}
|
||||
>
|
||||
<div className="text-left flex flex-col justify-between xl:justify-start">
|
||||
{showTitle && (
|
||||
<h3 className="text-4xl md:text-5xl dark:text-[#EEE5E5] text-[#2A2C3F] group-hover:text-black pb-8">
|
||||
<h3 className="text-4xl md:text-5xl dark:text-[#EEE5E5] text-[#2A2C3F] px-12 pt-8 pb-4">
|
||||
{t("home.sections.poweredBy")}
|
||||
</h3>
|
||||
)}
|
||||
<div className="flex flex-col sm:flex-row flex-wrap gap-8 md:gap-18 items-center justify-center xl:justify-start">
|
||||
<NextLink href="https://taltech.ee" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/taltech-color.png"
|
||||
alt="Taltech (Tallinna Tehnikaülikool)"
|
||||
width={192}
|
||||
height={192}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.redbull.com/ee-et/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/redbull.png"
|
||||
alt="Redbull"
|
||||
width={80}
|
||||
height={80}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.alecoq.ee" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/alecoq.svg"
|
||||
alt="Alecoq"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.simracing.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/EVAL.png"
|
||||
alt="EVAL"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://balsnack.ee" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/balsnack.svg"
|
||||
alt="Balsnack"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href="https://www.rara.ee/sundmused/interaktiivne-videomangude-muuseum-lvlup/"
|
||||
target="_blank"
|
||||
|
||||
{/* Carousel container */}
|
||||
<div className="relative flex-1 overflow-hidden">
|
||||
<div
|
||||
className="flex h-full transition-transform duration-500 ease-in-out"
|
||||
style={{ transform: `translateX(-${current * 100}%)` }}
|
||||
>
|
||||
<Image
|
||||
src="/sponsors/lvlup_logo_export.svg"
|
||||
alt="LVLup!"
|
||||
width={192}
|
||||
height={192}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href="https://www.facebook.com/bfglOfficial"
|
||||
target="_blank"
|
||||
{slides.map((slideSponsors, slideIndex) => (
|
||||
<div
|
||||
key={slideIndex}
|
||||
className="flex-none w-full h-full flex items-center justify-center gap-8 md:gap-12 px-12"
|
||||
>
|
||||
{slideSponsors.map((sponsor, i) => (
|
||||
<NextLink key={i} href={sponsor.href} target="_blank">
|
||||
<Image
|
||||
src="/sponsors/BFGL.png"
|
||||
alt="BFGL"
|
||||
width={192}
|
||||
height={192}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.tallinn.ee/et/haridus" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/Tallinna_Haridusamet_logo_RGB.svg"
|
||||
alt="Tallinna Haridusamet"
|
||||
width={292}
|
||||
height={292}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.militaarseiklus.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/militaarseiklus.png"
|
||||
alt="Militaarseiklus"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink
|
||||
href="https://www.linkedin.com/company/gamedev-guild/"
|
||||
target="_blank"
|
||||
>
|
||||
<Image
|
||||
src="/sponsors/estonian_gamedev_guild.png"
|
||||
alt="Estonian Gamedev Guild"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain not-dark:invert"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://thotell.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/thotell.png"
|
||||
alt="Tahentorni Hotell (Tähentorni Hotel)"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.dominos.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/dominos.png"
|
||||
alt="Domino's Pizza"
|
||||
width={250}
|
||||
height={250}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://www.tomorrow.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/nt.png"
|
||||
alt="Network Tomorrow"
|
||||
width={300}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://driftikeskus.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/driftikeskus.png"
|
||||
alt="Driftikeskus"
|
||||
width={300}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://ingame.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/ingame.png"
|
||||
alt="Ingame"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://alzgamer.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/alzgamer.png"
|
||||
alt="AlzGamer"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://k-space.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/k-space_ee-white.png"
|
||||
alt="K-Space"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain not-dark:invert"
|
||||
/>
|
||||
</NextLink>
|
||||
<NextLink href="https://globalproductions.ee/" target="_blank">
|
||||
<Image
|
||||
src="/sponsors/Global-productions.png"
|
||||
alt="Global Productions"
|
||||
width={200}
|
||||
height={200}
|
||||
className="object-contain"
|
||||
src={sponsor.src}
|
||||
alt={sponsor.alt}
|
||||
width={sponsor.width}
|
||||
height={sponsor.height}
|
||||
className={`object-contain max-h-[180px] ${sponsor.className || ""}`}
|
||||
/>
|
||||
</NextLink>
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Navigation dots */}
|
||||
<div className="flex justify-center gap-3 py-4">
|
||||
{slides.map((_, i) => (
|
||||
<button
|
||||
key={i}
|
||||
onClick={() => setCurrent(i)}
|
||||
className={`w-3 h-3 rounded-full transition ${
|
||||
i === current ? "bg-[#007CAB]" : "bg-[#1F5673] hover:bg-[#007CAB]/60"
|
||||
}`}
|
||||
aria-label={`Slide ${i + 1}`}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -16,6 +16,23 @@ type Slide = {
|
||||
fullBrightness?: boolean;
|
||||
};
|
||||
|
||||
// Helper to highlight "LAN" in "TIPILAN" with blue color
|
||||
function highlightLAN(text: string) {
|
||||
const parts = text.split(/(TIPILAN\w*)/gi);
|
||||
return parts.map((part, i) => {
|
||||
const upper = part.toUpperCase();
|
||||
if (upper.startsWith("TIPILAN")) {
|
||||
const suffix = part.slice(7); // Everything after "TIPILAN"
|
||||
return (
|
||||
<span key={i}>
|
||||
TIPI<span className="text-[#00A3E0]">LAN</span>{suffix.toUpperCase()}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
return part;
|
||||
});
|
||||
}
|
||||
|
||||
const slides: Slide[] = [
|
||||
{ key: "compete", image: "/images/landing/compete_teaser.jpg", imageAlt: "Võistle", hero: "/images/landing/compete_hero.png", href: "/turniirid" },
|
||||
{ key: "play", image: "/images/landing/play_teaser.png", imageAlt: "Mängi", hero: "/images/landing/play_hero.png", href: "/piletid", flip: true, fullBrightness: true },
|
||||
@@ -59,11 +76,13 @@ export default function TeaserCarousel() {
|
||||
|
||||
{/* Content */}
|
||||
<div className={`relative grid grid-cols-1 md:grid-cols-2 h-full ${slide.flip ? "md:[direction:rtl]" : ""}`}>
|
||||
<div className={`flex flex-col justify-between gap-4 px-8 py-8 md:px-12 md:py-10 ${slide.flip ? "md:[direction:ltr]" : ""}`}>
|
||||
<div className="flex flex-col gap-3">
|
||||
<div className={`flex flex-col justify-between px-8 py-8 md:px-12 md:py-10 ${slide.flip ? "md:[direction:ltr]" : ""}`}>
|
||||
{/* Heading at top */}
|
||||
<h2 className={`${vipnagorgialla.className} font-bold italic text-[64px] leading-none tracking-normal uppercase text-[#EEE5E5]`}>
|
||||
{t("heading")}
|
||||
{highlightLAN(t("heading"))}
|
||||
</h2>
|
||||
{/* Title + description at bottom */}
|
||||
<div className="flex flex-col gap-3 pb-16">
|
||||
<Link href={slide.href}>
|
||||
<h3 className={`${vipnagorgialla.className} font-bold italic text-[clamp(2.5rem,2rem+2.5vw,5rem)] leading-none text-[#EEE5E5] hover:text-[#00A3E0] transition`}>
|
||||
{title}
|
||||
|
||||
@@ -44,7 +44,9 @@
|
||||
"location": "TALTECH, EHITAJATE TEE 5",
|
||||
"buyTicket": "BUY TICKETS",
|
||||
"prizePool": "PRIZE POOL",
|
||||
"award": "TALTECH STUDENT ACT OF THE YEAR 2025"
|
||||
"awardPrefix": "TALTECH",
|
||||
"awardHighlight": "STUDENT ACT OF THE YEAR",
|
||||
"awardSuffix": "2025"
|
||||
},
|
||||
"teaser": {
|
||||
"heading": "COME TO TIPILAN AND...",
|
||||
|
||||
@@ -44,7 +44,9 @@
|
||||
"location": "TALTECH, EHITAJATE TEE 5",
|
||||
"buyTicket": "OSTA PILET",
|
||||
"prizePool": "AUHINNAFOND",
|
||||
"award": "TALTECHI AASTA TUDENGITEGU 2025"
|
||||
"awardPrefix": "TALTECHI",
|
||||
"awardHighlight": "AASTA TUDENGITEGU",
|
||||
"awardSuffix": "2025"
|
||||
},
|
||||
"teaser": {
|
||||
"heading": "TULE TIPILANILE JA...",
|
||||
|
||||
Reference in New Issue
Block a user