@ -20,6 +20,9 @@ test('user settings show the jump nav and clicking scrolls + activates', async (
|
|||||||
const context = await contextForUser(browser, BASE_URL, 'fixture-user');
|
const context = await contextForUser(browser, BASE_URL, 'fixture-user');
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto('/settings');
|
await page.goto('/settings');
|
||||||
|
// Let the async section content (sessions, tokens, …) settle first —
|
||||||
|
// sections growing above the target would push it out of view again.
|
||||||
|
await page.waitForLoadState('networkidle');
|
||||||
|
|
||||||
const nav = page.locator('.settings-nav');
|
const nav = page.locator('.settings-nav');
|
||||||
await expect(nav).toBeVisible();
|
await expect(nav).toBeVisible();
|
||||||
@ -46,6 +49,7 @@ test('pond settings derive the nav from their sections', async ({ browser }) =>
|
|||||||
|
|
||||||
const page = await context.newPage();
|
const page = await context.newPage();
|
||||||
await page.goto(`/p/${pond.slug}/settings`);
|
await page.goto(`/p/${pond.slug}/settings`);
|
||||||
|
await page.waitForLoadState('networkidle');
|
||||||
|
|
||||||
const links = page.locator('.settings-nav .settings-nav__link');
|
const links = page.locator('.settings-nav .settings-nav__link');
|
||||||
// The pond owner sees the full section stack — at least members, labels,
|
// The pond owner sees the full section stack — at least members, labels,
|
||||||
|
|||||||
@ -102,7 +102,9 @@ export function SettingsLayout({ children }: { children: React.ReactNode }): Rea
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const jump = (id: string): void => {
|
const jump = (id: string): void => {
|
||||||
document.getElementById(id)?.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
// Instant, not smooth: async section content (queries) can still grow
|
||||||
|
// during an animation, leaving it at a stale target position.
|
||||||
|
document.getElementById(id)?.scrollIntoView({ block: 'start' });
|
||||||
setActive(id);
|
setActive(id);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user