Compare commits

..

No commits in common. "dd0e01a1147498373e2b51482fa7df16649514ea" and "74ba466141f60d6d1a55466fc92691bec8adfcc7" have entirely different histories.

4 changed files with 55 additions and 58 deletions

BIN
bun.lockb

Binary file not shown.

View File

@ -49,7 +49,7 @@
"pubsub-js": "^1.9.4", "pubsub-js": "^1.9.4",
"react": "18.2.0", "react": "18.2.0",
"react-countup": "^6.5.3", "react-countup": "^6.5.3",
"react-dom": "^19.1.1", "react-dom": "18.2.0",
"react-i18next": "^14.1.0", "react-i18next": "^14.1.0",
"react-icons": "^5.2.1", "react-icons": "^5.2.1",
"react-markdown": "8.0.0", "react-markdown": "8.0.0",

View File

@ -1,7 +1,6 @@
import React, { useEffect, useMemo, useRef, useState } from "react" import React, { useEffect, useMemo, useRef, useState } from "react"
import iodVideo from "@/public/video.mp4" import iodVideo from "@/public/video.mp4"
import { useOptionLayoutContext } from "@/components/Layouts/Layout.tsx" import { useOptionLayoutContext } from "@/components/Layouts/Layout.tsx"
import { createPortal } from "react-dom"
import { import {
ExpandOutlined, ExpandOutlined,
PauseCircleOutlined, PauseCircleOutlined,
@ -186,6 +185,7 @@ const VideoPlayer = () => {
} }
} }
video.addEventListener("loadedmetadata", handleLoadedMetadata) video.addEventListener("loadedmetadata", handleLoadedMetadata)
video.addEventListener("timeupdate", handleTimeUpdate) video.addEventListener("timeupdate", handleTimeUpdate)
video.addEventListener("waiting", handleWaiting) video.addEventListener("waiting", handleWaiting)
@ -326,7 +326,7 @@ const VideoPlayer = () => {
onMouseLeave={handleMouseLeave}> onMouseLeave={handleMouseLeave}>
<video <video
ref={videoRef} ref={videoRef}
className="w-full h-full bg-black [&::-webkit-media-controls]:hidden [&::-webkit-media-controls-start-playback-button]:hidden" className="w-full h-full bg-black"
onClick={togglePlayPause} onClick={togglePlayPause}
playsInline playsInline
preload="auto"> preload="auto">
@ -351,9 +351,8 @@ const VideoPlayer = () => {
)} )}
{/* 控制栏 - 使用与原始HTML相同的类名和行为 */} {/* 控制栏 - 使用与原始HTML相同的类名和行为 */}
{createPortal(
<div <div
className={`fixed left-0 w-full bg-gradient-to-t from-black to-transparent p-4 transition-all duration-300 ease-in-out flex flex-col gap-2.5 z-50 ${showControls ? "bottom-0" : "-bottom-40"}`}> className={`absolute left-0 w-full bg-gradient-to-t from-black to-transparent p-4 transition-all duration-300 ease-in-out flex flex-col gap-2.5 ${showControls ? "bottom-0" : "-bottom-40"}`}>
<div <div
className="flex items-center justify-end gap-2 cursor-pointer" className="flex items-center justify-end gap-2 cursor-pointer"
onClick={handleEnded}> onClick={handleEnded}>
@ -409,9 +408,7 @@ const VideoPlayer = () => {
<ExpandOutlined className="text-2xl" /> <ExpandOutlined className="text-2xl" />
</button> </button>
</div> </div>
</div>, </div>
document.body
)}
</div> </div>
) )
} }

BIN
src/public/video.mp4 Normal file

Binary file not shown.