chore: cleanup (#17284)

This commit is contained in:
Adam 2026-03-13 06:27:58 -05:00 committed by GitHub
commit 270cb0b8b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 516 additions and 357 deletions

View file

@ -6,6 +6,7 @@ import { useFileComponent } from "../context/file"
import { Binary } from "@opencode-ai/util/binary"
import { getDirectory, getFilename } from "@opencode-ai/util/path"
import { createEffect, createMemo, createSignal, For, on, ParentProps, Show } from "solid-js"
import { createStore } from "solid-js/store"
import { Dynamic } from "solid-js/web"
import { AssistantParts, Message, MessageDivider, PART_MAPPING, type UserActions } from "./message-part"
import { Card } from "./card"
@ -240,14 +241,18 @@ export function SessionTurn(
.reverse()
})
const edited = createMemo(() => diffs().length)
const [open, setOpen] = createSignal(false)
const [expanded, setExpanded] = createSignal<string[]>([])
const [state, setState] = createStore({
open: false,
expanded: [] as string[],
})
const open = () => state.open
const expanded = () => state.expanded
createEffect(
on(
open,
(value, prev) => {
if (!value && prev) setExpanded([])
if (!value && prev) setState("expanded", [])
},
{ defer: true },
),
@ -425,7 +430,7 @@ export function SessionTurn(
<SessionRetry status={status()} show={active()} />
<Show when={edited() > 0 && !working()}>
<div data-slot="session-turn-diffs">
<Collapsible open={open()} onOpenChange={setOpen} variant="ghost">
<Collapsible open={open()} onOpenChange={(value) => setState("open", value)} variant="ghost">
<Collapsible.Trigger>
<div data-component="session-turn-diffs-trigger">
<div data-slot="session-turn-diffs-title">
@ -447,7 +452,9 @@ export function SessionTurn(
multiple
style={{ "--sticky-accordion-offset": "40px" }}
value={expanded()}
onChange={(value) => setExpanded(Array.isArray(value) ? value : value ? [value] : [])}
onChange={(value) =>
setState("expanded", Array.isArray(value) ? value : value ? [value] : [])
}
>
<For each={diffs()}>
{(diff) => {