Skip to content

Commit da2ac8d

Browse files
committed
Clear error states when clicking around
1 parent 3bae267 commit da2ac8d

File tree

2 files changed

+46
-10
lines changed

2 files changed

+46
-10
lines changed

client/src/App.tsx

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ const App = () => {
8484
prompts: null,
8585
tools: null,
8686
});
87+
88+
const clearError = (tabKey: keyof typeof errors) => {
89+
setErrors((prev) => ({ ...prev, [tabKey]: null }));
90+
};
8791
const [command, setCommand] = useState<string>(() => {
8892
return localStorage.getItem("lastCommand") || "mcp-server-everything";
8993
});
@@ -529,32 +533,60 @@ const App = () => {
529533
<ResourcesTab
530534
resources={resources}
531535
resourceTemplates={resourceTemplates}
532-
listResources={listResources}
533-
listResourceTemplates={listResourceTemplates}
534-
readResource={readResource}
536+
listResources={() => {
537+
clearError("resources");
538+
listResources();
539+
}}
540+
listResourceTemplates={() => {
541+
clearError("resources");
542+
listResourceTemplates();
543+
}}
544+
readResource={(uri) => {
545+
clearError("resources");
546+
readResource(uri);
547+
}}
535548
selectedResource={selectedResource}
536-
setSelectedResource={setSelectedResource}
549+
setSelectedResource={(resource) => {
550+
clearError("resources");
551+
setSelectedResource(resource);
552+
}}
537553
resourceContent={resourceContent}
538554
nextCursor={nextResourceCursor}
539555
nextTemplateCursor={nextResourceTemplateCursor}
540556
error={errors.resources}
541557
/>
542558
<PromptsTab
543559
prompts={prompts}
544-
listPrompts={listPrompts}
545-
getPrompt={getPrompt}
560+
listPrompts={() => {
561+
clearError("prompts");
562+
listPrompts();
563+
}}
564+
getPrompt={(name, args) => {
565+
clearError("prompts");
566+
getPrompt(name, args);
567+
}}
546568
selectedPrompt={selectedPrompt}
547-
setSelectedPrompt={setSelectedPrompt}
569+
setSelectedPrompt={(prompt) => {
570+
clearError("prompts");
571+
setSelectedPrompt(prompt);
572+
}}
548573
promptContent={promptContent}
549574
nextCursor={nextPromptCursor}
550575
error={errors.prompts}
551576
/>
552577
<ToolsTab
553578
tools={tools}
554-
listTools={listTools}
555-
callTool={callTool}
579+
listTools={() => {
580+
clearError("tools");
581+
listTools();
582+
}}
583+
callTool={(name, params) => {
584+
clearError("tools");
585+
callTool(name, params);
586+
}}
556587
selectedTool={selectedTool}
557588
setSelectedTool={(tool) => {
589+
clearError("tools");
558590
setSelectedTool(tool);
559591
setToolResult(null);
560592
}}

client/src/components/ToolsTab.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ import { Button } from "@/components/ui/button";
33
import { Input } from "@/components/ui/input";
44
import { Label } from "@/components/ui/label";
55
import { TabsContent } from "@/components/ui/tabs";
6-
import { CallToolResult, ListToolsResult, Tool } from "@modelcontextprotocol/sdk/types.js";
6+
import {
7+
CallToolResult,
8+
ListToolsResult,
9+
Tool,
10+
} from "@modelcontextprotocol/sdk/types.js";
711
import { AlertCircle, Send } from "lucide-react";
812
import { useState } from "react";
913
import ListPane from "./ListPane";

0 commit comments

Comments
 (0)