11import type { RegistryImageMetadata } from '@/common/api/generated/types.gen'
22import { CardRegistryServer } from './card-registry-server'
33import { FormRunFromRegistry } from './form-run-from-registry'
4- import { useState } from 'react'
4+ import { useState , useMemo } from 'react'
55import { useFilterSort } from '@/common/hooks/use-filter-sort'
66import { InputSearch } from '@/common/components/ui/input-search'
77
@@ -13,12 +13,18 @@ export function GridCardsRegistryServer({
1313 const [ selectedServer , setSelectedServer ] =
1414 useState < RegistryImageMetadata | null > ( null )
1515 const [ isModalOpen , setIsModalOpen ] = useState ( false )
16+
17+ // Filter out filesystem servers
18+ const filteredServers = useMemo ( ( ) => {
19+ return servers . filter ( ( server ) => server . name !== 'filesystem' )
20+ } , [ servers ] )
21+
1622 const {
1723 filter,
1824 setFilter,
19- filteredData : filteredServers ,
25+ filteredData : filteredAndSortedServers ,
2026 } = useFilterSort ( {
21- data : servers ,
27+ data : filteredServers ,
2228 filterFields : ( server ) => [ server . name || '' , server . description || '' ] ,
2329 sortBy : ( server ) => server . name || '' ,
2430 } )
@@ -36,15 +42,15 @@ export function GridCardsRegistryServer({
3642 placeholder = "Search..."
3743 />
3844 < div className = "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4" >
39- { filteredServers . map ( ( server ) => (
45+ { filteredAndSortedServers . map ( ( server ) => (
4046 < CardRegistryServer
4147 key = { server . name }
4248 server = { server }
4349 onClick = { ( ) => handleCardClick ( server ) }
4450 />
4551 ) ) }
4652 </ div >
47- { filteredServers . length === 0 && (
53+ { filteredAndSortedServers . length === 0 && (
4854 < div className = "text-muted-foreground py-12 text-center" >
4955 < p className = "text-sm" >
5056 No registry servers found matching the current filter
0 commit comments