diff --git a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/activity/[activityid]/activity.tsx b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/activity/[activityid]/activity.tsx
index 81b21e8d..56f9fb90 100644
--- a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/activity/[activityid]/activity.tsx
+++ b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/activity/[activityid]/activity.tsx
@@ -364,31 +364,86 @@ export function MarkStatus(props: {
status="warning"
/>
+
) : (
-
- {isLoading ? (
-
- ) : (
-
-
-
- )}{' '}
- {!isMobile &&
{isLoading ? 'Marking...' : 'Mark as complete'}}
+
+
+ {isLoading ? (
+
+ ) : (
+
+
+
+ )}{' '}
+ {!isMobile &&
{isLoading ? 'Marking...' : 'Mark as complete'}}
+
+
)}
>
)
}
+function NextActivityButton({ course, currentActivityId, orgslug }: { course: any, currentActivityId: string, orgslug: string }) {
+ const router = useRouter();
+ const isMobile = useMediaQuery('(max-width: 768px)');
+
+ const findNextActivity = () => {
+ let allActivities: any[] = [];
+ let currentIndex = -1;
+
+ // Flatten all activities from all chapters
+ course.chapters.forEach((chapter: any) => {
+ chapter.activities.forEach((activity: any) => {
+ const cleanActivityUuid = activity.activity_uuid?.replace('activity_', '');
+ allActivities.push({
+ ...activity,
+ cleanUuid: cleanActivityUuid,
+ chapterName: chapter.name
+ });
+
+ // Check if this is the current activity
+ if (activity.id === currentActivityId) {
+ currentIndex = allActivities.length - 1;
+ }
+ });
+ });
+
+ // Get next activity
+ return currentIndex < allActivities.length - 1 ? allActivities[currentIndex + 1] : null;
+ };
+
+ const nextActivity = findNextActivity();
+
+ if (!nextActivity) return null;
+
+ const navigateToActivity = () => {
+ const cleanCourseUuid = course.course_uuid?.replace('course_', '');
+ router.push(getUriWithOrg(orgslug, '') + `/course/${cleanCourseUuid}/activity/${nextActivity.cleanUuid}`);
+ };
+
+ return (
+
+
+ {!isMobile && Next}
+
+
+
+ );
+}
+
function AssignmentTools(props: {
activity: any
activityid: string