From eab796dca9784488df46c0b4d17a0423f756abaa Mon Sep 17 00:00:00 2001 From: Grayson Adams <51373669+GraysonCAdams@users.noreply.github.com> Date: Fri, 13 Mar 2026 12:35:39 -0500 Subject: [PATCH 1/6] feat: show rank change as tappable toast instead of auto-modal Replace the auto-opening clout change modal with a persistent toast at the top of the screen showing the new rank icon and message. Tapping the toast opens the full modal. Removes the 3-day server-side cooldown so rank changes are reported immediately. --- src/lib/components/ToastStack.svelte | 51 ++++++++++++++++++++++------ src/lib/stores/toasts.ts | 8 +++-- src/routes/(app)/+layout.svelte | 15 ++++++-- src/routes/api/clout/+server.ts | 21 ++++-------- 4 files changed, 65 insertions(+), 30 deletions(-) diff --git a/src/lib/components/ToastStack.svelte b/src/lib/components/ToastStack.svelte index 7aa8f36..64a8e1b 100644 --- a/src/lib/components/ToastStack.svelte +++ b/src/lib/components/ToastStack.svelte @@ -207,6 +207,13 @@ handleDismiss(toast.id); } + function handleTap(toast: Toast) { + if (toast.onTap) { + toast.onTap(); + handleDismiss(toast.id); + } + } + let dismissingIds = $state(new Set()); function handleDismiss(id: string) { @@ -237,24 +244,30 @@ {#each $toasts as toast (toast.id)}