@@ -105,17 +105,40 @@ const CohortLearnerList: React.FC<CohortLearnerListProp> = ({
105105 getCohortMemberList ( ) ;
106106 } , [ cohortId , reloadState , isLearnerAdded , isLearnerDeleted ] ) ;
107107
108+ // Reapply search filter when userData changes
109+ useEffect ( ( ) => {
110+ if ( userData ) {
111+ const query = searchTerm . toLowerCase ( ) . trim ( ) ;
112+ if ( ! query ) {
113+ setFilteredData ( userData ) ;
114+ } else {
115+ const filtered = userData . filter (
116+ ( data ) =>
117+ data ?. name ?. toLowerCase ( ) ?. includes ( query ) ||
118+ data ?. enrollmentNumber ?. toLowerCase ( ) ?. includes ( query )
119+ ) ;
120+ setFilteredData ( filtered ) ;
121+ }
122+ }
123+ } , [ userData , searchTerm ] ) ;
124+
108125 const handleLearnerDelete = ( ) => {
109126 setIsLearnerDeleted ( true ) ;
110127 } ;
111128 const handleSearch = ( searchTerm : string ) => {
112- // const query = event.target.value.toLowerCase();
113- // setSearchQuery(query);
129+ setSearchTerm ( searchTerm ) ;
130+ const query = searchTerm . toLowerCase ( ) . trim ( ) ;
131+
132+ if ( ! query ) {
133+ // If search is empty, show all data
134+ setFilteredData ( userData ) ;
135+ return ;
136+ }
114137
115138 const filtered = userData ?. filter (
116139 ( data ) =>
117- data ?. name ?. toLowerCase ( ) ?. includes ( searchTerm ) ||
118- data ?. enrollmentNumber ?. toLowerCase ( ) ?. includes ( searchTerm )
140+ data ?. name ?. toLowerCase ( ) ?. includes ( query ) ||
141+ data ?. enrollmentNumber ?. toLowerCase ( ) ?. includes ( query )
119142 ) ;
120143 setFilteredData ( filtered ) ;
121144 } ;
@@ -127,7 +150,7 @@ const CohortLearnerList: React.FC<CohortLearnerListProp> = ({
127150 < Loader showBackdrop = { true } loadingText = { t ( 'COMMON.LOADING' ) } />
128151 ) : (
129152 < >
130- { filteredData ?. length ? (
153+ { userData ?. length ? (
131154 < SearchBar
132155 onSearch = { handleSearch }
133156 value = { searchTerm }
0 commit comments