@@ -12,6 +12,7 @@ import Table from "./Table";
1212
1313export default function TableWrapper ( ) {
1414 const queryClient = useQueryClient ( ) ;
15+ const [ search , setSearch ] = useState ( "" ) ;
1516 const [ deleteId , setDeleteId ] = useState ( 0 ) ;
1617 const [ editId , setEditId ] = useState ( 0 as number | "new" ) ;
1718 const { isFetching, isLoading, isError, error, data } = useDeadHosts ( [ "owner" , "certificate" ] ) ;
@@ -36,6 +37,13 @@ export default function TableWrapper() {
3637 showSuccess ( intl . formatMessage ( { id : enabled ? "notification.host-enabled" : "notification.host-disabled" } ) ) ;
3738 } ;
3839
40+ let filtered = null ;
41+ if ( search && data ) {
42+ filtered = data ?. filter ( ( item ) => {
43+ return item . domainNames . some ( ( domain : string ) => domain . toLowerCase ( ) . includes ( search ) ) ;
44+ } ) ;
45+ }
46+
3947 return (
4048 < div className = "card mt-4" >
4149 < div className = "card-status-top bg-red" />
@@ -56,6 +64,7 @@ export default function TableWrapper() {
5664 type = "text"
5765 className = "form-control form-control-sm"
5866 autoComplete = "off"
67+ onChange = { ( e : any ) => setSearch ( e . target . value . toLowerCase ( ) ) }
5968 />
6069 </ div >
6170 < Button size = "sm" className = "btn-red" onClick = { ( ) => setEditId ( "new" ) } >
@@ -66,7 +75,7 @@ export default function TableWrapper() {
6675 </ div >
6776 </ div >
6877 < Table
69- data = { data ?? [ ] }
78+ data = { filtered ?? data ?? [ ] }
7079 isFetching = { isFetching }
7180 onEdit = { ( id : number ) => setEditId ( id ) }
7281 onDelete = { ( id : number ) => setDeleteId ( id ) }
0 commit comments