From 157e76a18666c03200fcf944fd0131d6f4f00f07 Mon Sep 17 00:00:00 2001 From: mrzmyr Date: Fri, 10 Apr 2026 21:19:18 +0200 Subject: [PATCH 1/2] refactor(ui): adopt Badge component consistently MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces hand-rolled `` pill markup with the shared `` component in billing, team, source detail, and tools pages. Also documents the preference in AGENTS.md so new code reaches for `` and `` instead of reinventing them. No behaviour change — the visual output is equivalent to the previous inline styles, just routed through the shared component so the styling stays consistent across the app. --- AGENTS.md | 2 ++ apps/cloud/src/routes/billing.tsx | 9 +++++---- apps/cloud/src/routes/billing_.plans.tsx | 13 +++++++------ apps/cloud/src/routes/team.tsx | 9 ++++----- packages/react/src/pages/source-detail.tsx | 11 ++++------- packages/react/src/pages/tools.tsx | 5 ++--- 6 files changed, 24 insertions(+), 25 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index cf3bb1a18e..07150acd1b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,3 +1,5 @@ use effect vitest and run tests via vitest not bun test do not add any AI assistant, Claude, Anthropic, or Co-Authored-By attribution/trailers to commits, commit messages, PRs, or generated files + +- use , diff --git a/apps/cloud/src/routes/billing.tsx b/apps/cloud/src/routes/billing.tsx index cbdf013bb1..ca90c50795 100644 --- a/apps/cloud/src/routes/billing.tsx +++ b/apps/cloud/src/routes/billing.tsx @@ -1,6 +1,7 @@ import { createFileRoute, Link } from "@tanstack/react-router"; import { useCustomer, useListPlans } from "autumn-js/react"; import { Button } from "@executor/react/components/button"; +import { Badge } from "@executor/react/components/badge"; type Plan = NonNullable["data"]>[number]; @@ -68,14 +69,14 @@ function BillingPage() { {planName}

{isSwitching && ( - + Switching - +
)} {isCanceling && !isSwitching && ( - + Canceling - +
)}

diff --git a/apps/cloud/src/routes/billing_.plans.tsx b/apps/cloud/src/routes/billing_.plans.tsx index 8b941d0b60..9bba213343 100644 --- a/apps/cloud/src/routes/billing_.plans.tsx +++ b/apps/cloud/src/routes/billing_.plans.tsx @@ -2,6 +2,7 @@ import { useState } from "react"; import { createFileRoute, Link } from "@tanstack/react-router"; import { useCustomer, useListPlans } from "autumn-js/react"; import { Button } from "@executor/react/components/button"; +import { Badge } from "@executor/react/components/badge"; type Plan = NonNullable["data"]>[number]; @@ -120,19 +121,19 @@ function PlansPage() { {plan.name}

{isCurrent && ( - + Your plan - +
)} {isCanceling && ( - + Canceling - + )} {isScheduled && ( - + Scheduled - + )}

{meta.tagline}

diff --git a/apps/cloud/src/routes/team.tsx b/apps/cloud/src/routes/team.tsx index f2c65b1a19..e8fa47d520 100644 --- a/apps/cloud/src/routes/team.tsx +++ b/apps/cloud/src/routes/team.tsx @@ -13,6 +13,7 @@ import { DialogClose, } from "@executor/react/components/dialog"; import { Button } from "@executor/react/components/button"; +import { Badge } from "@executor/react/components/badge"; import { Input } from "@executor/react/components/input"; import { Label } from "@executor/react/components/label"; import { @@ -214,14 +215,12 @@ function TeamPage() { {member.name ?? member.email}

{member.isCurrentUser && ( - - You - + You )} {member.status === "pending" && ( - + Invited - + )} {member.name && ( diff --git a/packages/react/src/pages/source-detail.tsx b/packages/react/src/pages/source-detail.tsx index 1e9822d886..a18f61278c 100644 --- a/packages/react/src/pages/source-detail.tsx +++ b/packages/react/src/pages/source-detail.tsx @@ -14,6 +14,7 @@ import type { ToolSummary } from "../components/tool-tree"; import { useScope } from "../hooks/use-scope"; import type { SourcePlugin } from "../plugins/source-plugin"; import { Button } from "../components/button"; +import { Badge } from "../components/badge"; export function SourceDetailPage(props: { namespace: string; @@ -116,13 +117,9 @@ export function SourceDetailPage(props: { {sourceData?.name ?? namespace} {sourceData?.runtime && ( - - built-in - + built-in )} - - {sourceData?.kind ?? "source"} - + {sourceData?.kind ?? "source"} {Result.isSuccess(tools) && !editing && ( {sourceTools.length} {sourceTools.length === 1 ? "tool" : "tools"} @@ -208,7 +205,7 @@ export function SourceDetailPage(props: { onSuccess: () => (
{/* Left: tool tree */} -
+
)}
- - {t.sourceId} - + {t.sourceId}
))}
From e750f17eb136368d0de81f3b21719d28017e857e Mon Sep 17 00:00:00 2001 From: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:59:13 -0700 Subject: [PATCH 2/2] Update AGENTS.md --- AGENTS.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 07150acd1b..cf3bb1a18e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,3 @@ use effect vitest and run tests via vitest not bun test do not add any AI assistant, Claude, Anthropic, or Co-Authored-By attribution/trailers to commits, commit messages, PRs, or generated files - -- use ,