summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/app/src/components/dialog-select-model.tsx11
-rw-r--r--packages/ui/src/components/list.tsx12
2 files changed, 4 insertions, 19 deletions
diff --git a/packages/app/src/components/dialog-select-model.tsx b/packages/app/src/components/dialog-select-model.tsx
index c614c2d49..d54f9369a 100644
--- a/packages/app/src/components/dialog-select-model.tsx
+++ b/packages/app/src/components/dialog-select-model.tsx
@@ -7,8 +7,6 @@ import { Button } from "@opencode-ai/ui/button"
import { Tag } from "@opencode-ai/ui/tag"
import { Dialog } from "@opencode-ai/ui/dialog"
import { List } from "@opencode-ai/ui/list"
-import { ProviderIcon } from "@opencode-ai/ui/provider-icon"
-import type { IconName } from "@opencode-ai/ui/icons/provider"
import { DialogSelectProvider } from "./dialog-select-provider"
import { DialogManageModels } from "./dialog-manage-models"
@@ -37,12 +35,6 @@ const ModelList: Component<{
filterKeys={["provider.name", "name", "id"]}
sortBy={(a, b) => a.name.localeCompare(b.name)}
groupBy={(x) => x.provider.name}
- groupHeader={(group) => (
- <div class="flex items-center gap-x-3">
- <ProviderIcon data-slot="list-item-extra-icon" id={group.items[0].provider.id as IconName} />
- <span>{group.category}</span>
- </div>
- )}
sortGroupsBy={(a, b) => {
if (a.category === "Recent" && b.category !== "Recent") return -1
if (b.category === "Recent" && a.category !== "Recent") return 1
@@ -60,8 +52,7 @@ const ModelList: Component<{
}}
>
{(i) => (
- <div class="w-full flex items-center gap-x-3 pl-1 text-13-regular">
- <ProviderIcon data-slot="list-item-extra-icon" id={i.provider.id as IconName} />
+ <div class="w-full flex items-center gap-x-2 text-13-regular">
<span class="truncate">{i.name}</span>
<Show when={i.provider.id === "opencode" && (!i.cost || i.cost?.input === 0)}>
<Tag>Free</Tag>
diff --git a/packages/ui/src/components/list.tsx b/packages/ui/src/components/list.tsx
index 8c92728d7..dc83db53a 100644
--- a/packages/ui/src/components/list.tsx
+++ b/packages/ui/src/components/list.tsx
@@ -10,15 +10,9 @@ export interface ListSearchProps {
autofocus?: boolean
}
-export interface ListGroup<T> {
- category: string
- items: T[]
-}
-
export interface ListProps<T> extends FilteredListProps<T> {
class?: string
children: (item: T) => JSX.Element
- groupHeader?: (group: ListGroup<T>) => JSX.Element
emptyMessage?: string
onKeyEvent?: (event: KeyboardEvent, item: T | undefined) => void
onMove?: (item: T | undefined) => void
@@ -122,7 +116,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
setScrollRef,
})
- function GroupHeader(groupProps: { category: string; children?: JSX.Element }): JSX.Element {
+ function GroupHeader(groupProps: { category: string }): JSX.Element {
const [stuck, setStuck] = createSignal(false)
const [header, setHeader] = createSignal<HTMLDivElement | undefined>(undefined)
@@ -144,7 +138,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
return (
<div data-slot="list-header" data-stuck={stuck()} ref={setHeader}>
- {groupProps.children ?? groupProps.category}
+ {groupProps.category}
</div>
)
}
@@ -191,7 +185,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
{(group) => (
<div data-slot="list-group">
<Show when={group.category}>
- <GroupHeader category={group.category}>{props.groupHeader?.(group)}</GroupHeader>
+ <GroupHeader category={group.category} />
</Show>
<div data-slot="list-items">
<For each={group.items}>