@@ -28,14 +28,19 @@ export function ClustersList() {
2828 setFilterByNameValue ( e . currentTarget . value ?. toLowerCase ( ) || '' ) ;
2929 } , [ ] ) ;
3030
31- const clusters = useMemo ( ( ) =>
31+ const runningClusters = useMemo ( ( ) =>
3232 orgInfo ?. clusters
3333 ?. slice ( )
3434 . filter ( cluster => cluster . status !== 'TERMINATED' )
35+ . sort ( byClusterStatusThenName )
36+ || [ ] , [ orgInfo ?. clusters ] ) ;
37+
38+ const filteredClusters = useMemo ( ( ) =>
39+ runningClusters
3540 . filter ( curryFilterByFuzzySearch < Cluster > ( [ 'id' , 'name' ] , filterByNameValue ) )
36- . sort ( byClusterStatusThenName ) || [ ] , [ filterByNameValue , orgInfo ?. clusters ] ) ;
41+ || [ ] , [ filterByNameValue , runningClusters ] ) ;
3742
38- if ( orgInfo ?. clusters && ! orgInfo . clusters . length && create ) {
43+ if ( orgInfo && runningClusters . length === 0 && create ) {
3944 return < UpsertCluster /> ;
4045 }
4146 if ( savedClusterState ) {
@@ -73,12 +78,12 @@ export function ClustersList() {
7378 </ SubNavMenu >
7479 < section className = "mt-40 md:mt-32 px-4 pt-4 md:px-12 min-h-[calc(100vh-theme(spacing.32))]" >
7580 < div className = "grid grid-cols-1 gap-4 md:grid-cols-12 mb-4" >
76- { clusters . map ( ( cluster ) => (
81+ { filteredClusters . map ( ( cluster ) => (
7782 < div key = { cluster . id } className = "col-span-1 md:col-span-4 lg:col-span-3 2xl:col-span-2" >
7883 < ClusterCard cluster = { cluster } />
7984 </ div >
8085 ) ) }
81- { ! clusters . length && (
86+ { ! filteredClusters . length && (
8287 < div className = "col-span-1 md:col-span-12 text-center" >
8388 < h2 className = "my-4 text-xl" > No matches found.</ h2 >
8489 < Button variant = "outline" onClick = { clearFilterByNameValue } > Clear Filters</ Button >
0 commit comments