mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-06-06 18:31:00 +00:00
Fix basic progress bar impl
This commit is contained in:
parent
e6fbf3a767
commit
89dd52ed8b
@ -52,10 +52,14 @@ const UserProgress = () => {
|
|||||||
const user = session.user;
|
const user = session.user;
|
||||||
const ids = user?.userCourses?.map(course => course?.completed ? course.courseId : null).filter(id => id !== null);
|
const ids = user?.userCourses?.map(course => course?.completed ? course.courseId : null).filter(id => id !== null);
|
||||||
if (ids && ids.length > 0) {
|
if (ids && ids.length > 0) {
|
||||||
setCompletedCourses(ids);
|
setCompletedCourses(ids);
|
||||||
generateTasks(ids);
|
generateTasks(ids);
|
||||||
|
calculateProgress(ids);
|
||||||
|
calculateCurrentTier(ids);
|
||||||
} else {
|
} else {
|
||||||
generateTasks([]);
|
generateTasks([]);
|
||||||
|
calculateProgress([]);
|
||||||
|
calculateCurrentTier([]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [session]);
|
}, [session]);
|
||||||
@ -73,23 +77,34 @@ const UserProgress = () => {
|
|||||||
setTasks(updatedTasks);
|
setTasks(updatedTasks);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getProgress = async () => {
|
const calculateProgress = (completedCourseIds) => {
|
||||||
return 10;
|
let progressValue = 25;
|
||||||
|
|
||||||
|
const remainingTasks = allTasks.slice(1);
|
||||||
|
remainingTasks.forEach(task => {
|
||||||
|
if (completedCourseIds.includes(task.courseId)) {
|
||||||
|
progressValue += 25;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
setProgress(progressValue);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getCurrentTier = async () => {
|
const calculateCurrentTier = (completedCourseIds) => {
|
||||||
return 'Pleb';
|
let tier = 'Pleb';
|
||||||
|
|
||||||
|
if (completedCourseIds.includes("f538f5c5-1a72-4804-8eb1-3f05cea64874")) {
|
||||||
|
tier = 'New Dev';
|
||||||
|
}
|
||||||
|
if (completedCourseIds.includes("f73c37f4-df2e-4f7d-a838-dce568c76136")) {
|
||||||
|
tier = 'Junior Dev';
|
||||||
|
}
|
||||||
|
if (completedCourseIds.includes("f6825391-831c-44da-904a-9ac3d149b7be")) {
|
||||||
|
tier = 'Plebdev';
|
||||||
|
}
|
||||||
|
|
||||||
|
setCurrentTier(tier);
|
||||||
};
|
};
|
||||||
useEffect(() => {
|
|
||||||
const fetchProgress = async () => {
|
|
||||||
const progress = await getProgress();
|
|
||||||
const currentTier = await getCurrentTier();
|
|
||||||
setProgress(progress);
|
|
||||||
setCurrentTier(currentTier);
|
|
||||||
};
|
|
||||||
|
|
||||||
fetchProgress();
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const handleAccordionChange = (index, isExpanded) => {
|
const handleAccordionChange = (index, isExpanded) => {
|
||||||
setExpandedItems(prev => ({
|
setExpandedItems(prev => ({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user