diff --git a/web/app/(shareLayout)/webapp-signin/check-code/page.tsx b/web/app/(shareLayout)/webapp-signin/check-code/page.tsx index 28518e998cc..f0d9e122856 100644 --- a/web/app/(shareLayout)/webapp-signin/check-code/page.tsx +++ b/web/app/(shareLayout)/webapp-signin/check-code/page.tsx @@ -110,9 +110,9 @@ export default function CheckCode() {
-

+

{t(($) => $['checkCode.checkYourEmail'], { ns: 'login' })} -

+

{t(($) => $['checkCode.tipsPrefix'], { ns: 'login' })} diff --git a/web/app/(shareLayout)/webapp-signin/normalForm.tsx b/web/app/(shareLayout)/webapp-signin/normalForm.tsx index 8e4f085670c..542b85492ac 100644 --- a/web/app/(shareLayout)/webapp-signin/normalForm.tsx +++ b/web/app/(shareLayout)/webapp-signin/normalForm.tsx @@ -124,11 +124,11 @@ const NormalForm = () => { <>

-

+

{systemFeatures.branding.enabled ? t(($) => $.pageTitleForE, { ns: 'login' }) : t(($) => $.pageTitle, { ns: 'login' })} -

+

{t(($) => $.welcome, { ns: 'login' })}

diff --git a/web/app/signin/__tests__/normal-form.spec.tsx b/web/app/signin/__tests__/normal-form.spec.tsx index 7272be8617b..1abd1e59daf 100644 --- a/web/app/signin/__tests__/normal-form.spec.tsx +++ b/web/app/signin/__tests__/normal-form.spec.tsx @@ -87,6 +87,17 @@ describe('NormalForm', () => { mockUseSearchParams.mockReturnValue(new URLSearchParams()) }) + it('exposes the page title as the main heading', () => { + mockQueryResults( + nonInviteQueryResult as unknown as ReturnType, + nonInviteQueryResult as unknown as ReturnType, + ) + + render() + + expect(screen.getByRole('heading', { level: 1 })).toBeInTheDocument() + }) + describe('Default Redirects', () => { it('should send logged-in visitors without a redirect target to the console home', async () => { const searchParams = new URLSearchParams() diff --git a/web/app/signin/__tests__/one-more-step.spec.tsx b/web/app/signin/__tests__/one-more-step.spec.tsx index de0eec84078..129a707d604 100644 --- a/web/app/signin/__tests__/one-more-step.spec.tsx +++ b/web/app/signin/__tests__/one-more-step.spec.tsx @@ -41,6 +41,17 @@ describe('OneMoreStep', () => { mockSubmitOneMoreStep.mockResolvedValue({ result: 'success' }) }) + it('exposes the page title as the main heading', () => { + const queryClient = new QueryClient() + render( + + + , + ) + + expect(screen.getByRole('heading', { level: 1 })).toBeInTheDocument() + }) + // Successful account initialization returns users to their original console destination. describe('Post-registration redirect', () => { it('should return to the requested console page when account initialization succeeds', async () => { diff --git a/web/app/signin/check-code/__tests__/page.spec.tsx b/web/app/signin/check-code/__tests__/page.spec.tsx index b8c4f7f5fa1..45ef48a8ad5 100644 --- a/web/app/signin/check-code/__tests__/page.spec.tsx +++ b/web/app/signin/check-code/__tests__/page.spec.tsx @@ -87,6 +87,17 @@ describe('CheckCode', () => { vi.unstubAllGlobals() }) + it('exposes the page title as the main heading', () => { + const queryClient = createQueryClient() + render( + + + , + ) + + expect(screen.getByRole('heading', { level: 1 })).toBeInTheDocument() + }) + describe('Post-login profile bootstrap', () => { it('should resolve an inactive profile query before navigating to the console home', async () => { const user = userEvent.setup() diff --git a/web/app/signin/check-code/page.tsx b/web/app/signin/check-code/page.tsx index 422bdb175a8..09a548e42a6 100644 --- a/web/app/signin/check-code/page.tsx +++ b/web/app/signin/check-code/page.tsx @@ -102,9 +102,9 @@ export default function CheckCode() {
-

+

{t(($) => $['checkCode.checkYourEmail'], { ns: 'login' })} -

+

{t(($) => $['checkCode.tipsPrefix'], { ns: 'login' })} diff --git a/web/app/signin/invite-settings/__tests__/page.spec.tsx b/web/app/signin/invite-settings/__tests__/page.spec.tsx index 907f95893a5..1fca054409b 100644 --- a/web/app/signin/invite-settings/__tests__/page.spec.tsx +++ b/web/app/signin/invite-settings/__tests__/page.spec.tsx @@ -113,6 +113,12 @@ describe('InviteSettingsPage', () => { mockActivateMember.mockResolvedValue({ result: 'success' }) }) + it('exposes the page title as the main heading', () => { + render() + + expect(screen.getByRole('heading', { level: 1 })).toBeInTheDocument() + }) + describe('Activation payload', () => { it('should default language to the current UI locale', async () => { render() diff --git a/web/app/signin/invite-settings/page.tsx b/web/app/signin/invite-settings/page.tsx index 1ad3e50b85e..45fa9d5f388 100644 --- a/web/app/signin/invite-settings/page.tsx +++ b/web/app/signin/invite-settings/page.tsx @@ -176,9 +176,9 @@ export default function InviteSettingsPage() {

🤷‍♂️
-

+

{t(($) => $.invalid, { ns: 'login' })} -

+
-

+

{requiresAccountSetup ? t(($) => $.setYourAccount, { ns: 'login' }) : `${t(($) => $.join, { ns: 'login' })}${checkRes?.data?.workspace_name}`} -

+
{requiresAccountSetup && ( diff --git a/web/app/signin/normal-form.tsx b/web/app/signin/normal-form.tsx index 9bc55d0121c..1a013c3e9ac 100644 --- a/web/app/signin/normal-form.tsx +++ b/web/app/signin/normal-form.tsx @@ -186,10 +186,10 @@ function NormalForm() {
{isInviteLink ? (
-

+

{t(($) => $.join, { ns: 'login' })} {workspaceName} -

+ {!systemFeatures.branding.enabled && (

{t(($) => $.joinTipStart, { ns: 'login' })} @@ -200,11 +200,11 @@ function NormalForm() {

) : (
-

+

{systemFeatures.branding.enabled ? t(($) => $.pageTitleForE, { ns: 'login' }) : t(($) => $.pageTitle, { ns: 'login' })} -

+

{t(($) => $.welcome, { ns: 'login' })}

diff --git a/web/app/signin/one-more-step.tsx b/web/app/signin/one-more-step.tsx index c97dc5e4256..325c0727e93 100644 --- a/web/app/signin/one-more-step.tsx +++ b/web/app/signin/one-more-step.tsx @@ -122,9 +122,9 @@ const OneMoreStep = () => { return ( <>
-

+

{t(($) => $.oneMoreStep, { ns: 'login' })} -

+

{t(($) => $.createSample, { ns: 'login' })}

diff --git a/web/app/signup/check-code/page.tsx b/web/app/signup/check-code/page.tsx index 0cf12c91899..d5ec8a3808f 100644 --- a/web/app/signup/check-code/page.tsx +++ b/web/app/signup/check-code/page.tsx @@ -70,9 +70,9 @@ export default function CheckCode() {
-

+

{t(($) => $['checkCode.checkYourEmail'], { ns: 'login' })} -

+

{t(($) => $['checkCode.tipsPrefix'], { ns: 'login' })} diff --git a/web/app/signup/page.tsx b/web/app/signup/page.tsx index c30c6654005..ac476935535 100644 --- a/web/app/signup/page.tsx +++ b/web/app/signup/page.tsx @@ -22,9 +22,9 @@ const Signup = () => { return (

-

+

{t(($) => $['signup.createAccount'], { ns: 'login' })} -

+

{t(($) => $['signup.welcome'], { ns: 'login' })}

diff --git a/web/app/signup/set-password/__tests__/page.spec.tsx b/web/app/signup/set-password/__tests__/page.spec.tsx index 35821b51281..568290c3085 100644 --- a/web/app/signup/set-password/__tests__/page.spec.tsx +++ b/web/app/signup/set-password/__tests__/page.spec.tsx @@ -90,6 +90,12 @@ describe('Signup Set Password Page', () => { mockRegister.mockResolvedValue({ result: 'fail', data: {} }) }) + it('exposes the page title as the main heading', () => { + renderWithQueryClient() + + expect(screen.getByRole('heading', { level: 1 })).toBeInTheDocument() + }) + describe('Registration payload', () => { it('should submit locale and browser timezone when setting password', async () => { renderWithQueryClient() diff --git a/web/app/signup/set-password/page.tsx b/web/app/signup/set-password/page.tsx index 485b46cb2c9..d3a72917e64 100644 --- a/web/app/signup/set-password/page.tsx +++ b/web/app/signup/set-password/page.tsx @@ -115,9 +115,9 @@ const ChangePasswordForm = () => { >
-

+

{t(($) => $.changePassword, { ns: 'login' })} -

+

{t(($) => $.changePasswordTip, { ns: 'login' })}