fix: language buttons real design / conformance

This commit is contained in:
fsylvain committed 2026-10-04 17:08:43 +02:00
1 parent 2c8f39273c
commit 0490a4c494
23 files changed
+1408 -412

No files matched your search

@@ -296,10 +296,18 @@ describe('Account menu: opened from the drawer on mobile', () => {
expect(menu.querySelector('[data-slot="fallback"]')?.textContent).toBe('MA')
expect(menu.textContent).toContain('marta@renew.example')
const labels = Array.from(
menu.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"]'),
menu.querySelectorAll('[role="menuitem"], [role="menuitemradio"]'),
).map((item) => item.textContent?.trim())
expect(labels).toEqual(['Profile', 'System', 'Light', 'Dark', 'Log out'])
menu.querySelectorAll('[role="menuitem"], [role="menuitemcheckbox"]').forEach((item) =>
expect(labels).toEqual([
'Profile',
'System',
'Light',
'Dark',
'English',
'Français',
'Log out',
])
menu.querySelectorAll('[role="menuitem"], [role="menuitemradio"]').forEach((item) =>
expect(item.className).toContain('h-12'),
)
})
@@ -325,7 +333,7 @@ describe('Account menu: opened from the drawer on mobile', () => {
expect(document.body.querySelector('[role="menu"]')).toBeNull()
})
it('applies a theme choice and closes the sheet', async () => {
it('applies a theme choice and keeps the sheet open', async () => {
const colorMode = useColorMode()
colorMode.preference = 'system'
await mountShell('/home', { width: MOBILE_WIDTH })
@@ -339,13 +347,13 @@ describe('Account menu: opened from the drawer on mobile', () => {
await flushPromises()
const dark = Array.from(
document.body.querySelectorAll<HTMLElement>('[role="menu"] [role="menuitemcheckbox"]'),
document.body.querySelectorAll<HTMLElement>('[role="menu"] [role="menuitemradio"]'),
).find((item) => item.textContent?.trim() === 'Dark')!
dark.click()
await flushPromises()
expect(colorMode.preference).toBe('dark')
expect(document.body.querySelector('[role="menu"]')).toBeNull()
expect(document.body.querySelector('[role="menu"]')).not.toBeNull()
})
it('logs out from the sheet', async () => {