mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-24 20:52:51 +00:00
Align Pulse Pro route header title
This commit is contained in:
@@ -485,9 +485,9 @@ That same boundary also owns the shell and section framing copy for the
|
||||
self-hosted Pro billing surface. `ProLicensePanel.tsx` must consume shared
|
||||
presentation for its shell title/description, refresh CTA label, and section
|
||||
headings rather than carrying those commercial labels inline.
|
||||
The same description should also feed the `system-billing` route header
|
||||
metadata so the settings shell and the route header do not narrate the same
|
||||
commercial surface differently.
|
||||
The same title and description should also feed the `system-billing` route
|
||||
header metadata so the settings shell and the route header do not narrate the
|
||||
same commercial surface differently.
|
||||
Paid Pulse Pro v5 grandfathering is now part of that same canonical boundary:
|
||||
when a recurring v5 customer migrates into v6, billing persistence,
|
||||
entitlement evaluation, renewal handling, and Pro-license presentation must
|
||||
|
||||
@@ -157,7 +157,7 @@ work extends shared components instead of creating new local variants.
|
||||
5. When a settings route header and a top-level settings shell describe the same
|
||||
commercial surface, keep them on the same shared presentation owner instead
|
||||
of allowing route metadata in `settingsHeaderMeta.ts` to drift into
|
||||
independent copy.
|
||||
independent title or description copy.
|
||||
|
||||
## Current State
|
||||
|
||||
@@ -1250,7 +1250,8 @@ same shell boundary as
|
||||
`frontend-modern/src/components/Settings/ProLicensePanel.tsx` and the shared
|
||||
commercial presentation owner in
|
||||
`frontend-modern/src/utils/licensePresentation.ts`; the `system-billing`
|
||||
header description must reuse
|
||||
header title and description must reuse
|
||||
`SELF_HOSTED_PRO_BILLING_PRESENTATION.shellTitle` and
|
||||
`SELF_HOSTED_PRO_BILLING_PRESENTATION.shellDescription` so the route header and
|
||||
the billing shell do not narrate the same commercial surface differently.
|
||||
`frontend-modern/src/components/Settings/NetworkSettingsPanel.tsx` is now a
|
||||
|
||||
@@ -337,7 +337,7 @@ const canonicalShellTitleExpectations = [
|
||||
},
|
||||
{
|
||||
tab: 'system-billing',
|
||||
title: 'Pulse Pro',
|
||||
title: SELF_HOSTED_PRO_BILLING_PRESENTATION.shellTitle,
|
||||
source: proLicensePanelSource,
|
||||
},
|
||||
{
|
||||
@@ -1272,6 +1272,9 @@ describe('Settings architecture guardrails', () => {
|
||||
expect(SETTINGS_HEADER_META['infrastructure-operations'].description).not.toContain(
|
||||
'installed-agent',
|
||||
);
|
||||
expect(SETTINGS_HEADER_META['system-billing'].title).toBe(
|
||||
SELF_HOSTED_PRO_BILLING_PRESENTATION.shellTitle,
|
||||
);
|
||||
expect(SETTINGS_HEADER_META['system-billing'].description).toBe(
|
||||
SELF_HOSTED_PRO_BILLING_PRESENTATION.shellDescription,
|
||||
);
|
||||
|
||||
@@ -38,7 +38,7 @@ export const SETTINGS_HEADER_META: SettingsHeaderMetaMap = {
|
||||
'Configure Pulse relay connectivity for secure remote access (mobile rollout coming soon).',
|
||||
},
|
||||
'system-billing': {
|
||||
title: 'Pulse Pro',
|
||||
title: SELF_HOSTED_PRO_BILLING_PRESENTATION.shellTitle,
|
||||
description: SELF_HOSTED_PRO_BILLING_PRESENTATION.shellDescription,
|
||||
},
|
||||
'organization-overview': {
|
||||
|
||||
Reference in New Issue
Block a user