diff options
| -rw-r--r-- | src/lib/List/ListTitle.svelte | 7 | ||||
| -rw-r--r-- | src/routes/+layout.svelte | 9 |
2 files changed, 9 insertions, 7 deletions
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)}% diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9ad33ca9..71d74adb 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -143,8 +143,15 @@ const handleScroll = () => { const detailsAnimations = new WeakMap<HTMLDetailsElement, Animation>(); const animateDetails = (e: MouseEvent) => { - const summary = (e.target as HTMLElement | null)?.closest("summary"); + const target = e.target as HTMLElement | null; + const summary = target?.closest("summary"); if (!summary) return; + + if (target?.closest("button, a, input, select, textarea, label")) { + e.preventDefault(); + return; + } + const details = summary.parentElement as HTMLDetailsElement | null; if (!details || details.tagName !== "DETAILS") return; if (reducesMotion()) return; |