Skip to content

Commit 75537c7

Browse files
authored
Merge pull request modelcontextprotocol#218 from cliffhall/fix-rules-of-hooks-warning
Fix ESLint rules-of-hooks warnings
2 parents dd0434c + dbaa731 commit 75537c7

File tree

1 file changed

+28
-27
lines changed

1 file changed

+28
-27
lines changed

client/src/App.tsx

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,6 @@ const PROXY_SERVER_URL = `http://${window.location.hostname}:${PROXY_PORT}`;
5252

5353
const App = () => {
5454
// Handle OAuth callback route
55-
if (window.location.pathname === "/oauth/callback") {
56-
const OAuthCallback = React.lazy(
57-
() => import("./components/OAuthCallback"),
58-
);
59-
return (
60-
<Suspense fallback={<div>Loading...</div>}>
61-
<OAuthCallback />
62-
</Suspense>
63-
);
64-
}
6555
const [resources, setResources] = useState<Resource[]>([]);
6656
const [resourceTemplates, setResourceTemplates] = useState<
6757
ResourceTemplate[]
@@ -114,22 +104,6 @@ const App = () => {
114104
const nextRequestId = useRef(0);
115105
const rootsRef = useRef<Root[]>([]);
116106

117-
const handleApproveSampling = (id: number, result: CreateMessageResult) => {
118-
setPendingSampleRequests((prev) => {
119-
const request = prev.find((r) => r.id === id);
120-
request?.resolve(result);
121-
return prev.filter((r) => r.id !== id);
122-
});
123-
};
124-
125-
const handleRejectSampling = (id: number) => {
126-
setPendingSampleRequests((prev) => {
127-
const request = prev.find((r) => r.id === id);
128-
request?.reject(new Error("Sampling request rejected"));
129-
return prev.filter((r) => r.id !== id);
130-
});
131-
};
132-
133107
const [selectedResource, setSelectedResource] = useState<Resource | null>(
134108
null,
135109
);
@@ -224,7 +198,7 @@ const App = () => {
224198
// Connect to the server
225199
connectMcpServer();
226200
}
227-
}, []);
201+
}, [connectMcpServer]);
228202

229203
useEffect(() => {
230204
fetch(`${PROXY_SERVER_URL}/config`)
@@ -253,6 +227,22 @@ const App = () => {
253227
}
254228
}, []);
255229

230+
const handleApproveSampling = (id: number, result: CreateMessageResult) => {
231+
setPendingSampleRequests((prev) => {
232+
const request = prev.find((r) => r.id === id);
233+
request?.resolve(result);
234+
return prev.filter((r) => r.id !== id);
235+
});
236+
};
237+
238+
const handleRejectSampling = (id: number) => {
239+
setPendingSampleRequests((prev) => {
240+
const request = prev.find((r) => r.id === id);
241+
request?.reject(new Error("Sampling request rejected"));
242+
return prev.filter((r) => r.id !== id);
243+
});
244+
};
245+
256246
const clearError = (tabKey: keyof typeof errors) => {
257247
setErrors((prev) => ({ ...prev, [tabKey]: null }));
258248
};
@@ -425,6 +415,17 @@ const App = () => {
425415
setLogLevel(level);
426416
};
427417

418+
if (window.location.pathname === "/oauth/callback") {
419+
const OAuthCallback = React.lazy(
420+
() => import("./components/OAuthCallback"),
421+
);
422+
return (
423+
<Suspense fallback={<div>Loading...</div>}>
424+
<OAuthCallback />
425+
</Suspense>
426+
);
427+
}
428+
428429
return (
429430
<div className="flex h-screen bg-background">
430431
<Sidebar

0 commit comments

Comments
 (0)