GHHG10/CodeServer / opencode /packages /ui /src /v2 /components /diff-changes-v2.tsx
GHHG10's picture
download
raw
981 Bytes
import { createMemo, Show } from "solid-js"
import "./diff-changes-v2.css"
export function DiffChanges(props: {
class?: string
changes: { additions: number; deletions: number } | { additions: number; deletions: number }[]
}) {
const additions = createMemo(() =>
Array.isArray(props.changes)
? props.changes.reduce((acc, diff) => acc + (diff.additions ?? 0), 0)
: props.changes.additions,
)
const deletions = createMemo(() =>
Array.isArray(props.changes)
? props.changes.reduce((acc, diff) => acc + (diff.deletions ?? 0), 0)
: props.changes.deletions,
)
const total = createMemo(() => (additions() ?? 0) + (deletions() ?? 0))
return (
<Show when={total() > 0}>
<div data-component="diff-changes" classList={{ [props.class ?? ""]: true }}>
<span data-slot="diff-changes-additions">{`+${additions()}`}</span>
<span data-slot="diff-changes-deletions">{`-${deletions()}`}</span>
</div>
</Show>
)
}

Xet Storage Details

Size:
981 Bytes
·
Xet hash:
ad76fec86f11ba086b4315f7f3204dcbf81d4e7c4772812605d974103731efa7

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.