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-select-model.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-select-model.tsx')
| -rw-r--r-- | packages/app/src/components/dialog-select-model.tsx | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/packages/app/src/components/dialog-select-model.tsx b/packages/app/src/components/dialog-select-model.tsx index 3654aab85..cb688c30a 100644 --- a/packages/app/src/components/dialog-select-model.tsx +++ b/packages/app/src/components/dialog-select-model.tsx @@ -10,8 +10,6 @@ import { Tag } from "@opencode-ai/ui/tag" import { Dialog } from "@opencode-ai/ui/dialog" import { List } from "@opencode-ai/ui/list" import { Tooltip } from "@opencode-ai/ui/tooltip" -import { DialogSelectProvider } from "./dialog-select-provider" -import { DialogManageModels } from "./dialog-manage-models" import { ModelTooltip } from "./model-tooltip" import { useLanguage } from "@/context/language" @@ -107,12 +105,16 @@ export function ModelSelectorPopover(props: { const handleManage = () => { setStore("open", false) - dialog.show(() => <DialogManageModels />) + void import("./dialog-manage-models").then((x) => { + dialog.show(() => <x.DialogManageModels />) + }) } const handleConnectProvider = () => { setStore("open", false) - dialog.show(() => <DialogSelectProvider />) + void import("./dialog-select-provider").then((x) => { + dialog.show(() => <x.DialogSelectProvider />) + }) } const language = useLanguage() @@ -193,26 +195,29 @@ export const DialogSelectModel: Component<{ provider?: string; model?: ModelStat const dialog = useDialog() const language = useLanguage() + const provider = () => { + void import("./dialog-select-provider").then((x) => { + dialog.show(() => <x.DialogSelectProvider />) + }) + } + + const manage = () => { + void import("./dialog-manage-models").then((x) => { + dialog.show(() => <x.DialogManageModels />) + }) + } + return ( <Dialog title={language.t("dialog.model.select.title")} action={ - <Button - class="h-7 -my-1 text-14-medium" - icon="plus-small" - tabIndex={-1} - onClick={() => dialog.show(() => <DialogSelectProvider />)} - > + <Button class="h-7 -my-1 text-14-medium" icon="plus-small" tabIndex={-1} onClick={provider}> {language.t("command.provider.connect")} </Button> } > <ModelList provider={props.provider} model={props.model} onSelect={() => dialog.close()} /> - <Button - variant="ghost" - class="ml-3 mt-5 mb-6 text-text-base self-start" - onClick={() => dialog.show(() => <DialogManageModels />)} - > + <Button variant="ghost" class="ml-3 mt-5 mb-6 text-text-base self-start" onClick={manage}> {language.t("dialog.model.manage")} </Button> </Dialog> |
