1
- import { useEffect , useState } from "react" ;
1
+ import { useEffect , useState } from "react" ;
2
2
import { useSelector } from "react-redux" ;
3
3
import { api } from "../../../../api" ;
4
4
import useFetch from "../../../../CustomHooks/useFetch" ;
5
5
import { getOptions } from "../../../../options" ;
6
6
import RequestItem from "./RequestItem" ;
7
7
import ReactLoading from 'react-loading' ;
8
8
9
- let init = false ;
10
-
9
+ let init = false
11
10
function 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 ] )
31
24
return (
32
25
< 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 " >
34
27
< h3 className = "font-bold text-xl text-mulish text-customblack" > Invite to teams requests</ h3 >
35
28
</ 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 > }
58
43
</ div >
59
44
) ;
60
45
}
61
46
62
- export default Requests ;
47
+ export default Requests ;
0 commit comments