summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/diff-changes.tsx
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2025-11-10 13:44:12 +0000
committerDavid Hill <[email protected]>2025-11-10 13:44:12 +0000
commitc6e830c954418808dc39284a1c073aa63a6d4d21 (patch)
tree9c3052e0509115188768a553c0be5a8441ebdd96 /packages/ui/src/components/diff-changes.tsx
parent7088bfabd773e2f076aab1c9d2468c04feff0570 (diff)
parentfc78c28df64383a9f99382093f61fc28caf6569f (diff)
downloadopencode-c6e830c954418808dc39284a1c073aa63a6d4d21.tar.gz
opencode-c6e830c954418808dc39284a1c073aa63a6d4d21.zip
Merge branch 'dev' of https://github.com/sst/opencode into dev
Diffstat (limited to 'packages/ui/src/components/diff-changes.tsx')
-rw-r--r--packages/ui/src/components/diff-changes.tsx21
1 files changed, 12 insertions, 9 deletions
diff --git a/packages/ui/src/components/diff-changes.tsx b/packages/ui/src/components/diff-changes.tsx
index e6c04f519..a8ab737f7 100644
--- a/packages/ui/src/components/diff-changes.tsx
+++ b/packages/ui/src/components/diff-changes.tsx
@@ -1,18 +1,21 @@
-import type { FileDiff } from "@opencode-ai/sdk"
import { createMemo, For, Match, Show, Switch } from "solid-js"
-export function DiffChanges(props: { diff: FileDiff | FileDiff[]; variant?: "default" | "bars" }) {
+export function DiffChanges(props: {
+ class?: string
+ changes: { additions: number; deletions: number } | { additions: number; deletions: number }[]
+ variant?: "default" | "bars"
+}) {
const variant = () => props.variant ?? "default"
const additions = createMemo(() =>
- Array.isArray(props.diff)
- ? props.diff.reduce((acc, diff) => acc + (diff.additions ?? 0), 0)
- : props.diff.additions,
+ Array.isArray(props.changes)
+ ? props.changes.reduce((acc, diff) => acc + (diff.additions ?? 0), 0)
+ : props.changes.additions,
)
const deletions = createMemo(() =>
- Array.isArray(props.diff)
- ? props.diff.reduce((acc, diff) => acc + (diff.deletions ?? 0), 0)
- : props.diff.deletions,
+ Array.isArray(props.changes)
+ ? props.changes.reduce((acc, diff) => acc + (diff.deletions ?? 0), 0)
+ : props.changes.deletions,
)
const total = createMemo(() => (additions() ?? 0) + (deletions() ?? 0))
@@ -90,7 +93,7 @@ export function DiffChanges(props: { diff: FileDiff | FileDiff[]; variant?: "def
return (
<Show when={variant() === "default" ? total() > 0 : true}>
- <div data-component="diff-changes" data-variant={variant()}>
+ <div data-component="diff-changes" data-variant={variant()} classList={{ [props.class ?? ""]: true }}>
<Switch>
<Match when={variant() === "bars"}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 12" fill="none">