diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index eb6bd9824..2f372796e 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -14,6 +14,7 @@ import { sidebarOpen as sidebarOpenAtom } from '@/store/atoms/sidebar'; import { useEffect, useState, useCallback, useMemo } from 'react'; import { handleMarkAsCompleted } from '@/lib/utils'; import BookmarkButton from './bookmark/BookmarkButton'; +import { refreshCourses } from './refreshCourses'; import Link from 'next/link'; import { Button } from './ui/button'; import { AnimatePresence, motion } from 'framer-motion'; @@ -294,6 +295,7 @@ function Check({ content }: { content: any }) { const newState = !completed; setCompleted(newState); await handleMarkAsCompleted(newState, content.id); + refreshCourses('/courses/[courseId]','page'); }, [completed, content.id], ); diff --git a/src/components/refreshCourses.tsx b/src/components/refreshCourses.tsx new file mode 100644 index 000000000..236f72946 --- /dev/null +++ b/src/components/refreshCourses.tsx @@ -0,0 +1,7 @@ +"use server"; + +import { revalidatePath } from "next/cache"; + +export async function refreshCourses(path:string,type?:'page'|'layout') { + revalidatePath(path,type); +} \ No newline at end of file