refactor(tui): simplify config context

This commit is contained in:
Dax Raad
2026-07-12 17:12:48 -04:00
parent 3c60470269
commit f8f8cc9546
27 changed files with 135 additions and 142 deletions
@@ -33,7 +33,7 @@ async function mountPrompt(input: {
{ DialogPrompt },
{ KVProvider },
{ ThemeProvider },
{ TuiConfigProvider },
{ ConfigProvider },
{ ToastProvider },
{ OpencodeKeymapProvider, registerOpencodeKeymap },
] = await Promise.all([
@@ -66,7 +66,7 @@ async function mountPrompt(input: {
}}
>
<OpencodeKeymapProvider keymap={keymap}>
<TuiConfigProvider config={resolvedConfig}>
<ConfigProvider config={resolvedConfig}>
<KVProvider>
<ThemeProvider mode="dark">
<ToastProvider>
@@ -76,7 +76,7 @@ async function mountPrompt(input: {
</ToastProvider>
</ThemeProvider>
</KVProvider>
</TuiConfigProvider>
</ConfigProvider>
</OpencodeKeymapProvider>
</TestTuiContexts>
)
@@ -6,7 +6,7 @@ import type { JSX } from "solid-js"
import { createTuiResolvedConfig } from "../../fixture/tui-runtime"
import { KVProvider } from "../../../src/context/kv"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { ConfigProvider } from "../../../src/config"
import { DiffViewerFileTree } from "../../../src/feature-plugins/system/diff-viewer-file-tree"
import { TestTuiContexts } from "../../fixture/tui-environment"
import {
@@ -181,11 +181,11 @@ async function captureSettledFrame(app: Awaited<ReturnType<typeof testRender>>)
function withTheme(component: () => JSX.Element) {
return (
<TestTuiContexts>
<TuiConfigProvider config={createTuiResolvedConfig()}>
<ConfigProvider config={createTuiResolvedConfig()}>
<KVProvider>
<ThemeProvider mode="dark">{component()}</ThemeProvider>
</KVProvider>
</TuiConfigProvider>
</ConfigProvider>
</TestTuiContexts>
)
}
@@ -7,7 +7,7 @@ import type { TuiPluginApi, TuiPluginMeta, TuiRouteCurrent, TuiRouteDefinition }
import type { Session } from "@opencode-ai/sdk/v2"
import { KVProvider } from "../../../src/context/kv"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { ConfigProvider } from "../../../src/config"
import { SDKProvider } from "../../../src/context/sdk"
import { TuiKeybind } from "../../../src/config/keybind"
import { OpencodeKeymapProvider } from "../../../src/keymap"
@@ -173,13 +173,13 @@ async function renderDiffViewer(vcsDiff: unknown[], height = 20, initialRoute?:
<TestTuiContexts>
<SDKProvider client={createClient(transport.fetch)} api={createApi(transport.fetch)}>
<OpencodeKeymapProvider keymap={keymap}>
<TuiConfigProvider config={config}>
<ConfigProvider config={config}>
<KVProvider>
<ThemeProvider mode="dark">
{renderDiff?.({ params: "params" in current ? current.params : undefined })}
</ThemeProvider>
</KVProvider>
</TuiConfigProvider>
</ConfigProvider>
</OpencodeKeymapProvider>
</SDKProvider>
</TestTuiContexts>
+3 -3
View File
@@ -10,7 +10,7 @@ import type { FormWithLocation } from "../../../src/context/data"
import { KVProvider } from "../../../src/context/kv"
import { SDKProvider } from "../../../src/context/sdk"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { ConfigProvider } from "../../../src/config"
import { OpencodeKeymapProvider, registerOpencodeKeymap } from "../../../src/keymap"
import { ToastProvider } from "../../../src/ui/toast"
import { tmpdir } from "../../fixture/fixture"
@@ -76,7 +76,7 @@ async function mountForm(root: string, width = 80) {
}}
>
<OpencodeKeymapProvider keymap={keymap}>
<TuiConfigProvider config={config}>
<ConfigProvider config={config}>
<SDKProvider client={createClient(transport.fetch)} api={createApi(transport.fetch)}>
<KVProvider>
<ThemeProvider mode="dark" source={{ discover: () => Promise.resolve({}) }}>
@@ -86,7 +86,7 @@ async function mountForm(root: string, width = 80) {
</ThemeProvider>
</KVProvider>
</SDKProvider>
</TuiConfigProvider>
</ConfigProvider>
</OpencodeKeymapProvider>
</ClipboardProvider>
</TestTuiContexts>