From 8574a97e7bbf2d2a67dc5c743f4d1eb67610e715 Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
Date: Fri, 22 May 2026 14:04:16 +0000
Subject: fix(layout): preserve list panel when clicking action buttons in
 summary

The global animateDetails handler in +layout.svelte runs on every
window click, unconditionally finding the nearest <summary>,
preventDefault'ing the native toggle, and manually toggling the
parent <details>. That left no way for child handlers to opt out --
clicking Roulette or Refresh inside the list title still toggled
the panel. Skip the takeover (and stop the native toggle) when the
click target is an interactive element. Reverts the now-unneeded
slot wrapper in ListTitle from 0d46fa54.
---
 src/lib/List/ListTitle.svelte | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

(limited to 'src/lib/List/ListTitle.svelte')

diff --git a/src/lib/List/ListTitle.svelte b/src/lib/List/ListTitle.svelte
index 1af962e5..2e9181d0 100644
--- a/src/lib/List/ListTitle.svelte
+++ b/src/lib/List/ListTitle.svelte
@@ -29,12 +29,7 @@ export let hideCount = false;
     {/if}
     <small class="opaque list-title-time">{time ? time.toFixed(3) : '...'}s</small>
   {/if}
-  <span
-    role="presentation"
-    onclick={(event) => event.preventDefault()}
-  >
-    <slot />
-  </span>
+  <slot />
   {#if progress !== undefined}
     <button class="badge unclickable-button button-badge badge-info">
       {progress.toFixed(0)}%
-- 
cgit v1.2.3

