'use client' import { useOrg } from '@components/Contexts/OrgContext' import { getAPIUrl, getUriWithOrg } from '@services/config/config' import { removeCourse } from '@services/courses/activity' import { getCourseThumbnailMediaDirectory } from '@services/media/media' import { revalidateTags } from '@services/utils/ts/requests' import Link from 'next/link' import { useRouter } from 'next/navigation' import { useEffect } from 'react' import { mutate } from 'swr' interface TrailCourseElementProps { course: any run: any orgslug: string } function TrailCourseElement(props: TrailCourseElementProps) { const org = useOrg() as any const courseid = props.course.course_uuid.replace('course_', '') const course = props.course const router = useRouter() const course_total_steps = props.run.course_total_steps const course_completed_steps = props.run.steps.length const orgID = org?.id const course_progress = Math.round( (course_completed_steps / course_total_steps) * 100 ) async function quitCourse(course_uuid: string) { // Close activity let activity = await removeCourse(course_uuid, props.orgslug) // Mutate course await revalidateTags(['courses'], props.orgslug) router.refresh() // Mutate mutate(`${getAPIUrl()}trail/org/${orgID}/trail`) } useEffect(() => {}, [props.course, org]) return (

Course

{course.name}

{course_progress}%

) } export default TrailCourseElement