Skip to content

Commit 7b3cc20

Browse files
BrendonovichBenGu3
authored andcommitted
refactor(app): split session composer (anomalyco#33954)
1 parent 161f966 commit 7b3cc20

11 files changed

Lines changed: 710 additions & 701 deletions

packages/app/src/components/prompt-input.stories.tsx

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { createStore } from "solid-js/store"
33
import type { Todo } from "@opencode-ai/sdk/v2"
44
import { createPromptState } from "@/context/prompt"
5-
import { SessionComposerRegion } from "@/pages/session/composer"
5+
import { SessionComposerRegion, createSessionComposerRegionController } from "@/pages/session/composer"
66
import { createPromptInputHistory, PromptInput } from "./prompt-input"
77

88
function createPromptInputStoryRuntime() {
@@ -54,12 +54,6 @@ function PromptInputExample() {
5454
paid: true,
5555
loading: false,
5656
},
57-
projects: {
58-
available: [{ name: "Story project", worktree: "/tmp/story", sandboxes: [] }],
59-
directory: "/tmp/story",
60-
select() {},
61-
add() {},
62-
},
6357
session: {
6458
id: "story-session",
6559
tabs: {
@@ -142,7 +136,6 @@ function PromptInputWithOpenDock() {
142136
paid: true,
143137
loading: false,
144138
},
145-
projects: { available: [], directory: "/tmp/story", select: () => {}, add: () => {} },
146139
session: {
147140
id: "story-session",
148141
tabs: {
@@ -166,22 +159,37 @@ function PromptInputWithOpenDock() {
166159
closing: () => false,
167160
opening: () => false,
168161
}
169-
170162
return (
171163
<SessionComposerRegion
172-
state={state}
173-
sessionKey="story-session"
174-
sessionID="story-session"
175-
controls={inputControls}
176-
promptInput={{ ...input, ref: () => {}, newSessionWorktree: "", onNewSessionWorktreeReset: () => {} }}
177-
todo={{
178-
collapsed: controls.todoCollapsed,
179-
onToggle: () => setControls("todoCollapsed", (collapsed) => !collapsed),
180-
}}
181-
ready
182-
centered={false}
183-
onResponseSubmit={() => {}}
184-
setPromptDockRef={() => {}}
164+
controller={
165+
createSessionComposerRegionController({
166+
state,
167+
sessionKey: () => "story-session",
168+
sessionID: () => "story-session",
169+
prompt: input.state,
170+
ready: () => true,
171+
centered: () => false,
172+
todo: {
173+
collapsed: () => controls.todoCollapsed,
174+
onToggle: () => setControls("todoCollapsed", (collapsed) => !collapsed),
175+
},
176+
followup: () => undefined,
177+
revert: () => undefined,
178+
onResponseSubmit: () => {},
179+
openParent: () => {},
180+
setPromptRef: () => {},
181+
setDockRef: () => {},
182+
})
183+
}
184+
promptInput={
185+
<PromptInput
186+
controls={inputControls}
187+
{...input}
188+
ref={() => {}}
189+
newSessionWorktree=""
190+
onNewSessionWorktreeReset={() => {}}
191+
/>
192+
}
185193
/>
186194
)
187195
}

0 commit comments

Comments
 (0)