Skip to content

Commit 5f8a72b

Browse files
authored
fix(tui): hide provider checks before onboarding (#24551)
1 parent 418a1cf commit 5f8a72b

5 files changed

Lines changed: 16 additions & 10 deletions

File tree

packages/opencode/src/cli/cmd/tui/app.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ import { SDKProvider, useSDK } from "@tui/context/sdk"
2929
import { StartupLoading } from "@tui/component/startup-loading"
3030
import { SyncProvider, useSync } from "@tui/context/sync"
3131
import { LocalProvider, useLocal } from "@tui/context/local"
32-
import { DialogModel, useConnected } from "@tui/component/dialog-model"
32+
import { DialogModel } from "@tui/component/dialog-model"
33+
import { useConnected } from "@tui/component/use-connected"
3334
import { DialogMcp } from "@tui/component/dialog-mcp"
3435
import { DialogStatus } from "@tui/component/dialog-status"
3536
import { DialogThemeList } from "@tui/component/dialog-theme-list"

packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,7 @@ import { createDialogProviderOptions, DialogProvider } from "./dialog-provider"
88
import { DialogVariant } from "./dialog-variant"
99
import { useKeybind } from "../context/keybind"
1010
import * as fuzzysort from "fuzzysort"
11-
12-
export function useConnected() {
13-
const sync = useSync()
14-
return createMemo(() =>
15-
sync.data.provider.some((x) => x.id !== "opencode" || Object.values(x.models).some((y) => y.cost?.input !== 0)),
16-
)
17-
}
11+
import { useConnected } from "./use-connected"
1812

1913
export function DialogModel(props: { providerID?: string }) {
2014
const local = useLocal()

packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { useKeyboard } from "@opentui/solid"
1414
import * as Clipboard from "@tui/util/clipboard"
1515
import { useToast } from "../ui/toast"
1616
import { isConsoleManagedProvider } from "@tui/util/provider-origin"
17+
import { useConnected } from "./use-connected"
1718

1819
const PROVIDER_PRIORITY: Record<string, number> = {
1920
opencode: 0,
@@ -30,6 +31,7 @@ export function createDialogProviderOptions() {
3031
const sdk = useSDK()
3132
const toast = useToast()
3233
const { theme } = useTheme()
34+
const onboarded = useConnected()
3335
const options = createMemo(() => {
3436
return pipe(
3537
sync.data.provider_next.all,
@@ -49,7 +51,7 @@ export function createDialogProviderOptions() {
4951
}[provider.id],
5052
footer: consoleManaged ? sync.data.console_state.activeOrgName : undefined,
5153
category: provider.id in PROVIDER_PRIORITY ? "Popular" : "Other",
52-
gutter: connected ? <text fg={theme.success}></text> : undefined,
54+
gutter: connected && onboarded() ? <text fg={theme.success}></text> : undefined,
5355
async onSelect() {
5456
if (consoleManaged) return
5557

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { createMemo } from "solid-js"
2+
import { useSync } from "@tui/context/sync"
3+
4+
export function useConnected() {
5+
const sync = useSync()
6+
return createMemo(() =>
7+
sync.data.provider.some((x) => x.id !== "opencode" || Object.values(x.models).some((y) => y.cost?.input !== 0)),
8+
)
9+
}

packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createMemo, Match, onCleanup, onMount, Show, Switch } from "solid-js"
22
import { useTheme } from "../../context/theme"
33
import { useSync } from "../../context/sync"
44
import { useDirectory } from "../../context/directory"
5-
import { useConnected } from "../../component/dialog-model"
5+
import { useConnected } from "../../component/use-connected"
66
import { createStore } from "solid-js/store"
77
import { useRoute } from "../../context/route"
88

0 commit comments

Comments
 (0)