Files
pbakaus_impeccable/tests/framework-fixtures/vite8-react-pricing-cards/files/src/App.jsx
T
fc89b0ed62 Add /impeccable generate: agent-initiated live variants (Node-era squash)
Squash of the ten commits reviewed on PR #626, plus the last review
round's connection-aware roll call, before the rebase onto the Rust
engine: the generate command reference and router row, the overlay's
agent-target handling (roll call, leases, replay, rescue), the Node-era
live-server routes and live-generate CLI, the hook stand-down, the pricing
cards e2e fixture, and the unit, contract, e2e, and skill-behavior tests.
The server, CLI, hook, and pin halves are ported to the engine crates in
the commits that follow.

AI-assisted: implemented and tested with Claude Code under maintainer
direction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-15 05:45:49 +05:00

31 lines
1.1 KiB
React

const TIERS = [
{ id: 'starter', name: 'Starter', price: '$19/mo', blurb: 'For a single project and one seat.' },
{ id: 'studio', name: 'Studio', price: '$49/mo', blurb: 'For small teams shipping every week.' },
{ id: 'atelier', name: 'Atelier', price: '$120/mo', blurb: 'For agencies running many brands.' },
];
export default function App() {
return (
<main className="page">
<section className="hero">
<h1 className="hero-heading">A tall hero keeps the pricing far below the fold.</h1>
<p className="hero-hook">
The agent-target scenario must scroll the pricing section into view on its own.
</p>
</section>
<section className="pricing" id="pricing">
<h2 className="pricing-title">Simple pricing</h2>
<div className="pricing-grid">
{TIERS.map((tier) => (
<article key={tier.id} className="pricing-card">
<h3>{tier.name}</h3>
<p className="tier-price">{tier.price}</p>
<p>{tier.blurb}</p>
</article>
))}
</div>
</section>
</main>
);
}