refactor(planner): each card over the map sets its own left side again, where the reading direction check counts it

This commit is contained in:
Maurice
2026-10-12 21:14:28 +00:00
parent 8f6dab30a2
commit 8832632b4e
5 changed files with 28 additions and 18 deletions
@@ -1,5 +1,5 @@
import { describe, expect, it } from 'vitest';
import { centredMapCardBox } from './centredMapCard';
import { centredMapCard } from './centredMapCard';
// Resolves the CSS the helper returns for a given container width, so the
// geometry is checked in pixels rather than as strings.
@@ -13,17 +13,17 @@ function resolve(css: string, extent: number): number {
return Function(`return (${expr})`)() as number;
}
describe('centredMapCardBox', () => {
describe('centredMapCard', () => {
it('keeps the old centred box when there is no pill to clear', () => {
const box = centredMapCardBox(320, 320);
const box = centredMapCard(320, 320);
expect(resolve(box.width, 1280)).toBe(608);
expect(resolve(box.left, 1280)).toBe(640);
expect(resolve(box.centre, 1280)).toBe(640);
});
it('a narrow desktop map moves the card off the base-layer pill (#2604)', () => {
const box = centredMapCardBox(350, 310, { clearPill: true });
const box = centredMapCard(350, 310, { clearPill: true });
const width = resolve(box.width, 1280);
const leftEdge = resolve(box.left, 1280) - width / 2;
const leftEdge = resolve(box.centre, 1280) - width / 2;
// The pill spans 20 to 62 px right of the left panel.
expect(leftEdge).toBeGreaterThanOrEqual(350 + 62);
// And the card still stops 16 px short of the right panel.
@@ -31,8 +31,8 @@ describe('centredMapCardBox', () => {
});
it('a wide map keeps the card exactly centred and 800 wide', () => {
const box = centredMapCardBox(320, 320, { clearPill: true });
const box = centredMapCard(320, 320, { clearPill: true });
expect(resolve(box.width, 1920)).toBe(800);
expect(resolve(box.left, 1920)).toBe(960);
expect(resolve(box.centre, 1920)).toBe(960);
});
});