Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions apps/web/components/sections/GeneratorShowcase.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ const features: { title: string; body: string }[] = [
title: 'A real editor, not a dump',
body: 'Reorder, relabel, and delete steps, point-and-add assertions, mark secrets as env vars, and switch personalities live.',
},
{
title: 'Run to verify',
body: 'Replay the recording in a fresh window and watch each step pass or fail — confirm it works before you ship, not after.',
},
{
title: 'Export clean code',
body: 'One click writes a @playwright/test spec or a standalone HumanJS script — the same codegen the library ships.',
Expand All @@ -53,8 +57,9 @@ export function GeneratorShowcase() {
<p className="mt-6 max-w-xl text-balance text-base text-muted-strong md:text-lg">
One command opens a real Chromium window and a local dashboard. As you click, type,
scroll, and select, every action streams into a live editor as a step with a
role-first selector — then exports a clean, humanized Playwright test. No code until
you want it.
role-first selector. Hit <span className="text-foreground">Run</span> to replay it and
watch every step go green, then export a clean, humanized Playwright test. No code
until you want it.
</p>
</div>
</ScrollReveal>
Expand Down Expand Up @@ -129,8 +134,19 @@ export function GeneratorShowcase() {
</div>
</ScrollReveal>

<ScrollReveal delay={0.14}>
<dl className="mt-10 grid gap-x-8 gap-y-6 md:mt-12 md:grid-cols-3">
<ScrollReveal delay={0.12}>
<div className="mt-4 flex flex-wrap items-center gap-3 rounded-card-lg border border-hairline bg-surface px-5 py-3 font-mono text-sm">
<span className="text-accent">▶ Run</span>
<ArrowRight aria-hidden className="h-4 w-4 text-muted" />
<span className="flex items-center gap-1.5 font-medium text-emerald-400">
<span aria-hidden>✓</span> Passed
</span>
<span className="text-muted/70">· 6 steps · 4.2s</span>
</div>
</ScrollReveal>

<ScrollReveal delay={0.16}>
<dl className="mt-10 grid gap-x-8 gap-y-6 md:mt-12 md:grid-cols-2 lg:grid-cols-4">
{features.map((f) => (
<div key={f.title}>
<dt className="flex items-center gap-2 text-sm font-medium text-foreground">
Expand Down
2 changes: 1 addition & 1 deletion apps/web/components/sections/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export function Hero() {
animate={shouldReduceMotion ? undefined : 'visible'}
className="mb-8 font-mono text-[11px] uppercase tracking-[0.32em] text-muted"
>
<span className="text-accent">v0.9</span>
<span className="text-accent">v0.10</span>
<span aria-hidden className="mx-3 text-muted/40">
/
</span>
Expand Down
2 changes: 1 addition & 1 deletion apps/web/components/sections/HonestLimits.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export function HonestLimits() {
<span aria-hidden className="mx-2 text-muted/40">
·
</span>
latest <span className="text-accent">v0.9</span>
latest <span className="text-accent">v0.10</span>
</p>
</ScrollReveal>
</div>
Expand Down