Skip to content

Commit

Permalink
Fix courses not coming even if API is working
Browse files Browse the repository at this point in the history
  • Loading branch information
bhavberi committed Sep 4, 2024
1 parent 9e92a79 commit e641c18
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/screens/Attendance/Attendance.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,12 @@ function ViewAttendance({
setError(true);
if (typeof coursesFetchError === "string") {
setErrorText(coursesFetchError);
} else {
} else if (!coursesFetchError) {
setErrorText("No courses found");
}
}
setIsLoading(false);
}, [allCourses]);
}, [allCourses, coursesFetchError]);

useEffect(() => {
setIsLoading(true);
Expand Down
15 changes: 10 additions & 5 deletions src/screens/Dashboard/components/CourseTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ let coursesFetchError: string | boolean = false;

function CourseTable(): React.JSX.Element {
const [courses, setCourses] = useState<Record<string, COURSE>>({});
const [coursesError, setCoursesError] = useState<string | boolean>(false);

const fetchCourseDetails = async () => {
try {
Expand All @@ -40,20 +41,20 @@ function CourseTable(): React.JSX.Element {
timeoutPromise,
])) as Response;

if (response.status % 100 == 2) {
const json = await response.json();
if (response.status / 100 == 2) {
const json = await (response as Response).json();
setCourses(json);
coursesFetchError = false;
setCoursesError(false);
} else {
const responseText = await response.text();
const serverMessage = JSON.parse(responseText);
coursesFetchError = serverMessage.detail;
setCoursesError(serverMessage.detail);
}
}
} catch (error) {
const errorMessage =
error instanceof Error ? error.message : "Error fetching courses";
coursesFetchError = errorMessage;
setCoursesError(errorMessage);
}
};

Expand All @@ -65,6 +66,10 @@ function CourseTable(): React.JSX.Element {
allCourses = courses;
}, [courses]);

useEffect(() => {
coursesFetchError = coursesError;
}, [coursesError]);

// just to trigger useEffect
return <View />;
}
Expand Down

0 comments on commit e641c18

Please sign in to comment.