66import React , { useCallback , useState , useEffect } from "react" ;
77import _ from "lodash" ;
88import LayoutContainer from "components/LayoutContainer" ;
9- import { useDebouncedCallback } from "use-debounce" ;
109import PageHeader from "components/PageHeader" ;
1110import Input from "components/Input" ;
1211import Pagination from "components/Pagination" ;
1312import { getMyTeams } from "../../services/teams" ;
1413import TeamCard from "./components/TeamCard" ;
1514import TeamCardGrid from "./components/TeamCardGrid" ;
1615import LoadingIndicator from "../../components/LoadingIndicator" ;
17- import { useAsync } from "react-use" ;
16+ import { useDebounce } from "react-use" ;
1817import { TEAMS_PER_PAGE } from "constants" ;
1918import "./styles.module.scss" ;
2019
2120const MyTeamsList = ( ) => {
22- // let [myTeams, loadingError] = useData(getMyTeams);
23- let [ myTeams , setMyTeams ] = useState ( ) ;
21+ let [ myTeams , setMyTeams ] = useState ( null ) ;
2422 const [ filter , setFilter ] = useState ( "" ) ;
23+ const [ tempFilter , setTempFilter ] = React . useState ( '' ) ;
2524 const [ loadingError , setLoadingError ] = useState ( false ) ;
2625 const [ page , setPage ] = useState ( 1 ) ;
2726 const [ total , setTotal ] = useState ( 0 ) ;
27+ const onFilterChange = ( evt ) => {
28+ setTempFilter ( evt . target . value )
29+ }
2830
29- const onFilterChange = useDebouncedCallback ( ( value ) => {
30- setFilter ( value ) ;
31+ useDebounce ( ( value ) => {
32+ console . log ( 'xxxx' , value )
33+ setFilter ( tempFilter ) ;
3134 setPage ( 1 ) ;
32- } , 200 ) ;
35+ } , 200 , [ tempFilter ] ) ;
3336
3437 useEffect ( ( ) => {
38+ setMyTeams ( null ) ;
3539 getMyTeams ( filter , page , TEAMS_PER_PAGE )
3640 . then ( ( response ) => {
3741 setMyTeams ( response . data ) ;
@@ -57,10 +61,11 @@ const MyTeamsList = () => {
5761 < Input
5862 placeholder = "Filter by team name"
5963 styleName = "filter-input"
60- onChange = { ( e ) => onFilterChange . callback ( e . target . value ) }
64+ onChange = { onFilterChange }
6165 />
6266 }
6367 />
68+ { myTeams && myTeams . length === 0 && ( < div styleName = "empty" > No teams found</ div > ) }
6469 { ! myTeams ? (
6570 < LoadingIndicator error = { loadingError && loadingError . toString ( ) } />
6671 ) : (
0 commit comments