fix: default to compact density only for multi-container stacks (#1576)

* fix: only default to compact density for multi-container stacks

* fix: update density reset test for single-container detailed default
This commit is contained in:
Anso
2026-07-06 05:17:46 -04:00
committed by GitHub
parent abf530c3f6
commit 30f1ca0a5f
2 changed files with 6 additions and 5 deletions
@@ -185,7 +185,7 @@ describe('density toggle and summary strip', () => {
expect(screen.queryByRole('button', { name: 'Detailed view' })).toBeNull();
});
it('resets density to compact on remount (key change)', () => {
it('resets density to detailed on remount (key change)', () => {
const { unmount } = render(
<ContainersHealth
safeContainers={[makeContainer({ Id: 'a' }), makeContainer({ Id: 'b' })]}
@@ -216,9 +216,8 @@ describe('density toggle and summary strip', () => {
serviceAction={vi.fn()}
/>,
);
// Density reset to compact; single container hides sparklines,
// no density toggle for a single container
expect(screen.queryByText('cpu')).toBeNull();
// Density reset; single container shows sparklines
expect(screen.getByText('cpu')).toBeInTheDocument();
expect(screen.queryByRole('button', { name: 'Compact view' })).toBeNull();
});
});
@@ -361,7 +361,9 @@ export function ContainersHealth({
const copiedUrlTimerRef = useRef<number | null>(null);
// Compact mode hides sparkline grids across all containers for a denser
// list. Detailed mode (default) shows CPU / Mem / Net per container.
const [density, setDensity] = useState<'compact' | 'detailed'>('compact');
const [density, setDensity] = useState<'compact' | 'detailed'>(
safeContainers.length > 1 ? 'compact' : 'detailed',
);
useEffect(() => () => {
if (copiedUrlTimerRef.current !== null) window.clearTimeout(copiedUrlTimerRef.current);
}, []);