1- import { useEffect , useState } from "react" ;
1+ import { useEffect , useState } from "react" ;
22import { useSelector } from "react-redux" ;
33import { api } from "../../../../api" ;
44import useFetch from "../../../../CustomHooks/useFetch" ;
55import { getOptions } from "../../../../options" ;
66import RequestItem from "./RequestItem" ;
77import ReactLoading from 'react-loading' ;
88
9- let init = false ;
10-
9+ let init = false
1110function Requests ( ) {
12- const { fetchApi : getJoinRequest , loading } = useFetch (
13- `${ api } /invite-requests` ,
14- getOptions ,
15- true
16- ) ;
17- const user = useSelector ( ( state ) => state . auth . user ) ;
18- const [ requests , setRequests ] = useState ( [ ] ) ;
19-
20- useEffect ( ( ) => {
21- const fetchData = async ( ) => {
22- const resData = await getJoinRequest ( ) ;
23- if ( resData . ok && user && ! init ) {
24- setRequests ( resData . data . invite_requests ) ;
25- init = true ;
26- }
27- } ;
28- fetchData ( ) ;
29- } , [ user ] ) ;
30-
11+ const { fetchApi :getJoinRequest , loading} = useFetch ( `${ api } /invite-requests` , getOptions , true )
12+ const user = useSelector ( state => state . auth . user )
13+ const [ requests , setRequest ] = useState ( [ ] )
14+ useEffect ( ( ) => {
15+ const fetchData = async ( ) => {
16+ const resData = await getJoinRequest ( )
17+ if ( resData . ok && user && ! init ) {
18+ setRequest ( resData . data . invite_requests )
19+ init = true
20+ }
21+ }
22+ fetchData ( )
23+ } , [ user ] )
3124 return (
3225 < div className = "border-b-4 border-b-white" >
33- < div className = "flex justify-between items-center pl-6 pt-9" >
26+ < div className = "flex justify-between items-center pl-6 pt-9 " >
3427 < h3 className = "font-bold text-xl text-mulish text-customblack" > Invite to teams requests</ h3 >
3528 </ div >
36- { loading ? (
37- < div className = "h-20 py-10 center-element" >
38- < ReactLoading className = "mx-auto" type = { 'spin' } color = { "#D9C6A4" } height = { 30 } width = { 30 } />
39- </ div >
40- ) : (
41- < div className = "flex flex-col gap-3 mt-10" >
42- { requests . length > 0 ? (
43- requests . map ( ( request , index ) => (
44- < div
45- key = { index }
46- className = { `${
47- index % 2 === 0 ? 'bg-white' : ''
48- } p-4 rounded-md`}
49- >
50- < RequestItem request = { request } />
51- </ div >
52- ) )
53- ) : (
54- < p className = "pt-3 py-6 text-center" > There are no invitations to join teams</ p >
55- ) }
56- </ div >
57- ) }
29+ { loading ?< div className = "h-20 py-10 center-element" > < ReactLoading className = "mx-auto" type = { 'spin' } color = { "#D9C6A4" } height = { 30 } width = { 30 } /> </ div > :< div className = "flex flex-col gap-3 mt-10" >
30+ { requests . length > 0 ?
31+ requests . map ( ( request , index ) => (
32+ < div
33+ key = { index }
34+ className = { `${
35+ index % 2 == 0 ? 'bg-white' : ''
36+ } p-4 rounded-md`}
37+ >
38+ < RequestItem request = { request } />
39+
40+ </ div >
41+ ) ) :< p className = "pt-3 py-6 text-center" > There are no invitations to join teams</ p > }
42+ </ div > }
5843 </ div >
5944 ) ;
6045}
6146
62- export default Requests ;
47+ export default Requests ;
0 commit comments