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}`}
-
+