@@ -10,6 +10,7 @@ import { Skeleton } from "ui/skeleton";
1010
1111import { handleErrorWithToast } from "ui/shared-toast" ;
1212import { Plus } from "lucide-react" ;
13+ import { ScrollArea } from "ui/scroll-area" ;
1314
1415export default function Page ( ) {
1516 const { data : mcpList , isLoading } = useSWR (
@@ -23,39 +24,41 @@ export default function Page() {
2324 ) ;
2425
2526 return (
26- < div className = "relative flex flex-col gap-4 px-8 py-8 max-w-3xl mx-auto" >
27- < div className = "flex items-center mb-4" >
28- < h1 className = "text-2xl font-bold" > MCP Servers</ h1 >
29- < div className = "flex-1" />
27+ < ScrollArea className = "h-full w-full" >
28+ < div className = "flex-1 relative flex flex-col gap-4 px-8 py-8 max-w-3xl h-full mx-auto" >
29+ < div className = "flex items-center mb-4" >
30+ < h1 className = "text-2xl font-bold" > MCP Servers</ h1 >
31+ < div className = "flex-1" />
3032
31- < div className = "flex gap-2" >
32- < Link href = "/mcp/create" >
33- < Button
34- className = "border-dashed border-foreground/20 font-semibold"
35- variant = "outline"
36- >
37- < Plus className = "stroke-2" />
38- Add MCP Server
39- </ Button >
40- </ Link >
33+ < div className = "flex gap-2" >
34+ < Link href = "/mcp/create" >
35+ < Button
36+ className = "border-dashed border-foreground/20 font-semibold"
37+ variant = "outline"
38+ >
39+ < Plus className = "stroke-2" />
40+ Add MCP Server
41+ </ Button >
42+ </ Link >
43+ </ div >
4144 </ div >
45+ { isLoading ? (
46+ < div className = "flex flex-col gap-4" >
47+ < Skeleton className = "h-60 w-full" />
48+ < Skeleton className = "h-60 w-full" />
49+ < Skeleton className = "h-60 w-full" />
50+ </ div >
51+ ) : mcpList ?. length ? (
52+ < div className = "flex flex-col gap-6 my-4" >
53+ { mcpList . map ( ( mcp ) => (
54+ < MCPCard key = { mcp . name } { ...mcp } />
55+ ) ) }
56+ </ div >
57+ ) : (
58+ // When MCP list is empty
59+ < MCPOverview />
60+ ) }
4261 </ div >
43- { isLoading ? (
44- < div className = "flex flex-col gap-4" >
45- < Skeleton className = "h-60 w-full" />
46- < Skeleton className = "h-60 w-full" />
47- < Skeleton className = "h-60 w-full" />
48- </ div >
49- ) : mcpList ?. length ? (
50- < div className = "flex flex-col gap-6 my-4" >
51- { mcpList . map ( ( mcp ) => (
52- < MCPCard key = { mcp . name } { ...mcp } />
53- ) ) }
54- </ div >
55- ) : (
56- // When MCP list is empty
57- < MCPOverview />
58- ) }
59- </ div >
62+ </ ScrollArea >
6063 ) ;
6164}
0 commit comments