feat: spacing tokens, actionable failure copy, unified focus ring, 44px touch targets, press feedback
ci / gitleaks (push) Successful in 8s
ci / docker (push) Successful in 3m36s

This commit is contained in:
2026-09-23 06:45:51 +08:00
parent 058f353965
commit 629e054823
25 changed files with 251 additions and 181 deletions
+2 -2
View File
@@ -271,8 +271,8 @@ test('settings match the approved paper-ledger geometry and action hierarchy', a
expect(layout.bodyOverflow).toBe(0)
const isMobileContract = (await page.viewportSize())!.width <= 720
if (isMobileContract) {
expect(layout.leftPadding).toBeCloseTo(29, 0)
expect(layout.rightPadding).toBeCloseTo(29, 0)
expect(layout.leftPadding).toBeCloseTo(28, 0)
expect(layout.rightPadding).toBeCloseTo(28, 0)
expect(layout.headingSize).toBe('24px')
} else {
const pageWidth = await page.locator('.settings-sections').evaluate(element => element.getBoundingClientRect().width)
+4 -4
View File
@@ -60,7 +60,7 @@ test('Today plain-list layout matches the approved responsive geometry', async (
}
})).toEqual({
media720: width <= 720,
contentWidth: width >= 1440 ? 1080 : width > 930 ? Math.min(1080, width - 324) : width === 721 ? 630 : width - 58,
contentWidth: width >= 1440 ? 1080 : width > 930 ? Math.min(1080, width - 324) : width === 721 ? 630 : width - 56,
environmentHeight: width >= 721 ? 55 : width === 375 ? 79 : 81,
})
await expect(page.locator('.today-heading')).toHaveCount(1)
@@ -270,9 +270,9 @@ test('Today plain-list layout matches the approved responsive geometry', async (
expect(metrics.directions.weather).toBe('column')
expect(metrics.directions.gold).toBe('column')
if (width <= 720) {
expect(metrics.content.width).toBeCloseTo(width - 58, 0)
expect(metrics.content.left).toBeCloseTo(29, 0)
expect(metrics.styles.mainPaddingLeft).toBe('29px')
expect(metrics.content.width).toBeCloseTo(width - 56, 0)
expect(metrics.content.left).toBeCloseTo(28, 0)
expect(metrics.styles.mainPaddingLeft).toBe('28px')
expect(metrics.styles.titleFontSize).toBe('24px')
expect(metrics.environment.height).toBeCloseTo(width === 375 ? 79 : 81, 0)
}
+2 -2
View File
@@ -78,8 +78,8 @@ test('Upcoming shares the task-list hierarchy while keeping its date scope and n
expect(geometry.section.left).toBeCloseTo(geometry.list.left, 0)
expect(geometry.header.width).toBeCloseTo(geometry.list.width, 0)
if (geometry.viewportWidth <= 720) {
expect(geometry.header.left).toBeCloseTo(29, 0)
expect(geometry.list.right).toBeCloseTo(geometry.viewportWidth - 29, 0)
expect(geometry.header.left).toBeCloseTo(28, 0)
expect(geometry.list.right).toBeCloseTo(geometry.viewportWidth - 28, 0)
}
const fab = page.getByRole('button', { name: '添加任务' })
Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB