diff --git a/public/tipilan-dark.svg b/public/tipilan-dark.svg deleted file mode 100644 index 3fc82fb..0000000 --- a/public/tipilan-dark.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/public/tipilan-logo.svg b/public/tipilan-logo.svg new file mode 100644 index 0000000..bc2ed07 --- /dev/null +++ b/public/tipilan-logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/components/teaser/CarouselSection.tsx b/src/components/teaser/CarouselSection.tsx index e17f0d2..0e55a83 100644 --- a/src/components/teaser/CarouselSection.tsx +++ b/src/components/teaser/CarouselSection.tsx @@ -98,69 +98,91 @@ export default function CarouselSection({ sectionRef }: CarouselSectionProps) { const headingOnRight = SLIDES[currentSlide]?.layout === "right"; return ( -
-
- {/* Slides */} + <> + {/* Mobile: stacked slides, no hero images, no transitions */} +
{SLIDES.map((slide, i) => ( -
- + +
+

{t(slide.titleKey)}

+

{t(slide.descKey)}

+
))} - - {/* Floating heading — slides between left/right via flex-grow spacers (ease-out) */} -
-
-
- {t("teaser.carousel.heading")} - LAN - {t("teaser.carousel.headingSuffix")} -
-
-
- - {/* Progress bar — 3 segments */} -
- {SLIDES.map((_, i) => { - // Each segment: 0 = empty, 1 = full - const segmentStart = i / SLIDES.length; - const segmentEnd = (i + 1) / SLIDES.length; - const segmentProgress = Math.max( - 0, - Math.min(1, (scrollProgress - segmentStart) / (segmentEnd - segmentStart)) - ); - - return ( -
-
-
- ); - })} -
-
+ + {/* Desktop: scroll-based carousel with transitions */} +
+
+ {/* Slides */} + {SLIDES.map((slide, i) => ( +
+ +
+ ))} + + {/* Floating heading — slides between left/right via flex-grow spacers (ease-out) */} +
+
+
+ {t("teaser.carousel.heading")} + LAN + {t("teaser.carousel.headingSuffix")} +
+
+
+ + {/* Progress bar — 3 segments */} +
+ {SLIDES.map((_, i) => { + // Each segment: 0 = empty, 1 = full + const segmentStart = i / SLIDES.length; + const segmentEnd = (i + 1) / SLIDES.length; + const segmentProgress = Math.max( + 0, + Math.min(1, (scrollProgress - segmentStart) / (segmentEnd - segmentStart)) + ); + + return ( +
+
+
+ ); + })} +
+
+
+ ); } diff --git a/src/components/teaser/EndSection.tsx b/src/components/teaser/EndSection.tsx index 266b857..b700f63 100644 --- a/src/components/teaser/EndSection.tsx +++ b/src/components/teaser/EndSection.tsx @@ -46,24 +46,24 @@ export default function EndSection() { return (
-
+
{/* Tickets side */} -
+
-
+
{/* Ticket stats */} -
+
{/* CTA */} -
+

{t("teaser.tickets.cta")}

@@ -74,27 +74,26 @@ export default function EndSection() {
- {/* Separator — vertical on desktop, horizontal on stacked */} -
-
+ {/* Separator */} +
{/* Sponsors side */} -
+
-
+
{/* Sponsor stats */} -
- - +
+ +
{/* CTA */} -
+

{t("teaser.sponsors.cta")}

diff --git a/src/components/teaser/Footer.tsx b/src/components/teaser/Footer.tsx index f19a05b..fcebfba 100644 --- a/src/components/teaser/Footer.tsx +++ b/src/components/teaser/Footer.tsx @@ -16,7 +16,7 @@ export default function Footer() { const t = useTranslations(); return ( -