diff --git a/web/src/lib/components/collections/BoardView.svelte b/web/src/lib/components/collections/BoardView.svelte index 1197400d..97fc578c 100644 --- a/web/src/lib/components/collections/BoardView.svelte +++ b/web/src/lib/components/collections/BoardView.svelte @@ -444,13 +444,13 @@ scroll-behavior: smooth; -webkit-overflow-scrolling: touch; gap: var(--space-3); - padding-bottom: var(--space-3); + padding: 0 var(--space-4) var(--space-3); } .kanban-column { - min-width: 85vw; - max-width: 85vw; - scroll-snap-align: center; + min-width: 78vw; + max-width: 78vw; + scroll-snap-align: start; flex-shrink: 0; } } diff --git a/web/src/lib/components/layout/Sidebar.svelte b/web/src/lib/components/layout/Sidebar.svelte index bcf59e8a..c0992038 100644 --- a/web/src/lib/components/layout/Sidebar.svelte +++ b/web/src/lib/components/layout/Sidebar.svelte @@ -167,12 +167,19 @@ - + { if (!uiStore.isMobile || uiStore.sidebarOpen) return; const x = e.touches[0].clientX; - if (x <= 24) { + if (x <= 16) { + // Don't activate if the touch is inside a horizontally scrollable container + // (e.g. board view with overflow-x: auto) + let el = e.target as HTMLElement | null; + while (el) { + if (el.scrollWidth > el.clientWidth + 1) return; + el = el.parentElement; + } openSwipeStartX = x; openSwipeStartY = e.touches[0].clientY; openSwipeTracking = true;