diff --git a/site/src/pages/AgentsPage/ChatModelAdminPanel/ChatModelAdminPanel.tsx b/site/src/pages/AgentsPage/ChatModelAdminPanel/ChatModelAdminPanel.tsx index 920ff3d5b6..9c7d03816c 100644 --- a/site/src/pages/AgentsPage/ChatModelAdminPanel/ChatModelAdminPanel.tsx +++ b/site/src/pages/AgentsPage/ChatModelAdminPanel/ChatModelAdminPanel.tsx @@ -13,7 +13,7 @@ import type * as TypesGen from "api/typesGenerated"; import { Alert, AlertDescription, AlertTitle } from "components/Alert/Alert"; import { ErrorAlert } from "components/Alert/ErrorAlert"; import { Spinner } from "components/Spinner/Spinner"; -import { type FC, useMemo, useState } from "react"; +import { type FC, type ReactNode, useMemo, useState } from "react"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { cn } from "utils/cn"; import { formatProviderLabel } from "../modelOptions"; @@ -203,12 +203,16 @@ interface ChatModelAdminPanelProps { className?: string; section?: ChatModelAdminSection; sectionLabel?: string; + sectionDescription?: string; + sectionBadge?: ReactNode; } export const ChatModelAdminPanel: FC = ({ className, section = "providers", sectionLabel, + sectionDescription, + sectionBadge, }) => { const queryClient = useQueryClient(); const [requestedProvider, setRequestedProvider] = useState( @@ -311,6 +315,8 @@ export const ChatModelAdminPanel: FC = ({ {section === "providers" ? ( = ({ ) : ( = ({ sectionLabel, + sectionDescription, + sectionBadge, providerStates, selectedProvider, selectedProviderState, @@ -164,7 +168,10 @@ export const ModelsSection: FC = ({ {sectionLabel && ( )} diff --git a/site/src/pages/AgentsPage/ChatModelAdminPanel/ProvidersSection.tsx b/site/src/pages/AgentsPage/ChatModelAdminPanel/ProvidersSection.tsx index b8e57f0fcc..4a16da495b 100644 --- a/site/src/pages/AgentsPage/ChatModelAdminPanel/ProvidersSection.tsx +++ b/site/src/pages/AgentsPage/ChatModelAdminPanel/ProvidersSection.tsx @@ -1,6 +1,6 @@ import type * as TypesGen from "api/typesGenerated"; import { CheckCircleIcon, ChevronRightIcon, CircleIcon } from "lucide-react"; -import { type FC, useState } from "react"; +import { type FC, type ReactNode, useState } from "react"; import { cn } from "utils/cn"; import { SectionHeader } from "../SectionHeader"; import type { ProviderState } from "./ChatModelAdminPanel"; @@ -11,6 +11,8 @@ type ProviderView = { mode: "list" } | { mode: "detail"; provider: string }; interface ProvidersSectionProps { sectionLabel?: string; + sectionDescription?: string; + sectionBadge?: ReactNode; providerStates: readonly ProviderState[]; providerConfigsUnavailable: boolean; isProviderMutationPending: boolean; @@ -27,6 +29,8 @@ interface ProvidersSectionProps { export const ProvidersSection: FC = ({ sectionLabel, + sectionDescription, + sectionBadge, providerStates, providerConfigsUnavailable, isProviderMutationPending, @@ -80,7 +84,10 @@ export const ProvidersSection: FC = ({ {sectionLabel && ( )}
diff --git a/site/src/pages/AgentsPage/ConfigureAgentsDialog.tsx b/site/src/pages/AgentsPage/ConfigureAgentsDialog.tsx index 93687b3ea2..f816f37782 100644 --- a/site/src/pages/AgentsPage/ConfigureAgentsDialog.tsx +++ b/site/src/pages/AgentsPage/ConfigureAgentsDialog.tsx @@ -338,24 +338,20 @@ export const ConfigureAgentsDialog: FC = ({ )} {activeSection === "providers" && canManageChatModelConfigs && ( - <> - } - />{" "} - - + } + /> )} {activeSection === "models" && canManageChatModelConfigs && ( - <> - } - />{" "} - - + } + /> )}