mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
7c6d3694d4
Add cardGridLayout helpers, useCardGridMetrics, useRemeasureGridVirtualizer, and VirtualCardGrid (TanStack row virtualization, always remeasure on layout changes). Apply to Artists (grid + list unchanged policy), Albums, Composers grid, playlists, radio stations, offline library, and album-heavy browse/detail pages. Respect disableMainstageVirtualLists for a non-virtual grid with the same column rules. Includes vitest coverage for column cap.
17 lines
530 B
TypeScript
17 lines
530 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { computeCardGridColumnCount, CARD_GRID_MAX_COLS } from './cardGridLayout';
|
|
|
|
describe('computeCardGridColumnCount', () => {
|
|
it('never exceeds CARD_GRID_MAX_COLS', () => {
|
|
expect(computeCardGridColumnCount(20_000)).toBe(CARD_GRID_MAX_COLS);
|
|
});
|
|
|
|
it('returns at least one column', () => {
|
|
expect(computeCardGridColumnCount(50)).toBe(1);
|
|
});
|
|
|
|
it('uses six columns on wide desktop widths', () => {
|
|
expect(computeCardGridColumnCount(1200)).toBe(6);
|
|
});
|
|
});
|