import React, { useState, useEffect } from 'react' import { Check, Square, ArrowRight, Folder, FileText, Video, Layers, BookOpenCheck } from 'lucide-react' import { getUriWithOrg } from '@services/config/config' import Link from 'next/link' import Modal from '@components/Objects/StyledElements/Modal/Modal' interface CourseProgressProps { course: any orgslug: string isOpen: boolean onClose: () => void trailData: any } const CourseProgress: React.FC = ({ course, orgslug, isOpen, onClose, trailData }) => { const [completedActivities, setCompletedActivities] = useState(0) const [totalActivities, setTotalActivities] = useState(0) useEffect(() => { let total = 0 let completed = 0 course.chapters.forEach((chapter: any) => { chapter.activities.forEach((activity: any) => { total++ if (isActivityDone(activity)) { completed++ } }) }) setTotalActivities(total) setCompletedActivities(completed) }, [course]) const isActivityDone = (activity: any) => { const cleanCourseUuid = course.course_uuid?.replace('course_', ''); const run = trailData?.runs?.find( (run: any) => { const cleanRunCourseUuid = run.course?.course_uuid?.replace('course_', ''); return cleanRunCourseUuid === cleanCourseUuid; } ); if (run) { return run.steps.find((step: any) => step.activity_id === activity.id) } return false } const getActivityTypeIcon = (activityType: string) => { switch (activityType) { case 'TYPE_VIDEO': return