From 84311e632bb967a4ea2cbc95097a712b4b84c3f8 Mon Sep 17 00:00:00 2001 From: rgrgogu Date: Mon, 20 Jul 2026 03:24:40 +0800 Subject: [PATCH] push now --- .../admin/pages/courses/lessons/AddLesson.jsx | 11 +++++++++-- .../admin/pages/courses/lessons/EditLesson.jsx | 12 ++++++++++-- .../admin/pages/courses/lessons/LessonsList.jsx | 3 +++ src/modules/admin/pages/courses/units/EditUnit.jsx | 10 ++++++++-- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/modules/admin/pages/courses/lessons/AddLesson.jsx b/src/modules/admin/pages/courses/lessons/AddLesson.jsx index 14c184d..cfa7f49 100644 --- a/src/modules/admin/pages/courses/lessons/AddLesson.jsx +++ b/src/modules/admin/pages/courses/lessons/AddLesson.jsx @@ -211,7 +211,7 @@ export default function AddLesson() { const navigate = useNavigate(); const { courseId, unitId } = useParams(); const { - createLesson, saveLessonPage, fetchUnit, unit, loading, + createLesson, saveLessonPage, fetchUnit, fetchCourse, unit, course, loading, syncLessonRequirements, } = useCourses(); const { user } = useAuth(); @@ -232,6 +232,9 @@ export default function AddLesson() { useEffect(() => { fetchUnit(courseId, unitId); + if (!course || String(course.course_id) !== String(courseId)) { + fetchCourse(courseId); + } }, [courseId, unitId]); const handleNext = async () => { @@ -288,7 +291,11 @@ export default function AddLesson() {

Create Lesson

-

Add a new lesson to this unit.

+

+ Creates a new lesson in the shared Lessons Library and attaches it to + {unit ? ` "${unit.title}"` : " this unit"} — affiliated with + {course ? ` "${course.title}"` : " this course"}. +

diff --git a/src/modules/admin/pages/courses/lessons/EditLesson.jsx b/src/modules/admin/pages/courses/lessons/EditLesson.jsx index a8d26c9..40f2714 100644 --- a/src/modules/admin/pages/courses/lessons/EditLesson.jsx +++ b/src/modules/admin/pages/courses/lessons/EditLesson.jsx @@ -34,7 +34,7 @@ function FieldError({ message }) { export default function EditLesson() { const navigate = useNavigate(); const { courseId, unitId, lessonId } = useParams(); - const { fetchLesson, updateLesson, course, unit, loading, fetchLessonRequirements, syncLessonRequirements } = useCourses(); + const { fetchLesson, updateLesson, fetchCourse, fetchUnit, course, unit, loading, fetchLessonRequirements, syncLessonRequirements } = useCourses(); const { user } = useAuth(); const [lessonTitle, setLessonTitle] = useState(""); @@ -60,6 +60,10 @@ export default function EditLesson() { objectives: lesson.objectives?.map((v) => ({ value: v.text })) ?? [], }); })(); + fetchUnit(courseId, unitId); + if (!course || String(course.course_id) !== String(courseId)) { + fetchCourse(courseId); + } }, [courseId, unitId, lessonId]); const onSubmit = async (data) => { @@ -90,7 +94,11 @@ export default function EditLesson() {

Edit Lesson

-

Update lesson details.

+

+ Lessons live in the shared Library — changes here apply everywhere this + lesson is used, not just{unit ? ` "${unit.title}"` : " this unit"} + {course ? ` (${course.title})` : ""}. +

diff --git a/src/modules/admin/pages/courses/lessons/LessonsList.jsx b/src/modules/admin/pages/courses/lessons/LessonsList.jsx index 0d04d8e..61d8173 100644 --- a/src/modules/admin/pages/courses/lessons/LessonsList.jsx +++ b/src/modules/admin/pages/courses/lessons/LessonsList.jsx @@ -70,6 +70,9 @@ export default function LessonsList() { {unit?.description && (

{unit.description}

)} +

+ Affiliated with course: {course?.title ?? "—"} +

{/* Stats row */} diff --git a/src/modules/admin/pages/courses/units/EditUnit.jsx b/src/modules/admin/pages/courses/units/EditUnit.jsx index 368f9b7..c5eb928 100644 --- a/src/modules/admin/pages/courses/units/EditUnit.jsx +++ b/src/modules/admin/pages/courses/units/EditUnit.jsx @@ -30,7 +30,7 @@ function FieldError({ message }) { export default function EditUnit() { const [unitTitle, setUnitTitle] = useState(""); const { courseId, unitId } = useParams(); - const { fetchUnit, updateUnit, course, loading, fetchUnitRequirements, syncUnitRequirements } = useCourses(); + const { fetchUnit, updateUnit, fetchCourse, course, loading, fetchUnitRequirements, syncUnitRequirements } = useCourses(); const { user } = useAuth(); const navigate = useNavigate(); @@ -51,6 +51,9 @@ export default function EditUnit() { }); setUnitTitle(unit.title ?? ""); })(); + if (!course || String(course.course_id) !== String(courseId)) { + fetchCourse(courseId); + } }, [courseId, unitId]); @@ -76,7 +79,10 @@ export default function EditUnit() {

Edit Unit

-

Update unit details.

+

+ Units live in the shared Library — changes here apply everywhere this unit + is used{course ? `, not just "${course.title}"` : ""}. +