@@ -52,16 +52,6 @@ const PROXY_SERVER_URL = `http://${window.location.hostname}:${PROXY_PORT}`;
5252
5353const 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