UI: taller tg-fullscreen header + labelled hub tabs
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 38s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 56s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 38s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 56s
- tg-fullscreen: +20px header height — without the (removed) hamburger the title bar lost its bulk and sat flush on Telegram's native nav band. - Settings/Comms hub tabs gain text labels under the icons (Settings / Profile / Friends / Info and Chat / Dictionary); the icon is aria-hidden so the label names the button. New i18n keys about.tab, game.dictionary.
This commit is contained in:
@@ -12,7 +12,7 @@ async function loginLobby(page: Page): Promise<void> {
|
||||
|
||||
// The Settings hub (the lobby ⚙️ tab) hosts Settings / Profile / Friends / About as in-place
|
||||
// tabs; the back control always returns to the lobby. Tabs are icon-only with an aria-label.
|
||||
async function openSettingsTab(page: Page, tab: 'Profile' | 'Friends' | 'About'): Promise<void> {
|
||||
async function openSettingsTab(page: Page, tab: 'Profile' | 'Friends' | 'Info'): Promise<void> {
|
||||
await page.getByRole('button', { name: /Settings/ }).click(); // lobby ⚙️ tab
|
||||
await expect(page.locator('.pane')).toHaveCount(1); // let the slide settle
|
||||
await page.getByRole('button', { name: tab, exact: true }).click();
|
||||
@@ -70,7 +70,7 @@ test('settings hub: tabs switch in place and back returns to the lobby', async (
|
||||
await expect(page.getByText('Friend requests')).toBeVisible();
|
||||
await expect(page.locator('.pane')).toHaveCount(1);
|
||||
|
||||
await page.getByRole('button', { name: 'About', exact: true }).click();
|
||||
await page.getByRole('button', { name: 'Info', exact: true }).click();
|
||||
await expect(page.getByText(/Version/)).toBeVisible();
|
||||
|
||||
// Back returns to the lobby from any tab.
|
||||
@@ -114,7 +114,7 @@ test('finished game draws an inert footer and trims live-only controls', async (
|
||||
// The comms hub offers Chat only — the Dictionary tab is hidden for a finished game.
|
||||
await page.getByRole('button', { name: 'Chat' }).click(); // 💬
|
||||
await expect(page.locator('.pane')).toHaveCount(1);
|
||||
await expect(page.getByRole('button', { name: 'Check word' })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: 'Dictionary' })).toHaveCount(0);
|
||||
});
|
||||
|
||||
test('lobby: hiding a finished game removes it (kebab → ❌), keeping the others', async ({ page }) => {
|
||||
|
||||
Reference in New Issue
Block a user