diff --git a/frontend/src/components/panels/LibrarySpaceView.tsx b/frontend/src/components/panels/LibrarySpaceView.tsx index 7a14a37..20a914e 100644 --- a/frontend/src/components/panels/LibrarySpaceView.tsx +++ b/frontend/src/components/panels/LibrarySpaceView.tsx @@ -446,8 +446,14 @@ export function LibrarySpaceView({ project, dark, onClose, embedded }: Props) { )} -
-
+ {/* Desktop: columns are full-height and scroll internally, so the + board itself must not scroll vertically. Mobile: a column is + taller than the screen, and overflow-y-hidden made everything + below the fold unreachable — you could scroll sideways but not + down. Below md the board scrolls vertically and the columns + size to their content instead of fighting for a bounded height. */} +
+
{columns.map((col: LibraryTaskColumn) => { const isDropTarget = dragOverColumn === col.id; return ( @@ -513,7 +519,10 @@ export function LibrarySpaceView({ project, dark, onClose, embedded }: Props) { )}
-
+ {/* On mobile the board scrolls, so a column must grow to + its content; an inner overflow-y-auto here would create + a second, nested scroll region that traps the gesture. */} +
{(tasksByColumn[col.id] ?? []).map((task) => (