// components/CourseDetailDisplayArea.tsx import { motion, useScroll, useTransform } from "framer-motion"; import React, { useContext, useRef, useState } from "react"; import { VideoPlayer } from "@web/src/components/presentation/video-player/VideoPlayer"; import { CourseDetailDescription } from "./CourseDetailDescription"; 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; // // videoSrc?: string; // // videoPoster?: string; // // isLoading?: boolean; // } export const CourseDetailDisplayArea: React.FC = () => { // 创建滚动动画效果 const { course, isLoading, lecture, lectureIsLoading, selectedLectureId } = useContext(CourseDetailContext); const { scrollY } = useScroll(); const videoOpacity = useTransform(scrollY, [0, 200], [1, 0.8]); return (
{/* 固定的视频区域 */} {lectureIsLoading && ( )} {!selectedLectureId && !lectureIsLoading && ( <>
{"123"}
)} {selectedLectureId && !lectureIsLoading && lecture?.meta?.type === LectureType.VIDEO && (
)} {!lectureIsLoading && selectedLectureId && lecture?.meta?.type === LectureType.ARTICLE && (
)}
{/* 课程内容区域 */}
); }; export default CourseDetailDisplayArea;