From 12e0d4e3b8b029d3ab50582cd0f3552289ff3967 Mon Sep 17 00:00:00 2001 From: Peter Meier Date: Tue, 19 May 2026 14:46:23 +0200 Subject: [PATCH] ui: carousel swipe, org peek, deadline banner fixes - Carousel: touch swipe support (40px threshold) - OrganisationsBlock: 1.5 cards on mobile to hint at more content - DeadlineBanner: left-aligned text, shrink-0 close button Co-Authored-By: Claude Sonnet 4.6 --- src/lib/components/Carousel.svelte | 12 +++++++++++- src/lib/components/blocks/OrganisationsBlock.svelte | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/components/Carousel.svelte b/src/lib/components/Carousel.svelte index c97da05..f3fdca3 100644 --- a/src/lib/components/Carousel.svelte +++ b/src/lib/components/Carousel.svelte @@ -21,6 +21,16 @@ let index = $state(0); let paused = $state(false); let timer: ReturnType | null = null; + let touchStartX = 0; + + function onTouchStart(e: TouchEvent) { + touchStartX = e.touches[0].clientX; + } + function onTouchEnd(e: TouchEvent) { + const dx = e.changedTouches[0].clientX - touchStartX; + if (Math.abs(dx) < 40) return; + if (dx < 0) next(); else prev(); + } function prev() { if (count > 0) index = (index - 1 + count) % count; @@ -67,7 +77,7 @@ {/if} -
+
{#each { length: count } as _, i}
{@render defaultCard(o, linkUrl, logoField, orgIndex)}