From 0e9ac6713a4f9ea21bcc81a86aea8eceae8b6675 Mon Sep 17 00:00:00 2001 From: ditiqi Date: Sun, 23 Feb 2025 18:59:42 +0800 Subject: [PATCH] add --- .../course/detail/CourseDetailDisplayArea.tsx | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx b/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx index 3a2d6ff..ee99da1 100755 --- a/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx +++ b/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx @@ -6,6 +6,7 @@ import { CourseDetailDescription } from "./CourseDetailDescription/CourseDetailD import { Course, LectureType, PostType } from "@nice/common"; import { CourseDetailContext } from "./CourseDetailContext"; import CollapsibleContent from "@web/src/components/common/container/CollapsibleContent"; +import { Skeleton } from "antd"; interface CourseDetailDisplayAreaProps { // course: Course; @@ -18,18 +19,17 @@ export const CourseDetailDisplayArea: React.FC< CourseDetailDisplayAreaProps > = ({ videoSrc, videoPoster }) => { // 创建滚动动画效果 - const { course, isLoading, lecture } = useContext(CourseDetailContext); + const { course, isLoading, lecture, lectureIsLoading } = + useContext(CourseDetailContext); const { scrollY } = useScroll(); - const videoScale = useTransform(scrollY, [0, 200], [1, 0.8]); const videoOpacity = useTransform(scrollY, [0, 200], [1, 0.8]); - const contentWrapperRef = useRef(null); - const [isExpanded, setIsExpanded] = useState(false); - const [shouldCollapse, setShouldCollapse] = useState(false); return (
{/* 固定的视频区域 */} - {/* 移除 sticky 定位,让视频区域随页面滚动 */} - {lecture?.meta?.type === LectureType.VIDEO && ( + {lectureIsLoading && ( + + )} + {!lectureIsLoading && lecture?.meta?.type === LectureType.VIDEO && ( )} - {lecture?.meta?.type === LectureType.ARTICLE && ( -
-
- + {!lectureIsLoading && + lecture?.meta?.type === LectureType.ARTICLE && ( +
+
+ +
-
- )} + )} {/* 课程内容区域 */} ); }; + export default CourseDetailDisplayArea;