mirror of
https://github.com/bulwarkmail/webmail.git
synced 2026-10-31 00:12:39 +00:00
fix: start the session warning's focus on the button that keeps users signed in
This commit is contained in:
@@ -96,6 +96,8 @@ describe('session timeout guard', () => {
|
||||
expect(screen.queryByText('idle_title')).toBeNull();
|
||||
await advance(1 * SECOND);
|
||||
expect(screen.getByText('idle_title')).toBeTruthy();
|
||||
// Enter on the warning keeps the user signed in.
|
||||
expect(document.activeElement?.textContent).toBe('stay');
|
||||
|
||||
fireEvent.click(screen.getByText('stay'));
|
||||
expect(screen.queryByText('idle_title')).toBeNull();
|
||||
|
||||
@@ -72,11 +72,13 @@ export function SessionTimeoutDialog({ mode, deadline, maxHours, onStay, onDismi
|
||||
</div>
|
||||
</div>
|
||||
{mode !== "ending" && (
|
||||
<div className="flex flex-wrap items-center justify-end gap-3 px-6 pb-6">
|
||||
<Button variant="outline" onClick={onSignOut}>{t("sign_out_now")}</Button>
|
||||
// The safe answer comes first, so the focus trap starts on it and
|
||||
// Enter keeps the user signed in; row-reverse shows it on the right.
|
||||
<div className="flex flex-row-reverse flex-wrap items-center justify-start gap-3 px-6 pb-6">
|
||||
{mode === "idle"
|
||||
? <Button onClick={onStay} autoFocus>{t("stay")}</Button>
|
||||
: <Button onClick={onDismiss} autoFocus>{t("dismiss")}</Button>}
|
||||
? <Button onClick={onStay}>{t("stay")}</Button>
|
||||
: <Button onClick={onDismiss}>{t("dismiss")}</Button>}
|
||||
<Button variant="outline" onClick={onSignOut}>{t("sign_out_now")}</Button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user