diff --git a/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx b/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx
index 560fd42..7522b69 100644
--- a/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx
+++ b/src/app/admin/courses/[courseId]/modules/[moduleId]/lessons/[lessonId]/page.tsx
@@ -36,6 +36,17 @@ export default async function LessonEditorPage({ params }: Props) {
const prevLesson = idx > 0 ? siblings[idx - 1] : null;
const nextLesson = idx < siblings.length - 1 ? siblings[idx + 1] : null;
+ // Serialize all Prisma proxy objects (DateTime, relations) before passing to Client Components
+ const plain = JSON.parse(JSON.stringify({
+ files: lesson.files,
+ homework: lesson.homework,
+ siblings,
+ })) as {
+ files: typeof lesson.files;
+ homework: typeof lesson.homework;
+ siblings: typeof siblings;
+ };
+
return (
@@ -71,7 +82,7 @@ export default async function LessonEditorPage({ params }: Props) {
Файлы и материалы
-
+
{/* Homework section */}
@@ -79,7 +90,7 @@ export default async function LessonEditorPage({ params }: Props) {
Домашнее задание
-
+
);
diff --git a/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx b/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx
index 1f635d0..b037c4b 100644
--- a/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx
+++ b/src/app/admin/courses/[courseId]/modules/[moduleId]/page.tsx
@@ -30,6 +30,11 @@ export default async function ModulePage({ params }: Props) {
if (!module || module.courseId !== courseId) notFound();
+ const plain = JSON.parse(JSON.stringify({ lessons: module.lessons, allModules })) as {
+ lessons: typeof module.lessons;
+ allModules: typeof allModules;
+ };
+
return (