From 6ab1f581f892744fabd7c873be22699bd52b2f7a Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 2 May 2024 16:19:45 -0700 Subject: feat(BadgePreview): navigate using badge side --- src/lib/User/BadgeWall/BadgePreview.svelte | 28 +++++++++++++++++++++------- src/routes/user/[user]/badges/+page.svelte | 6 +++++- 2 files changed, 26 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/lib/User/BadgeWall/BadgePreview.svelte b/src/lib/User/BadgeWall/BadgePreview.svelte index fba6e2e5..ac9519c5 100644 --- a/src/lib/User/BadgeWall/BadgePreview.svelte +++ b/src/lib/User/BadgeWall/BadgePreview.svelte @@ -9,6 +9,8 @@ import { tweened } from 'svelte/motion'; export let selectedBadge: Badge | undefined; + export let onNext: () => void = () => {}; + export let onPrevious: () => void = () => {}; let badgeReference: HTMLImageElement; const mouse = tweened( @@ -95,6 +97,16 @@ return `@${name}`; }; + + const onClick = (event: MouseEvent) => { + event.preventDefault(); + + if (event.clientX < badgeReference.getBoundingClientRect().left + badgeReference.width / 2) { + onPrevious(); + } else { + onNext(); + } + }; {#if selectedBadge} @@ -106,13 +118,15 @@ role="img" class="badge-container" > - {selectedBadge.description} + + {selectedBadge.description} +

diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index 22182138..b7c5ca2d 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -941,7 +941,11 @@ selectedBadge = undefined; }} > - + setAdjacentCursor(ungroupedBadges, 1)} + onPrevious={() => setAdjacentCursor(ungroupedBadges, -1)} + /> {#if anyAdjacentBadgeExists}

-- cgit v1.2.3