再次修复问题

This commit is contained in:
海龙 2025-08-28 23:11:42 +08:00
parent 96e5630b7c
commit da58f7c508
3 changed files with 24 additions and 26 deletions

View File

@ -154,7 +154,7 @@ export default function SignupPage() {
</div>
</form>
<div className="my-6 relative flex items-center">
{/* <div className="my-6 relative flex items-center">
<div className="flex-grow border-t border-gray-500/30"></div>
<span className="flex-shrink mx-4 text-gray-400">or</span>
<div className="flex-grow border-t border-gray-500/30"></div>
@ -166,7 +166,7 @@ export default function SignupPage() {
>
<img src="https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth/google.svg" className="w-5 h-5" alt="Google" />
Continue with Google
</button>
</button> */}
<div className="text-center mt-4">
<p style={{ color: "rgba(255, 255, 255, 0.6)" }}>

View File

@ -34,9 +34,9 @@ function useVideoPreloader() {
/** 预加载单个视频 */
const preloadVideo = (src: string): Promise<void> => {
return new Promise((resolve) => {
const video = document.createElement('video');
const video = document.createElement("video");
video.muted = true;
video.preload = 'auto';
video.preload = "auto";
// 设置超时,避免某个视频卡住整个预加载过程
const timeout = setTimeout(() => {
@ -111,7 +111,10 @@ function useVideoPreloader() {
const processBatch = () => {
if (index >= otherVideos.length) return;
const batch = otherVideos.slice(index, Math.min(index + 3, otherVideos.length));
const batch = otherVideos.slice(
index,
Math.min(index + 3, otherVideos.length)
);
batch.forEach(preloadVideo);
index += batch.length;
@ -124,7 +127,7 @@ function useVideoPreloader() {
};
// 如果浏览器不支持 requestIdleCallback使用 setTimeout
if (typeof requestIdleCallback !== 'undefined') {
if (typeof requestIdleCallback !== "undefined") {
preloadRemaining();
} else {
setTimeout(() => {
@ -135,16 +138,15 @@ function useVideoPreloader() {
}, 100);
}
}
} catch (error) {
console.error('视频预加载过程中出现错误:', error);
console.error("视频预加载过程中出现错误:", error);
}
};
useEffect(() => {
// 使用 requestIdleCallback 在浏览器空闲时开始预加载
// 如果浏览器不支持,则使用 setTimeout 延迟执行
if (typeof requestIdleCallback !== 'undefined') {
if (typeof requestIdleCallback !== "undefined") {
requestIdleCallback(() => preloadAllVideos(), { timeout: 2000 });
} else {
setTimeout(() => preloadAllVideos(), 100);
@ -268,13 +270,10 @@ function HomeModule2() {
className="center z-10 flex flex-col items-center mb-[8rem]"
>
<h2 className="text-white text-[3.375rem] leading-[100%] font-normal mb-[3rem]">
Just Give Us Your Ideas
Just Drop A Thought
</h2>
<p className="text-white text-[1.125rem] leading-[140%] font-normal text-center">
Input your idea in one sentence and MovieFlow will bring
</p>
<p className="text-white text-[1.125rem] leading-[140%] font-normal text-center">
your creativity to life
Say your idea in a single line,and MovieFlow will bring it to life.
</p>
</div>
<div
@ -343,10 +342,10 @@ function HomeModule3() {
<div className="home-module3 h-[1360px] relative flex flex-col items-center justify-center w-full bg-black snap-start">
<div className="center z-10 flex flex-col items-center mb-[4rem]">
<h2 className="text-white text-[3.375rem] leading-[100%] font-normal mb-[3rem]">
Create Anything
Ideas Made Real
</h2>
<p className="text-white text-[1.125rem] leading-[140%] font-normal text-center">
MovieFlow can make any kind of film in high quality for you
High-quality films, any style, made with MovieFlow.
</p>
</div>
{/* 3x3网格布局 */}
@ -435,28 +434,27 @@ function HomeModule3() {
/**电影制作工序介绍 */
function HomeModule4() {
const [activeTab, setActiveTab] = useState(0);
const processSteps = [
{
title: "The Narrative Engine",
title:" The Story Agent",
description:
" From a single thought, it builds entire worlds and compelling plots.",
video: "https://cdn.qikongjian.com/videos/module4 (3).mp4",
},
{
title: "AI Character Engine",
title:" AI Character Agent",
description:
"Cast your virtual actors. Lock them in once, for the entire story.",
video: "https://cdn.qikongjian.com/videos/module4 (1).mp4",
},
{
title: "AI vision engine",
title:" The Shot Agent",
description:
"It translates your aesthetic into art, light, and cinematography for every single shot.",
video: "https://cdn.qikongjian.com/videos/module4 (4).mp4",
},
{
title: "Intelligent Editing Engine",
title:" Intelligent Clip Agent",
description:
"An editing AI drives the final cut, for a story told seamlessly.",
video: "https://cdn.qikongjian.com/videos/module4 (2).mp4",
@ -477,7 +475,7 @@ function HomeModule4() {
className="center z-10 flex flex-col items-center mb-[14rem]"
>
<h2 className="text-white text-[3.375rem] leading-[100%] font-normal ">
Edit like you think
Create Your Way
</h2>
</div>
@ -621,7 +619,7 @@ function HomeModule5() {
className="center z-10 flex flex-col items-center mb-[8rem]"
>
<h2 className="text-white text-[3.375rem] leading-[100%] font-normal mb-[1.5rem]">
Start Creating
Pick a plan and make it yours
</h2>
{/* 计费切换 */}

View File

@ -103,7 +103,7 @@ export default function Login() {
<div className="relative bottom-4 z-10 flex items-center justify-center min-h-screen p-4">
<div className="auth-container max-w-md w-full bg-black/40 backdrop-blur-lg border border-white/20 rounded-2xl p-8 shadow-2xl">
<div className="auth-header text-center mb-6">
<h2 className="text-2xl font-bold text-white mb-4">Login</h2>
<h2 className="text-2xl font-bold text-white pb-4">Login</h2>
<p className="text-gray-300">Enter your credentials to access your account</p>
</div>
@ -163,7 +163,7 @@ export default function Login() {
>
{isSubmitting ? 'Logging in...' : 'Login'}
</button>
{/*
<div className="my-4 relative flex items-center">
<div className="flex-grow border-t border-gray-500/30"></div>
<span className="flex-shrink mx-4 text-gray-400">or</span>
@ -177,7 +177,7 @@ export default function Login() {
>
<img src="https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth/google.svg" className="w-5 h-5" alt="Google" />
<span>Continue with Google</span>
</button>
</button> */}
<div className="text-center mt-4">
<p style={{ color: "rgba(255, 255, 255, 0.6)" }}>