@@ -6,14 +6,19 @@ import teamCol from "@/components/columns/TeamCol";
66// import { user } from "@/store/interfaces";
77import tooms from "@/components/dumTeams.json" ;
88// import useToast from "@/lib/toast";
9- import { useQuery } from "@tanstack/react-query" ;
9+ import { useQuery , useQueryClient } from "@tanstack/react-query" ;
1010import { type Team } from "@/data/schema" ;
1111import { fetchTeams } from "@/api/fetchTeams" ;
1212import { useState } from "react" ;
13+ import { TeamModal } from "@/components/table/team-modal" ;
1314
1415export default function Teams ( ) {
1516 const [ pageIndex , setPageIndex ] = useState ( 0 ) ;
1617 const [ pageSize , setPageSize ] = useState ( 10 ) ;
18+ const [ selectedTeam , setSelectedTeam ] = useState < Team | null > ( null ) ;
19+ const [ open , setOpen ] = useState ( false ) ;
20+
21+ const queryClient = useQueryClient ( ) ;
1722
1823 const {
1924 data : teamList ,
@@ -24,17 +29,37 @@ export default function Teams() {
2429 queryFn : ( ) => fetchTeams ( { page : pageIndex + 1 , limit : pageSize } ) ,
2530 } ) ;
2631
32+ const handlePageChange = ( page : number ) => {
33+ setPageIndex ( page ) ;
34+ queryClient . invalidateQueries ( { queryKey : [ "teams" ] } ) ;
35+ }
36+
37+ const handlePageSizeChange = ( size : number ) => {
38+ setPageSize ( size ) ;
39+ queryClient . invalidateQueries ( { queryKey : [ "teams" ] } ) ;
40+ }
41+
2742 if ( isLoading ) {
2843 < > loading...</ > ;
2944 }
3045 if ( isError ) {
3146 < > skill issue</ > ;
3247 }
48+ const handleRowClick = ( team : Team ) => {
49+ setSelectedTeam ( team ) ;
50+ setOpen ( true ) ;
51+ } ;
52+
53+
54+ const handleModalClose = ( ) => {
55+ setOpen ( false ) ;
56+ } ;
3357 return (
3458 < >
3559 < div className = "p-4" >
3660 < div className = "mb-4" > </ div >
3761 { /* <DataTableUsers users={oosers} columns={userCol} /> */ }
62+ { selectedTeam && < TeamModal open = { open } onClose = { handleModalClose } team = { selectedTeam } /> }
3863 < DataTable < Team , string >
3964 columns = { teamCol }
4065 data = { teamList ?. teams ?? [ ] }
@@ -43,6 +68,7 @@ export default function Teams() {
4368 onPageSizeChange = { setPageSize }
4469 currentPage = { pageIndex }
4570 pageSize = { pageSize }
71+ onRowClick = { handleRowClick }
4672 />
4773 </ div >
4874 </ >
0 commit comments