diff --git a/client/src/components/PromptsTab.tsx b/client/src/components/PromptsTab.tsx index 3e53df11..bf39ea62 100644 --- a/client/src/components/PromptsTab.tsx +++ b/client/src/components/PromptsTab.tsx @@ -9,12 +9,12 @@ import { PromptReference, ResourceReference, } from "@modelcontextprotocol/sdk/types.js"; -import { AlertCircle } from "lucide-react"; +import { AlertCircle, ChevronRight } from "lucide-react"; import { useEffect, useState } from "react"; import ListPane from "./ListPane"; import { useCompletionState } from "@/lib/hooks/useCompletionState"; import JsonView from "./JsonView"; -import IconDisplay from "./IconDisplay"; +import IconDisplay, { WithIcons } from "./IconDisplay"; export type Prompt = { name: string; @@ -110,12 +110,17 @@ const PromptsTab = ({ setPromptArgs({}); }} renderItem={(prompt) => ( -
- - {prompt.name} - - {prompt.description} - +
+
+ +
+
+ {prompt.name} + + {prompt.description} + +
+
)} title="Prompts" @@ -125,9 +130,17 @@ const PromptsTab = ({
-

- {selectedPrompt ? selectedPrompt.name : "Select a prompt"} -

+
+ {selectedPrompt && ( + + )} +

+ {selectedPrompt ? selectedPrompt.name : "Select a prompt"} +

+
{error ? ( diff --git a/client/src/components/ResourcesTab.tsx b/client/src/components/ResourcesTab.tsx index f44a8402..36e5cec8 100644 --- a/client/src/components/ResourcesTab.tsx +++ b/client/src/components/ResourcesTab.tsx @@ -17,6 +17,7 @@ import { useEffect, useState } from "react"; import { useCompletionState } from "@/lib/hooks/useCompletionState"; import JsonView from "./JsonView"; import { UriTemplate } from "@modelcontextprotocol/sdk/shared/uriTemplate.js"; +import IconDisplay, { WithIcons } from "./IconDisplay"; const ResourcesTab = ({ resources, @@ -129,7 +130,10 @@ const ResourcesTab = ({ }} renderItem={(resource) => (
- + + {!(resource as WithIcons).icons && ( + + )} {resource.name} @@ -159,7 +163,10 @@ const ResourcesTab = ({ }} renderItem={(template) => (
- + + {!(template as WithIcons).icons && ( + + )} {template.name} @@ -175,16 +182,26 @@ const ResourcesTab = ({
-

- {selectedResource - ? selectedResource.name - : selectedTemplate - ? selectedTemplate.name - : "Select a resource or template"} -

+
+ {(selectedResource || selectedTemplate) && ( + + )} +

+ {selectedResource + ? selectedResource.name + : selectedTemplate + ? selectedTemplate.name + : "Select a resource or template"} +

+
{selectedResource && (
{resourceSubscriptionsSupported && diff --git a/client/src/components/ToolsTab.tsx b/client/src/components/ToolsTab.tsx index 79509ede..047d327e 100644 --- a/client/src/components/ToolsTab.tsx +++ b/client/src/components/ToolsTab.tsx @@ -30,6 +30,7 @@ import { Send, ChevronDown, ChevronUp, + ChevronRight, AlertCircle, Copy, CheckCheck, @@ -159,12 +160,17 @@ const ToolsTab = ({ }} setSelectedItem={setSelectedTool} renderItem={(tool) => ( -
- - {tool.name} - - {tool.description} - +
+
+ +
+
+ {tool.name} + + {tool.description} + +
+
)} title="Tools" @@ -174,9 +180,6 @@ const ToolsTab = ({
-

- {selectedTool ? selectedTool.name : "Select a tool"} -

{selectedTool && (