1
- import { useState , useEffect } from "react" ;
1
+ import { useState , useEffect , useCallback } from "react" ;
2
2
import RootPage from "../root" ;
3
3
import Container from "@mui/material/Container" ;
4
4
import Typography from "@mui/material/Typography" ;
@@ -11,26 +11,23 @@ import { Avatar, Button, IconButton, capitalize, styled } from "@mui/material";
11
11
import CancelIcon from "@mui/icons-material/Cancel" ;
12
12
13
13
const Course = ( ) => {
14
- const { response, error, loading, sendRequest } = useAxiosRequest <
15
- Empty ,
16
- FullCourse
17
- > ( ) ;
14
+ const { response, sendRequest } = useAxiosRequest < Empty , FullCourse > ( ) ;
18
15
const navigate = useNavigate ( ) ;
19
16
const { id } = useParams ( ) ;
20
17
21
18
const [ courseData , setCourseData ] = useState < FullCourse > ( ) ;
22
19
23
- const getCourseData = ( ) => {
20
+ const getCourseData = useCallback ( ( ) => {
24
21
sendRequest ( {
25
22
method : "GET" ,
26
23
route : `/course/get/${ id } ` ,
27
24
useJWT : true
28
25
} ) ;
29
- } ;
26
+ } , [ id , sendRequest ] ) ;
30
27
31
28
useEffect ( ( ) => {
32
29
getCourseData ( ) ;
33
- } , [ sendRequest ] ) ;
30
+ } , [ getCourseData ] ) ;
34
31
35
32
useEffect ( ( ) => {
36
33
if ( response ) setCourseData ( response ) ;
@@ -76,13 +73,8 @@ const Course = () => {
76
73
navigate ( `/profile/${ username } ` ) ;
77
74
} ;
78
75
79
- const showAttendenceStats = ( ) => {
80
- return (
81
- IsStudent ( ) &&
82
- courseData ?. attended != - 1 &&
83
- courseData ?. missed != - 1
84
- ) ;
85
- } ;
76
+ const showAttendenceStats = ( ) =>
77
+ IsStudent ( ) && courseData ?. attended != - 1 && courseData ?. missed != - 1 ;
86
78
87
79
const handleEnrollment = ( enroll : boolean , username : string = "" ) => {
88
80
let url = "course/enroll/" + id ;
0 commit comments