Skip to content

Commit 7f68ece

Browse files
committed
fix: align use case tabs and pills with design
1 parent ee7e436 commit 7f68ece

3 files changed

Lines changed: 28 additions & 12 deletions

File tree

landing/src/components/home/use-cases.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,11 @@ export function UseCases() {
9292
<div className="flex flex-wrap gap-1">
9393
{activeCase.tags.map((tag) => (
9494
<span
95-
className="rounded-[4px] bg-black/[0.04] px-2 py-1 text-xs font-medium text-black/40"
96-
key={tag}
95+
className="inline-flex items-center gap-1.5 rounded-[4px] bg-black/[0.04] px-2 py-1 text-xs font-medium text-black/40"
96+
key={tag.label}
9797
>
98-
{tag}
98+
<PixelIcon name={tag.icon} className="size-3.5" />
99+
{tag.label}
99100
</span>
100101
))}
101102
</div>

landing/src/components/pixel-icon.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { Braces } from "pixelarticons/react/Braces";
99
import { Bulletlist } from "pixelarticons/react/Bulletlist";
1010
import { Check } from "pixelarticons/react/Check";
1111
import { Clock } from "pixelarticons/react/Clock";
12+
import { Cloud } from "pixelarticons/react/Cloud";
1213
import { Coins } from "pixelarticons/react/Coins";
1314
import { CommentText } from "pixelarticons/react/CommentText";
1415
import { Copy } from "pixelarticons/react/Copy";
@@ -40,6 +41,7 @@ export type PixelIconName =
4041
| "braces"
4142
| "check"
4243
| "clock"
44+
| "cloud"
4345
| "coins"
4446
| "comment"
4547
| "copy"
@@ -74,6 +76,7 @@ const iconComponents: Record<PixelIconName, IconComponent> = {
7476
braces: Braces,
7577
check: Check,
7678
clock: Clock,
79+
cloud: Cloud,
7780
coins: Coins,
7881
comment: CommentText,
7982
copy: Copy,

landing/src/content/home.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const homeBenefits: Array<{
3737
export type HomeUseCase = {
3838
id: string;
3939
label: string;
40-
tags: string[];
40+
tags: Array<{ icon: PixelIconName; label: string }>;
4141
title: string;
4242
body: string;
4343
rows: Array<{ icon: PixelIconName; text: string }>;
@@ -50,8 +50,11 @@ export type HomeUseCase = {
5050
export const homeUseCases: HomeUseCase[] = [
5151
{
5252
id: "agentic-quality-assurance",
53-
label: "Agentic Quality Assurance",
54-
tags: ["Open Source", "Evidence"],
53+
label: "AGENTIC QUALITY ASSURANCE",
54+
tags: [
55+
{ icon: "github", label: "Open Source" },
56+
{ icon: "cloud", label: "Cloud" },
57+
],
5558
title: "Every PR ships with proof.",
5659
body: "An agent picks up a pull request, checks out the branch, builds the app, installs it, and walks the affected flow. Screenshots, accessibility-tree snapshots, and a written summary post back to the PR. The reviewer sees the work, not the run.",
5760
rows: [
@@ -75,8 +78,11 @@ export const homeUseCases: HomeUseCase[] = [
7578
},
7679
{
7780
id: "agentic-development",
78-
label: "Agentic Development",
79-
tags: ["Codex", "Claude Code"],
81+
label: "AGENTIC DEVELOPMENT",
82+
tags: [
83+
{ icon: "terminal", label: "Codex" },
84+
{ icon: "braces", label: "Claude Code" },
85+
],
8086
title: "Agents can change mobile UI and verify it themselves.",
8187
body: "Give your coding agent a real device loop: launch the app, inspect the current screen, tap semantic targets, and capture the result after each change. The agent can iterate on React Native work without asking a human to be the remote control.",
8288
rows: [
@@ -100,8 +106,11 @@ export const homeUseCases: HomeUseCase[] = [
100106
},
101107
{
102108
id: "development-loop",
103-
label: "Development Loop",
104-
tags: ["Local", "Fast feedback"],
109+
label: "DEVELOPMENT LOOP",
110+
tags: [
111+
{ icon: "device", label: "Local" },
112+
{ icon: "reload", label: "Fast feedback" },
113+
],
105114
title: "Tighten the mobile feedback loop.",
106115
body: "Run the same checks while developing that your agent will run in CI. Open a simulator or device, drive the feature, capture the UI state, and keep moving without switching into a manual QA rhythm.",
107116
rows: [
@@ -125,8 +134,11 @@ export const homeUseCases: HomeUseCase[] = [
125134
},
126135
{
127136
id: "migration-verification",
128-
label: "Migration Verification",
129-
tags: ["Brownfield", "Regression"],
137+
label: "MIGRATION VERIFICATION",
138+
tags: [
139+
{ icon: "shuffle", label: "Brownfield" },
140+
{ icon: "check", label: "Regression" },
141+
],
130142
title: "Prove a migration did not move the product backwards.",
131143
body: "When screens move between native and React Native, agents can compare the critical journeys before and after each step. Capture the behavior, not just screenshots, so migration work stays reviewable.",
132144
rows: [

0 commit comments

Comments
 (0)