From 0ea05bdb725002272a475107a179b7ab6da63e85 Mon Sep 17 00:00:00 2001 From: Carter Date: Mon, 16 Mar 2026 12:30:18 -0600 Subject: [PATCH] table changes --- src/common/ResponsiveTable.tsx | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/common/ResponsiveTable.tsx b/src/common/ResponsiveTable.tsx index f55098b..b69589e 100644 --- a/src/common/ResponsiveTable.tsx +++ b/src/common/ResponsiveTable.tsx @@ -546,15 +546,19 @@ export default function ResponsiveTable(props: Props) { const clampedWidth = Math.max(MIN_COLUMN_WIDTH, newWidthForIndex) const actualDelta = newWidths[index] - clampedWidth newWidths[index] = clampedWidth - newWidths.every((width, j) => { - if (j <= index || width === 0) return true - else if (newWidths[j] !== undefined) { - newWidths[j] = newWidths[j] + actualDelta - return false - } - }) + + if (actualDelta > 0) { + // Shrinking current column – give space to next column + newWidths[index + 1] = (newWidths[index + 1] ?? 0) + actualDelta + } else if (actualDelta < 0) { + // Growing current column – take from next column only what it can give + const nextWidth = newWidths[index + 1] ?? 0 + const availableFromNext = Math.max(0, nextWidth - MIN_COLUMN_WIDTH) + const takeFromNext = Math.min(-actualDelta, availableFromNext) + newWidths[index + 1] = nextWidth - takeFromNext + // If we couldn't take enough, the table grows (clampedWidth already applied) + } setRowWidths(newWidths) - } const MIN_COLUMN_WIDTH = 24;