import type { TuiPlugin, TuiPluginApi } from "@opencode-ai/plugin/tui" import type { BuiltinTuiPlugin } from "../builtins" import { createMemo, For, Show, createSignal } from "solid-js" import { TodoItem } from "../../component/todo-item" const id = "internal:sidebar-todo" function View(props: { api: TuiPluginApi; session_id: string }) { const [open, setOpen] = createSignal(true) const theme = () => props.api.theme.current const list = createMemo(() => props.api.state.session.todo(props.session_id)) const show = createMemo(() => list().length > 0 && list().some((item) => item.status !== "completed")) return ( list().length > 2 && setOpen((x) => !x)}> 2}> {open() ? "▼" : "▶"} Todo {(item) => } ) } const tui: TuiPlugin = async (api) => { api.slots.register({ order: 400, slots: { sidebar_content(_ctx, props) { return }, }, }) } const plugin: BuiltinTuiPlugin = { id, tui, } export default plugin