This commit is contained in:
Aiden Cline 2025-12-01 18:24:30 -06:00
commit b6312a10f8

View file

@ -2,7 +2,7 @@ import { render, useKeyboard, useRenderer, useTerminalDimensions } from "@opentu
import { Clipboard } from "@tui/util/clipboard" import { Clipboard } from "@tui/util/clipboard"
import { TextAttributes } from "@opentui/core" import { TextAttributes } from "@opentui/core"
import { RouteProvider, useRoute } from "@tui/context/route" import { RouteProvider, useRoute } from "@tui/context/route"
import { Switch, Match, createEffect, untrack, ErrorBoundary, createSignal, onMount, batch, Show } from "solid-js" import { Switch, Match, createEffect, untrack, ErrorBoundary, createSignal, onMount, batch, Show, on } from "solid-js"
import { Installation } from "@/installation" import { Installation } from "@/installation"
import { Global } from "@/global" import { Global } from "@/global"
import { DialogProvider, useDialog } from "@tui/ui/dialog" import { DialogProvider, useDialog } from "@tui/ui/dialog"
@ -188,7 +188,6 @@ function App() {
}) })
let continued = false let continued = false
let providerPrompted = false
createEffect(() => { createEffect(() => {
if (continued || sync.status !== "complete" || !args.continue) return if (continued || sync.status !== "complete" || !args.continue) return
const match = sync.data.session.at(0)?.id const match = sync.data.session.at(0)?.id
@ -198,21 +197,17 @@ function App() {
} }
}) })
createEffect(() => { createEffect(
if (sync.status !== "complete") return on(
if (sync.data.provider.length > 0) { () => sync.status === "complete" && sync.data.provider.length === 0,
providerPrompted = false (isEmpty, wasEmpty) => {
return // only trigger when we transition into an empty-provider state
} if (!isEmpty || wasEmpty) return
if (providerPrompted) return dialog.replace(() => <DialogProviderList />)
providerPrompted = true },
toast.show({ { defer: true },
variant: "warning", ),
message: "Connect a provider to start using OpenCode", )
duration: 4000,
})
dialog.replace(() => <DialogProviderList />)
})
command.register(() => [ command.register(() => [
{ {