diff --git a/src/frontend/src/tables/InvenTreeTable.tsx b/src/frontend/src/tables/InvenTreeTable.tsx index 714edf23ab..993080d46b 100644 --- a/src/frontend/src/tables/InvenTreeTable.tsx +++ b/src/frontend/src/tables/InvenTreeTable.tsx @@ -813,6 +813,14 @@ export function InvenTreeTableInternal>({ ); }, [tableProps.onCellClick, tableProps.onRowClick, tableProps.modelType]); + // When sticky headers are enabled, we adjust the maximum viewport height, + // based on the number of records being displayed (up to a maximum of 60vh) + const autoHeight = useMemo(() => { + const rows = Math.max(10, Math.min(tableState.records.length, 60)); + + return `${rows}vh`; + }, [tableState.records]); + return ( <> @@ -838,7 +846,8 @@ export function InvenTreeTableInternal>({ stickyHeader: stickyTableHeader ? 'top' : undefined }} height={ - tableProps.height ?? (stickyTableHeader ? '80vh' : undefined) + tableProps.height ?? + (stickyTableHeader ? autoHeight : undefined) } withTableBorder={!tableProps.noHeader} withColumnBorders