feat: add opentui interface for opencode

- Add comprehensive TUI interface with React Ink components
- Implement session management, model selection, and command dialogs
- Add theme system with customizable colors and styling
- Integrate with existing opencode server and SDK
- Add todo management and file browsing capabilities
- Include proper TypeScript support and error handling
This commit is contained in:
Dax Raad 2025-09-19 17:21:04 -04:00
commit 02848a350c
69 changed files with 3240 additions and 349 deletions

View file

@ -110,7 +110,10 @@ export function ContentDiff(props: Props) {
})
const mobileRows = createMemo(() => {
const mobileBlocks: { type: "removed" | "added" | "unchanged"; lines: string[] }[] = []
const mobileBlocks: {
type: "removed" | "added" | "unchanged"
lines: string[]
}[] = []
const currentRows = rows()
let i = 0

View file

@ -174,6 +174,12 @@ export function Part(props: PartProps) {
<div data-slot="filename">{props.part.filename}</div>
</div>
)}
{props.message.role === "user" && props.part.type === "file" && (
<div data-component="attachment">
<div data-slot="copy">Attachment</div>
<div data-slot="filename">{props.part.filename}</div>
</div>
)}
{props.part.type === "step-start" && props.message.role === "assistant" && (
<div data-component="step-start">
<div data-slot="provider">{props.message.providerID}</div>