update sponsor sections and ticker
BIN
public/sponsors/Still_Frame_logo_2020_Gold_2.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
public/sponsors/academic-hostel.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
@@ -1,114 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="64"
|
||||
height="64"
|
||||
shape-rendering="crispEdges"
|
||||
id="svg51"
|
||||
sodipodi:docname="lvlup_logo.svg"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs51" />
|
||||
<sodipodi:namedview
|
||||
id="namedview51"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="10.429825"
|
||||
inkscape:cx="23.106811"
|
||||
inkscape:cy="32.455003"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="479"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg51" />
|
||||
<g
|
||||
id="g69">
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 6,18 V 30 H 16 V 28 H 10 V 18 Z"
|
||||
id="path57-0-4" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 4,16 V 28 H 14 V 26 H 8 V 16 Z"
|
||||
id="path57-9" />
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 18,18 v 8 h 2 v 2 h 2 v 2 h 2 v -2 h 2 v -2 h 2 v -8 h -4 v 8 h -2 v -8 z"
|
||||
id="path52-3" />
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 24,32 v 18 h 4 v -6 h 10 v -2 h 2 v -8 h -2 v -2 z m 4,10 v -8 h 8 v 8 z"
|
||||
id="path55-6"
|
||||
sodipodi:nodetypes="cccccccccccccccc" />
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 6,32 v 16 h 2 v 2 h 12 v -2 h 2 V 32 H 18 V 48 H 10 V 32 Z"
|
||||
id="path56-2" />
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 30,18 V 30 H 40 V 28 H 34 V 18 Z"
|
||||
id="path57-0" />
|
||||
<path
|
||||
style="fill:#ccccd1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 44,42 v -8 h 2 v -4 h 2 v -4 h 2 v -4 h 2 v -4 c 0,0 8,0 8,0 v 12 h -4 v 4 h -4 v 4 h -4 v 4 z"
|
||||
id="path59-5" />
|
||||
<rect
|
||||
x="42"
|
||||
y="44"
|
||||
width="4"
|
||||
height="6"
|
||||
fill="#e54127"
|
||||
id="rect44-8"
|
||||
style="fill:#ccccd1;fill-opacity:1" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 16,16 v 8 h 2 v 2 h 2 v 2 h 2 v -2 h 2 v -2 h 2 v -8 h -4 v 8 h -2 v -8 z"
|
||||
id="path52" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 22,30 v 18 h 4 v -6 h 10 v -2 h 2 v -8 h -2 v -2 z m 4,10 v -8 h 8 v 8 z"
|
||||
id="path55"
|
||||
sodipodi:nodetypes="cccccccccccccccc" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 4,30 v 16 h 2 v 2 h 12 v -2 h 2 V 30 H 16 V 46 H 8 V 30 Z"
|
||||
id="path56" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 28,16 V 28 H 38 V 26 H 32 V 16 Z"
|
||||
id="path57" />
|
||||
<path
|
||||
style="fill:#e54127;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 42,40 v -8 h 2 v -4 h 2 v -4 h 2 v -4 h 2 v -4 c 0,0 8,0 8,0 v 12 h -4 v 4 h -4 v 4 h -4 v 4 z"
|
||||
id="path59" />
|
||||
<rect
|
||||
x="40"
|
||||
y="42"
|
||||
width="4"
|
||||
height="6"
|
||||
fill="#e54127"
|
||||
id="rect44" />
|
||||
<path
|
||||
style="fill:none;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 28,16 V 28 H 38 V 26 H 32 V 16 Z"
|
||||
id="path53" />
|
||||
<path
|
||||
style="fill:none;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 4,30 v 16 h 2 v 2 h 12 v -2 h 2 V 30 H 16 V 46 H 8 V 30 Z"
|
||||
id="path54" />
|
||||
<path
|
||||
style="fill:none;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 26,40 v -8 h 8 v 8 z"
|
||||
id="path60" />
|
||||
</g>
|
||||
<svg preserveAspectRatio="none" overflow="visible" style="display: block;" width="148.235" height="90" viewBox="0 0 148.235 90" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="lvlup">
|
||||
<path id="path57-0-4" d="M5.29364 5.29409V37.0587H31.7642V31.7646H15.8818V5.29409H5.29364Z" fill="#CCCCD1"/>
|
||||
<path id="path57-9" d="M0 0V31.7646H26.4705V26.4705H10.5882V0H0Z" fill="#E54127"/>
|
||||
<path id="path52-3" d="M37.0581 5.29409V26.4705H42.3522V31.7646H47.6463V37.0587H52.9404V31.7646H58.2345V26.4705H63.5286V5.29409H52.9404V26.4705H47.6463V5.29409H37.0581Z" fill="#CCCCD1"/>
|
||||
<path id="path55-6" d="M52.9417 42.3527V89.9996H63.5299V74.1173H90.0004V68.8232H95.2945V47.6468H90.0004V42.3527H52.9417ZM63.5299 68.8232V47.6468H84.7063V68.8232H63.5299Z" fill="#CCCCD1"/>
|
||||
<path id="path56-2" d="M5.29364 42.3527V84.7055H10.5877V89.9996H42.3524V84.7055H47.6465V42.3527H37.0583V84.7055H15.8818V42.3527H5.29364Z" fill="#CCCCD1"/>
|
||||
<path id="path57-0" d="M68.8235 5.29409V37.0587H95.294V31.7646H79.4117V5.29409H68.8235Z" fill="#CCCCD1"/>
|
||||
<path id="path59-5" d="M105.882 68.8233V47.6469H111.177V37.0587H116.471V26.4705H121.765V15.8823H127.059V5.29409H148.235V37.0587H137.647V47.6469H127.059V58.2351H116.471V68.8233H105.882Z" fill="#CCCCD1"/>
|
||||
<path id="rect44-8" d="M111.176 74.1177H100.588V90H111.176V74.1177Z" fill="#CCCCD1"/>
|
||||
<path id="path52" d="M31.7645 0V21.1764H37.0586V26.4705H42.3527V31.7646H47.6468V26.4705H52.9409V21.1764H58.235V0H47.6468V21.1764H42.3527V0H31.7645Z" fill="#E54127"/>
|
||||
<path id="path55" d="M47.6472 37.0586V84.7055H58.2354V68.8232H84.7059V63.5291H90V42.3527H84.7059V37.0586H47.6472ZM58.2354 63.5291V42.3527H79.4118V63.5291H58.2354Z" fill="#E54127"/>
|
||||
<path id="path56" d="M0 37.0586V79.4114H5.2941V84.7055H37.0587V79.4114H42.3528V37.0586H31.7646V79.4114H10.5882V37.0586H0Z" fill="#E54127"/>
|
||||
<path id="path57" d="M63.529 0V31.7646H89.9995V26.4705H74.1172V0H63.529Z" fill="#E54127"/>
|
||||
<path id="path59" d="M100.588 63.5292V42.3528H105.882V31.7646H111.176V21.1764H116.47V10.5882H121.764V0H142.941V31.7646H132.353V42.3528H121.764V52.941H111.176V63.5292H100.588Z" fill="#E54127"/>
|
||||
<path id="rect44" d="M105.883 68.8232H95.2943V84.7055H105.883V68.8232Z" fill="#E54127"/>
|
||||
<g id="path53">
|
||||
</g>
|
||||
<g id="path54">
|
||||
</g>
|
||||
<g id="path60">
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
public/sponsors/poke-bowl.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
public/sponsors/redbull-wordmark.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 223 KiB |
BIN
public/sponsors/retro-burger.png
Normal file
|
After Width: | Height: | Size: 454 KiB |
@@ -4,6 +4,7 @@ import { vipnagorgialla } from "@/components/Vipnagorgialla";
|
||||
import { useTranslations } from "next-intl";
|
||||
import Image from "next/image";
|
||||
import NextLink from "next/link";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
|
||||
interface Sponsor {
|
||||
href: string;
|
||||
@@ -14,7 +15,7 @@ interface Sponsor {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const sponsors: Sponsor[] = [
|
||||
const highlightedSponsors: Sponsor[] = [
|
||||
{
|
||||
href: "https://taltech.ee",
|
||||
src: "/sponsors/taltech-color.png",
|
||||
@@ -24,39 +25,17 @@ const sponsors: Sponsor[] = [
|
||||
},
|
||||
{
|
||||
href: "https://www.redbull.com/ee-et/",
|
||||
src: "/sponsors/redbull.png",
|
||||
alt: "Redbull",
|
||||
width: 80,
|
||||
height: 80,
|
||||
src: "/sponsors/redbull-wordmark.png",
|
||||
alt: "Red Bull",
|
||||
width: 3509,
|
||||
height: 2480,
|
||||
},
|
||||
{
|
||||
href: "https://www.simracing.ee/",
|
||||
src: "/sponsors/EVAL.png",
|
||||
alt: "EVAL",
|
||||
width: 200,
|
||||
height: 200,
|
||||
},
|
||||
{
|
||||
href: "https://www.instagram.com/baltic_fighting_game_league/",
|
||||
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: 244,
|
||||
height: 244,
|
||||
className: "not-dark:invert",
|
||||
href: "https://www.stillframe.ee/",
|
||||
src: "/sponsors/Still_Frame_logo_2020_Gold_2.png",
|
||||
alt: "Still Frame",
|
||||
width: 1335,
|
||||
height: 1617,
|
||||
},
|
||||
{
|
||||
href: "https://globalproductions.ee/",
|
||||
@@ -65,6 +44,74 @@ const sponsors: Sponsor[] = [
|
||||
width: 244,
|
||||
height: 244,
|
||||
},
|
||||
{
|
||||
href: "https://www.tomorrow.ee/",
|
||||
src: "/sponsors/nt.png",
|
||||
alt: "Network Tomorrow",
|
||||
width: 300,
|
||||
height: 200,
|
||||
},
|
||||
{
|
||||
href: "https://arvutitark.ee/",
|
||||
src: "/sponsors/arvutitark.svg",
|
||||
alt: "Arvutitark",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
{
|
||||
href: "https://www.alecoq.ee/",
|
||||
src: "/sponsors/alecoq.svg",
|
||||
alt: "A. Le Coq",
|
||||
width: 842,
|
||||
height: 595,
|
||||
},
|
||||
{
|
||||
href: "https://www.tallinn.ee/et/haridusamet",
|
||||
src: "/sponsors/Tallinna_Haridusamet_logo_RGB.svg",
|
||||
alt: "Tallinna Haridusamet",
|
||||
width: 244,
|
||||
height: 244,
|
||||
},
|
||||
{
|
||||
href: "https://balsnack.ee/",
|
||||
src: "/sponsors/balsnack.svg",
|
||||
alt: "Balsnack",
|
||||
width: 123,
|
||||
height: 48,
|
||||
},
|
||||
{
|
||||
href: "https://www.teamspeak.com/",
|
||||
src: "/sponsors/TS_InLine_BlueLight.svg",
|
||||
alt: "TeamSpeak",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
];
|
||||
|
||||
const sponsors: Sponsor[] = [
|
||||
// Gaming and technology
|
||||
{
|
||||
href: "https://k-space.ee/",
|
||||
src: "/sponsors/k-space_ee-white.png",
|
||||
alt: "K-Space",
|
||||
width: 244,
|
||||
height: 244,
|
||||
className: "not-dark:invert",
|
||||
},
|
||||
{
|
||||
href: "https://www.instagram.com/baltic_fighting_game_league/",
|
||||
src: "/sponsors/BFGL.png",
|
||||
alt: "BFGL",
|
||||
width: 192,
|
||||
height: 192,
|
||||
},
|
||||
{
|
||||
href: "https://www.simracing.ee/",
|
||||
src: "/sponsors/EVAL.png",
|
||||
alt: "EVAL",
|
||||
width: 200,
|
||||
height: 200,
|
||||
},
|
||||
{
|
||||
href: "https://www.linkedin.com/company/gamedev-guild/",
|
||||
src: "/sponsors/estonian_gamedev_guild.png",
|
||||
@@ -73,6 +120,20 @@ const sponsors: Sponsor[] = [
|
||||
height: 244,
|
||||
className: "not-dark:invert",
|
||||
},
|
||||
{
|
||||
href: "https://www.egda.ee/",
|
||||
src: "/sponsors/EGDA.png",
|
||||
alt: "Estonian Game Developers Association",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
{
|
||||
href: "https://www.rara.ee/en/events/interactive-video-game-museum-lvlup/",
|
||||
src: "/sponsors/lvlup_logo_export.svg",
|
||||
alt: "LVLup! video games museum",
|
||||
width: 148,
|
||||
height: 90,
|
||||
},
|
||||
{
|
||||
href: "https://alzgamer.ee/",
|
||||
src: "/sponsors/alzgamer.png",
|
||||
@@ -88,12 +149,21 @@ const sponsors: Sponsor[] = [
|
||||
height: 164,
|
||||
},
|
||||
{
|
||||
href: "https://www.tallinn.ee/et/haridusamet",
|
||||
src: "/sponsors/Tallinna_Haridusamet_logo_RGB.svg",
|
||||
alt: "Tallinna Haridusamet",
|
||||
href: "https://2fast.ee/",
|
||||
src: "/sponsors/2fast.png",
|
||||
alt: "2FAST",
|
||||
width: 244,
|
||||
height: 244,
|
||||
},
|
||||
|
||||
// Activities and culture
|
||||
{
|
||||
href: "https://www.elamusgolf.eu/",
|
||||
src: "/sponsors/elamusgolf.png",
|
||||
alt: "Elamusgolf",
|
||||
width: 164,
|
||||
height: 164,
|
||||
},
|
||||
{
|
||||
href: "https://parkminigolf.ee/",
|
||||
src: "/sponsors/park_minigolf.png",
|
||||
@@ -108,34 +178,6 @@ const sponsors: Sponsor[] = [
|
||||
width: 144,
|
||||
height: 144,
|
||||
},
|
||||
{
|
||||
href: "https://www.elamusgolf.eu/",
|
||||
src: "/sponsors/elamusgolf.png",
|
||||
alt: "Elamusgolf",
|
||||
width: 164,
|
||||
height: 164,
|
||||
},
|
||||
{
|
||||
href: "https://www.egda.ee/",
|
||||
src: "/sponsors/EGDA.png",
|
||||
alt: "Estonian Game Developers Association",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
{
|
||||
href: "https://www.teamspeak.com/",
|
||||
src: "/sponsors/TS_InLine_BlueLight.svg",
|
||||
alt: "TeamSpeak",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
{
|
||||
href: "https://arvutitark.ee/",
|
||||
src: "/sponsors/arvutitark.svg",
|
||||
alt: "Arvutitark",
|
||||
width: 344,
|
||||
height: 344,
|
||||
},
|
||||
{
|
||||
href: "https://www.kino.ee/",
|
||||
src: "/sponsors/Artis_logo_white_text.png",
|
||||
@@ -150,12 +192,30 @@ const sponsors: Sponsor[] = [
|
||||
width: 200,
|
||||
height: 244,
|
||||
},
|
||||
|
||||
// Accommodation
|
||||
{
|
||||
href: "https://2fast.ee/",
|
||||
src: "/sponsors/2fast.png",
|
||||
alt: "2FAST",
|
||||
width: 244,
|
||||
height: 244,
|
||||
href: "https://www.academichostel.com/en/",
|
||||
src: "/sponsors/academic-hostel.png",
|
||||
alt: "Academic Hostel",
|
||||
width: 524,
|
||||
height: 338,
|
||||
},
|
||||
|
||||
// Food and drink
|
||||
{
|
||||
href: "https://retroburger.ee/",
|
||||
src: "/sponsors/retro-burger.png",
|
||||
alt: "Retro Burger",
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
},
|
||||
{
|
||||
href: "https://pokebowl.ee/",
|
||||
src: "/sponsors/poke-bowl.png",
|
||||
alt: "Poké Bowl",
|
||||
width: 685,
|
||||
height: 432,
|
||||
},
|
||||
{
|
||||
href: "",
|
||||
@@ -173,24 +233,92 @@ interface SponsorsProps {
|
||||
|
||||
const tickerSponsors = [...sponsors, ...sponsors, ...sponsors, ...sponsors];
|
||||
|
||||
interface FeaturedSponsorProps {
|
||||
sponsor: Sponsor;
|
||||
}
|
||||
|
||||
function FeaturedSponsor({ sponsor }: FeaturedSponsorProps) {
|
||||
return (
|
||||
<NextLink
|
||||
href={sponsor.href}
|
||||
target="_blank"
|
||||
className="relative flex h-[80px] w-[120px] shrink-0 items-center justify-center sm:h-[110px] sm:w-[150px] md:h-[130px] md:w-[180px] lg:aspect-square lg:h-auto lg:w-full lg:max-w-48"
|
||||
>
|
||||
<Image
|
||||
src={sponsor.src}
|
||||
alt={sponsor.alt}
|
||||
fill
|
||||
sizes="(min-width: 1280px) 192px, (min-width: 1024px) 160px, (min-width: 768px) 180px, (min-width: 640px) 150px, 120px"
|
||||
className={`object-contain ${sponsor.className || ""}`}
|
||||
/>
|
||||
</NextLink>
|
||||
);
|
||||
}
|
||||
|
||||
export default function Sponsors({
|
||||
showTitle = true,
|
||||
className = "",
|
||||
}: SponsorsProps) {
|
||||
const t = useTranslations();
|
||||
const [isTickerPaused, setIsTickerPaused] = useState(false);
|
||||
const pauseTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
||||
|
||||
const clearPauseTimer = () => {
|
||||
if (pauseTimerRef.current) {
|
||||
clearTimeout(pauseTimerRef.current);
|
||||
pauseTimerRef.current = null;
|
||||
}
|
||||
};
|
||||
|
||||
const handleTickerMouseEnter = () => {
|
||||
clearPauseTimer();
|
||||
pauseTimerRef.current = setTimeout(() => {
|
||||
setIsTickerPaused(true);
|
||||
pauseTimerRef.current = null;
|
||||
}, 100);
|
||||
};
|
||||
|
||||
const handleTickerMouseLeave = () => {
|
||||
clearPauseTimer();
|
||||
setIsTickerPaused(false);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
if (pauseTimerRef.current) {
|
||||
clearTimeout(pauseTimerRef.current);
|
||||
}
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`flex flex-col w-full xl:h-[414px] mx-auto ${vipnagorgialla.className} font-bold italic border-[#1F5673] ${className}`}
|
||||
<section
|
||||
className={`mx-auto flex w-full flex-col items-center gap-10 border-t-4 border-[#00A3E0]/50 px-4 pb-10 pt-11 sm:gap-12 sm:px-8 sm:pb-12 sm:pt-14 lg:gap-16 lg:px-12 lg:pb-16 lg:pt-[68px] ${vipnagorgialla.className} font-bold italic ${className}`}
|
||||
>
|
||||
{showTitle && (
|
||||
<h3 className="text-4xl md:text-5xl dark:text-[#EEE5E5] text-[#2A2C3F] uppercase text-center px-12 pt-8 pb-4">
|
||||
<h2 className="text-center text-2xl leading-none text-white uppercase sm:text-3xl lg:text-[40px]">
|
||||
{t("home.sections.poweredBy")}
|
||||
</h3>
|
||||
</h2>
|
||||
)}
|
||||
|
||||
<div className="relative xl:flex-1 overflow-hidden py-8 sm:py-10 xl:py-4 2xl:py-6">
|
||||
<div className="ticker-track flex items-center w-max gap-8 sm:gap-10 md:gap-12 xl:gap-16 2xl:gap-20 px-8 sm:px-10 xl:px-14 2xl:px-20">
|
||||
<div className="grid w-full max-w-[1216px] grid-cols-2 place-items-center gap-x-6 gap-y-8 sm:gap-x-10 sm:gap-y-10 lg:grid-cols-5 lg:gap-12 xl:gap-16">
|
||||
{highlightedSponsors.map((sponsor) => (
|
||||
<FeaturedSponsor key={sponsor.alt} sponsor={sponsor} />
|
||||
))}
|
||||
</div>
|
||||
|
||||
{showTitle && (
|
||||
<h2 className="text-center text-2xl leading-none text-white uppercase sm:text-3xl lg:text-[40px]">
|
||||
{t("home.sections.ourSponsors")}
|
||||
</h2>
|
||||
)}
|
||||
|
||||
<div
|
||||
className="ticker-container relative mx-auto w-full max-w-[1824px] overflow-hidden py-8 sm:py-10 xl:flex-1 xl:py-4 2xl:py-6"
|
||||
onMouseEnter={handleTickerMouseEnter}
|
||||
onMouseLeave={handleTickerMouseLeave}
|
||||
>
|
||||
<div className={`ticker-track flex items-center w-max gap-8 sm:gap-10 md:gap-12 xl:gap-16 2xl:gap-20 px-8 sm:px-10 xl:px-14 2xl:px-20 ${isTickerPaused ? "ticker-track-paused" : ""}`}>
|
||||
{tickerSponsors.map((sponsor, index) => (
|
||||
<NextLink
|
||||
key={`${sponsor.alt}-${index}`}
|
||||
@@ -213,11 +341,32 @@ export default function Sponsors({
|
||||
</div>
|
||||
|
||||
<style jsx>{`
|
||||
.ticker-container {
|
||||
-webkit-mask-image: linear-gradient(
|
||||
to right,
|
||||
transparent 0%,
|
||||
black 5%,
|
||||
black 95%,
|
||||
transparent 100%
|
||||
);
|
||||
mask-image: linear-gradient(
|
||||
to right,
|
||||
transparent 0%,
|
||||
black 5%,
|
||||
black 95%,
|
||||
transparent 100%
|
||||
);
|
||||
}
|
||||
|
||||
.ticker-track {
|
||||
animation: sponsors-ticker 36s linear infinite;
|
||||
animation: sponsors-ticker 31s linear infinite;
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
.ticker-track-paused {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
|
||||
@keyframes sponsors-ticker {
|
||||
from {
|
||||
transform: translateX(0%);
|
||||
@@ -227,6 +376,6 @@ export default function Sponsors({
|
||||
}
|
||||
}
|
||||
`}</style>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -78,7 +78,8 @@
|
||||
"description": "The TipiLAN expo area hosts companies, additional activities and lectures."
|
||||
},
|
||||
"reserveSpot": "Reserve your spot today!",
|
||||
"poweredBy": "TipiLAN is powered by...",
|
||||
"poweredBy": "TipiLAN is powered by",
|
||||
"ourSponsors": "Our sponsors",
|
||||
"dateAndLocation": "11th–13th Sep. 2026 @ TalTech"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -78,7 +78,8 @@
|
||||
"description": "TipiLANi messialal paiknevad ettevõtted, lisategevused ja toimuvad loengud."
|
||||
},
|
||||
"reserveSpot": "Broneeri oma koht juba täna!",
|
||||
"poweredBy": "Toetajad",
|
||||
"poweredBy": "TipiLANile annavad hoogu",
|
||||
"ourSponsors": "Meie toetajad",
|
||||
"dateAndLocation": "11.–13. sept. 2026 TalTechis"
|
||||
}
|
||||
},
|
||||
|
||||