diff --git a/apps/web/package.json b/apps/web/package.json
index b484901..af89247 100755
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -64,6 +64,7 @@
"react-dom": "18.2.0",
"react-hook-form": "^7.54.2",
"react-hot-toast": "^2.4.1",
+ "react-player": "^2.16.0",
"react-resizable": "^3.0.5",
"react-router-dom": "^6.24.1",
"superjson": "^2.2.1",
diff --git a/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx b/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx
index f46e22f..fc9ed18 100755
--- a/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx
+++ b/apps/web/src/components/models/course/detail/CourseDetailDisplayArea.tsx
@@ -10,7 +10,7 @@ import { Skeleton } from "antd";
import ResourcesShower from "@web/src/components/common/uploader/ResourceShower";
import { useNavigate } from "react-router-dom";
import CourseDetailTitle from "./CourseDetailTitle";
-
+import ReactPlayer from "react-player";
export const CourseDetailDisplayArea: React.FC = () => {
// 创建滚动动画效果
const {
@@ -41,7 +41,16 @@ export const CourseDetailDisplayArea: React.FC = () => {
}}
className="w-full bg-black rounded-lg ">
-
+ {
+ console.log(error);
+ }}
+ />
+ {/* */}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0efc82c..c92a770 100755
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -386,6 +386,9 @@ importers:
react-hot-toast:
specifier: ^2.4.1
version: 2.5.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ react-player:
+ specifier: ^2.16.0
+ version: 2.16.0(react@18.2.0)
react-resizable:
specifier: ^3.0.5
version: 3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -5603,6 +5606,9 @@ packages:
enquirer:
optional: true
+ load-script@1.0.0:
+ resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==}
+
load-tsconfig@0.2.5:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5818,6 +5824,9 @@ packages:
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
engines: {node: '>= 4.0.0'}
+ memoize-one@5.2.1:
+ resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
+
meow@8.1.2:
resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
engines: {node: '>=10'}
@@ -6645,6 +6654,9 @@ packages:
react: '>= 16.3.0'
react-dom: '>= 16.3.0'
+ react-fast-compare@3.2.2:
+ resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+
react-hook-form@7.54.2:
resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==}
engines: {node: '>=18.0.0'}
@@ -6664,6 +6676,11 @@ packages:
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ react-player@2.16.0:
+ resolution: {integrity: sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==}
+ peerDependencies:
+ react: '>=16.6.0'
+
react-refresh@0.14.2:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
@@ -13723,6 +13740,8 @@ snapshots:
rfdc: 1.4.1
wrap-ansi: 8.1.0
+ load-script@1.0.0: {}
+
load-tsconfig@0.2.5: {}
loader-runner@4.3.0: {}
@@ -13899,6 +13918,8 @@ snapshots:
dependencies:
fs-monkey: 1.0.6
+ memoize-one@5.2.1: {}
+
meow@8.1.2:
dependencies:
'@types/minimist': 1.2.5
@@ -14774,6 +14795,8 @@ snapshots:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
+ react-fast-compare@3.2.2: {}
+
react-hook-form@7.54.2(react@18.2.0):
dependencies:
react: 18.2.0
@@ -14789,6 +14812,15 @@ snapshots:
react-is@18.3.1: {}
+ react-player@2.16.0(react@18.2.0):
+ dependencies:
+ deepmerge: 4.3.1
+ load-script: 1.0.0
+ memoize-one: 5.2.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-fast-compare: 3.2.2
+
react-refresh@0.14.2: {}
react-resizable@3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):