summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-26 09:55:37 -0600
committeradamelmore <[email protected]>2026-01-26 11:07:52 -0600
commitb8e8d82323f87080de377b4ac227356bac3e9726 (patch)
tree9e767fc98b49918989db7fdd36ec40fd094c6a18 /packages/app/src/components
parent801eb5d2cb868d0a14c056439e3898b110f4cc21 (diff)
downloadopencode-b8e8d82323f87080de377b4ac227356bac3e9726.tar.gz
opencode-b8e8d82323f87080de377b4ac227356bac3e9726.zip
chore: cleanup
Diffstat (limited to 'packages/app/src/components')
-rw-r--r--packages/app/src/components/file-tree.tsx15
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/app/src/components/file-tree.tsx b/packages/app/src/components/file-tree.tsx
index a48f0039f..c27ccbe6d 100644
--- a/packages/app/src/components/file-tree.tsx
+++ b/packages/app/src/components/file-tree.tsx
@@ -22,6 +22,7 @@ export default function FileTree(props: {
nodeClass?: string
level?: number
allowed?: readonly string[]
+ modified?: readonly string[]
draggable?: boolean
tooltip?: boolean
onFileClick?: (file: FileNode) => void
@@ -50,6 +51,12 @@ export default function FileTree(props: {
return { files, dirs }
})
+ const marks = createMemo(() => {
+ const modified = props.modified
+ if (!modified || modified.length === 0) return
+ return new Set(modified)
+ })
+
createEffect(() => {
const current = filter()
if (!current) return
@@ -89,7 +96,7 @@ export default function FileTree(props: {
<Dynamic
component={local.as ?? "div"}
classList={{
- "w-full flex items-center gap-x-2 rounded-md px-2 py-1 hover:bg-surface-raised-base-hover active:bg-surface-base-active transition-colors cursor-pointer": true,
+ "w-full min-w-0 flex items-center gap-x-2 rounded-md px-2 py-1 hover:bg-surface-raised-base-hover active:bg-surface-base-active transition-colors cursor-pointer": true,
...(local.classList ?? {}),
[local.class ?? ""]: !!local.class,
[props.nodeClass ?? ""]: !!props.nodeClass,
@@ -125,13 +132,16 @@ export default function FileTree(props: {
{local.children}
<span
classList={{
- "text-12-regular whitespace-nowrap truncate": true,
+ "flex-1 min-w-0 text-12-regular whitespace-nowrap truncate": true,
"text-text-weaker": local.node.ignored,
"text-text-weak": !local.node.ignored,
}}
>
{local.node.name}
</span>
+ {local.node.type === "file" && marks()?.has(local.node.path) ? (
+ <div class="shrink-0 size-1.5 rounded-full bg-surface-warning-strong" />
+ ) : null}
</Dynamic>
)
}
@@ -173,6 +183,7 @@ export default function FileTree(props: {
path={node.path}
level={level + 1}
allowed={props.allowed}
+ modified={props.modified}
draggable={props.draggable}
tooltip={props.tooltip}
onFileClick={props.onFileClick}