Fix all Server Actions imported from dynamic route paths
All admin and student Client Components were importing Server Actions from paths with dynamic segments ([courseId], [moduleId], [lessonId], [slug]). This caused "Cannot access toStringTag on the server" RSC crash. Consolidated all Server Actions into static files under src/lib/actions/: - course-actions.ts (modules + enrollment) - module-actions.ts (lessons + reorder + move) - user-actions.ts (bulk grant / revoke) - student-actions.ts (progress + homework + comments) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
import { useState, useTransition } from "react";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { grantAccess, revokeAccess } from "@/app/admin/courses/[courseId]/actions";
|
||||
import { grantAccess, revokeAccess } from "@/lib/actions/course-actions";
|
||||
|
||||
interface Student {
|
||||
id: string;
|
||||
|
||||
@@ -25,7 +25,7 @@ import {
|
||||
reorderLessons,
|
||||
toggleLessonPublished,
|
||||
moveLessonToModule,
|
||||
} from "@/app/admin/courses/[courseId]/modules/[moduleId]/actions";
|
||||
} from "@/lib/actions/module-actions";
|
||||
|
||||
interface Lesson {
|
||||
id: string;
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
} from "@dnd-kit/sortable";
|
||||
import { CSS } from "@dnd-kit/utilities";
|
||||
import Link from "next/link";
|
||||
import { createModule, deleteModule, updateModule, reorderModules } from "@/app/admin/courses/[courseId]/actions";
|
||||
import { createModule, deleteModule, updateModule, reorderModules } from "@/lib/actions/course-actions";
|
||||
|
||||
interface Module {
|
||||
id: string;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { useState, useTransition } from "react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { bulkGrantAccess, revokeUserAccess } from "@/app/admin/users/[userId]/actions";
|
||||
import { bulkGrantAccess, revokeUserAccess } from "@/lib/actions/user-actions";
|
||||
|
||||
interface Course {
|
||||
id: string;
|
||||
|
||||
Reference in New Issue
Block a user