From 70f9e54ce48bd781495fddb4a4ec9dc3ddd1bec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Katri=20Lotam=C3=B5is?= Date: Fri, 4 Sep 2026 13:52:37 +0300 Subject: [PATCH] add sponsor logo, enable hover scroll on sponsors container --- package-lock.json | 11 ---- public/sponsors/istar.jpg | Bin 0 -> 35775 bytes src/components/HoverTicker.tsx | 100 +++++++++++++++++++++++++++++ src/components/Sponsors.tsx | 112 +++++++++++++++++++-------------- 4 files changed, 166 insertions(+), 57 deletions(-) create mode 100644 public/sponsors/istar.jpg create mode 100644 src/components/HoverTicker.tsx diff --git a/package-lock.json b/package-lock.json index bc6fb15..387691a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9262,17 +9262,6 @@ } } }, - "node_modules/next-intl/node_modules/@swc/helpers": { - "version": "0.5.23", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", - "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.8.0" - } - }, "node_modules/next-themes": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", diff --git a/public/sponsors/istar.jpg b/public/sponsors/istar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1622b046911e66b90883ca85ddbc76a1d3138436 GIT binary patch literal 35775 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 literal 0 HcmV?d00001 diff --git a/src/components/HoverTicker.tsx b/src/components/HoverTicker.tsx new file mode 100644 index 0000000..b2c242f --- /dev/null +++ b/src/components/HoverTicker.tsx @@ -0,0 +1,100 @@ +"use client"; + +import { useRef, useEffect, ReactNode } from "react"; + +interface HoverTickerProps { + children: ReactNode; + className?: string; + baseSpeed?: number; + hoverSpeed?: number; +} + +export default function HoverTicker({ + children, + className = "", + baseSpeed = 1.2, + hoverSpeed = 3.5, + }: HoverTickerProps) { + + const containerRef = useRef(null); + const mouseZoneRef = useRef<"left" | "right" | "paused" | "none">("none"); + + useEffect(() => { + const container = containerRef.current; + if (!container) return; + + let animationFrameId: number; + + const animate = () => { + if (container) { + const zone = mouseZoneRef.current; + + if (zone === "none") { + container.scrollLeft += baseSpeed; + } else if (zone === "right") { + container.scrollLeft += hoverSpeed; + } else if (zone === "left") { + container.scrollLeft -= hoverSpeed; + } + + // Infinite scroll cycle + const maxScroll = container.scrollWidth / 2; + + if (container.scrollLeft >= maxScroll) { + container.scrollLeft -= maxScroll / 2; + } else if (container.scrollLeft <= 0 && (zone === "left" || zone === "paused")) { + container.scrollLeft += maxScroll / 2; + } + } + animationFrameId = requestAnimationFrame(animate); + }; + + animationFrameId = requestAnimationFrame(animate); + + return () => cancelAnimationFrame(animationFrameId); + }, [baseSpeed, hoverSpeed]); + + const handleMouseMove = (e: React.MouseEvent) => { + const container = containerRef.current; + if (!container) return; + + const rect = container.getBoundingClientRect(); + const mouseX = e.clientX - rect.left; + const width = rect.width; + + if (mouseX < width * 0.3) { + mouseZoneRef.current = "left"; + } else if (mouseX > width * 0.7) { + mouseZoneRef.current = "right"; + } else { + mouseZoneRef.current = "paused"; + } + }; + + const handleMouseLeave = () => { + mouseZoneRef.current = "none"; + }; + + return ( +
+
+ {children} +
+ + +
+ ); +} \ No newline at end of file diff --git a/src/components/Sponsors.tsx b/src/components/Sponsors.tsx index e3593d0..2688a4b 100644 --- a/src/components/Sponsors.tsx +++ b/src/components/Sponsors.tsx @@ -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 HoverTicker from "@/components/HoverTicker"; interface Sponsor { href: string; @@ -157,6 +158,13 @@ const sponsors: Sponsor[] = [ width: 244, height: 244, }, + { + href: "", + src: "/sponsors/istar.jpg", + alt: "iStar Kebab", + width: 244, + height: 244 + }, ]; interface SponsorsProps { @@ -173,53 +181,65 @@ export default function Sponsors({ const t = useTranslations(); return ( -
- {showTitle && ( -

- {t("home.sections.poweredBy")} -

- )} +
+ {showTitle && ( +

+ {t("home.sections.poweredBy")} +

+ )} -
-
- {tickerSponsors.map((sponsor, index) => ( - = sponsors.length} - tabIndex={index >= sponsors.length ? -1 : undefined} - > - {sponsor.alt} - - ))} -
+ +
+ {tickerSponsors.map((sponsor, index) => ( + = sponsors.length} + tabIndex={index >= sponsors.length ? -1 : undefined} + > + {sponsor.alt} + + ))} +
+
+ +
- - -
); }