feat: show connected providers in /connect dialog (#8351)

This commit is contained in:
Akshar Patel
2026-01-14 02:35:59 -05:00
committed by GitHub
parent f9fcdead55
commit a57c8669b6

View File

@@ -26,11 +26,14 @@ export function createDialogProviderOptions() {
const sync = useSync()
const dialog = useDialog()
const sdk = useSDK()
const connected = createMemo(() => new Set(sync.data.provider_next.connected))
const options = createMemo(() => {
return pipe(
sync.data.provider_next.all,
sortBy((x) => PROVIDER_PRIORITY[x.id] ?? 99),
map((provider) => ({
map((provider) => {
const isConnected = connected().has(provider.id)
return {
title: provider.name,
value: provider.id,
description: {
@@ -39,6 +42,7 @@ export function createDialogProviderOptions() {
openai: "(ChatGPT Plus/Pro or API key)",
}[provider.id],
category: provider.id in PROVIDER_PRIORITY ? "Popular" : "Other",
footer: isConnected ? "Connected" : undefined,
async onSelect() {
const methods = sync.data.provider_auth[provider.id] ?? [
{
@@ -86,7 +90,8 @@ export function createDialogProviderOptions() {
return dialog.replace(() => <ApiMethod providerID={provider.id} title={method.label} />)
}
},
})),
}
}),
)
})
return options