diff options
| author | Adam <[email protected]> | 2026-03-26 13:41:22 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-26 13:41:22 -0500 |
| commit | c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa (patch) | |
| tree | 4d1a865b8890dc30767b66293923c15e2b3f6d24 /packages/app/src/components/dialog-connect-provider.tsx | |
| parent | 2e6ac8ff49eabcb1b62c1bd504338e7449f80c6e (diff) | |
| download | opencode-c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa.tar.gz opencode-c7760b433b1bdbcaed7e7cd55d53b5b331f0f0fa.zip | |
fix(app): more startup perf (#19288)
Diffstat (limited to 'packages/app/src/components/dialog-connect-provider.tsx')
| -rw-r--r-- | packages/app/src/components/dialog-connect-provider.tsx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/packages/app/src/components/dialog-connect-provider.tsx b/packages/app/src/components/dialog-connect-provider.tsx index e7eaa1fb2..41225d02a 100644 --- a/packages/app/src/components/dialog-connect-provider.tsx +++ b/packages/app/src/components/dialog-connect-provider.tsx @@ -15,13 +15,20 @@ import { Link } from "@/components/link" import { useGlobalSDK } from "@/context/global-sdk" import { useGlobalSync } from "@/context/global-sync" import { useLanguage } from "@/context/language" -import { DialogSelectProvider } from "./dialog-select-provider" +import { useProviders } from "@/hooks/use-providers" export function DialogConnectProvider(props: { provider: string }) { const dialog = useDialog() const globalSync = useGlobalSync() const globalSDK = useGlobalSDK() const language = useLanguage() + const providers = useProviders() + + const all = () => { + void import("./dialog-select-provider").then((x) => { + dialog.show(() => <x.DialogSelectProvider />) + }) + } const alive = { value: true } const timer = { current: undefined as ReturnType<typeof setTimeout> | undefined } @@ -33,7 +40,11 @@ export function DialogConnectProvider(props: { provider: string }) { timer.current = undefined }) - const provider = createMemo(() => globalSync.data.provider.all.find((x) => x.id === props.provider)!) + const provider = createMemo( + () => + providers.all().find((x) => x.id === props.provider) ?? + globalSync.data.provider.all.find((x) => x.id === props.provider)!, + ) const fallback = createMemo<ProviderAuthMethod[]>(() => [ { type: "api" as const, @@ -333,7 +344,7 @@ export function DialogConnectProvider(props: { provider: string }) { function goBack() { if (methods().length === 1) { - dialog.show(() => <DialogSelectProvider />) + all() return } if (store.authorization) { @@ -344,7 +355,7 @@ export function DialogConnectProvider(props: { provider: string }) { dispatch({ type: "method.reset" }) return } - dialog.show(() => <DialogSelectProvider />) + all() } function MethodSelection() { |
