Remove pricing counted-unit note

This commit is contained in:
rcourtman
2026-03-23 16:42:54 +00:00
parent a9a5bf1a5d
commit 898ea7da26
3 changed files with 6 additions and 21 deletions
@@ -316,6 +316,9 @@ That same counted-unit boundary also owns the disclosure rule for retail copy:
default billing and pricing surfaces should use concise monitored-system copy,
while the full counted-unit definition appears only behind explicit disclosure
such as `What counts?` instead of sitting as always-visible explanatory chrome.
The self-hosted pricing page should therefore stay focused on plan cards,
upgrade paths, and the comparison table rather than rendering a separate
counted-unit explainer card beneath the tier grid.
That contract applies to both plan summary labels and upgrade/paywall copy:
current v6 self-hosted pricing may not drift back to the older `$49/yr Relay`,
`$99/yr Pro`, or monitored-system-count marketing drift that contradicts the
-10
View File
@@ -21,12 +21,10 @@ import { logger } from '@/utils/logger';
import {
SELF_HOSTED_FEATURE_ROWS,
SELF_HOSTED_PLAN_BY_TIER,
SELF_HOSTED_MONITORED_SYSTEMS_BRIEF,
type SelfHostedFeatureRow,
type SelfHostedPlanDefinition,
type SelfHostedTierKey,
} from '@/utils/selfHostedPlans';
import { MonitoredSystemDefinitionDisclosure } from '@/components/Commercial/MonitoredSystemDefinitionDisclosure';
// ---------------------------------------------------------------------------
// Shared sub-components
@@ -341,14 +339,6 @@ export default function PricingV6() {
<TierCard tier={SELF_HOSTED_PLAN_BY_TIER.proPlus} cta={proPlusCta} />
</div>
<Card padding="lg" class="space-y-2">
<MonitoredSystemDefinitionDisclosure
summary={SELF_HOSTED_MONITORED_SYSTEMS_BRIEF}
summaryClass="text-sm text-base-content"
detailClass="max-w-3xl text-xs text-muted"
/>
</Card>
{/* Upsell links */}
<div class="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-sm text-muted">
<span>
@@ -1,5 +1,5 @@
import { describe, expect, it, vi } from 'vitest';
import { fireEvent, render, screen } from '@solidjs/testing-library';
import { render, screen } from '@solidjs/testing-library';
import type { JSX } from 'solid-js';
import PricingV6 from '../PricingV6';
@@ -66,17 +66,9 @@ describe('PricingV6', () => {
expect(screen.getByText('50 monitored systems')).toBeInTheDocument();
expect(screen.getByText('Feature Comparison')).toBeInTheDocument();
expect(
screen.getByText('Billing is based on monitored systems. Child resources are included.'),
).toBeInTheDocument();
expect(
screen.queryByText(/a monitored system is a top-level machine or cluster/i),
screen.queryByText('Billing is based on monitored systems. Child resources are included.'),
).not.toBeInTheDocument();
fireEvent.click(screen.getByRole('button', { name: 'What counts?' }));
expect(
screen.getByText(/a monitored system is a top-level machine or cluster/i),
).toBeInTheDocument();
expect(screen.queryByRole('button', { name: 'What counts?' })).not.toBeInTheDocument();
});
it('imports the shared self-hosted pricing model instead of redefining it locally', () => {