Fiks BlockShell-knapper: stopPropagation forhindrer drag-capture
Minimer, maksimer og lukk-knapper ble fanget av header-dragging
pga setPointerCapture. Nå: stopPropagation på controls-div og
individuelle knapper, pluss .closest('.blockshell-controls') sjekk.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
25a543e957
commit
df8b3b2f2e
1 changed files with 7 additions and 5 deletions
|
|
@ -142,9 +142,10 @@
|
|||
|
||||
// --- Drag (repositioning via header) ---
|
||||
function handleDragStart(e: PointerEvent) {
|
||||
// Only left button, not on buttons
|
||||
// Only left button, not on buttons or controls
|
||||
if (e.button !== 0) return;
|
||||
if ((e.target as HTMLElement).closest('button')) return;
|
||||
if ((e.target as HTMLElement).closest('.blockshell-controls')) return;
|
||||
|
||||
isDragging = true;
|
||||
hasDragged = false;
|
||||
|
|
@ -351,11 +352,12 @@
|
|||
<span class="blockshell-title">{title}</span>
|
||||
</div>
|
||||
|
||||
<div class="blockshell-controls">
|
||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
||||
<div class="blockshell-controls" onpointerdown={(e) => e.stopPropagation()}>
|
||||
{#if !isFullscreen}
|
||||
<button
|
||||
class="blockshell-btn"
|
||||
onclick={() => onMinimizeChange?.(!minimized)}
|
||||
onclick={(e) => { e.stopPropagation(); onMinimizeChange?.(!minimized); }}
|
||||
title={minimized ? 'Gjenopprett' : 'Minimer'}
|
||||
aria-label={minimized ? 'Gjenopprett panel' : 'Minimer panel'}
|
||||
>
|
||||
|
|
@ -364,7 +366,7 @@
|
|||
{/if}
|
||||
<button
|
||||
class="blockshell-btn"
|
||||
onclick={toggleFullscreen}
|
||||
onclick={(e) => { e.stopPropagation(); toggleFullscreen(); }}
|
||||
title={isFullscreen ? 'Avslutt fullskjerm' : 'Fullskjerm'}
|
||||
aria-label={isFullscreen ? 'Avslutt fullskjerm' : 'Fullskjerm'}
|
||||
>
|
||||
|
|
@ -373,7 +375,7 @@
|
|||
{#if closable}
|
||||
<button
|
||||
class="blockshell-btn blockshell-btn-close"
|
||||
onclick={() => onClose?.()}
|
||||
onclick={(e) => { e.stopPropagation(); onClose?.(); }}
|
||||
title="Lukk"
|
||||
aria-label="Lukk panel"
|
||||
>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue