'use client'; import { useOrg } from '@components/Contexts/OrgContext'; import { getAPIUrl, getBackendUrl, 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 { use, 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