chore(ui): drop nav logo + revert hero to default-muted
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5m30s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 5m30s
- Navigation: removed top-left <Logo />, NavLinks now sit at the left edge. Logo component itself kept (still used by Footer / LoginForm / LoginModal). - HeroBanner: restored simple "default muted + autoplay" behavior. The earlier try-unmuted-fallback flow was working but produced unpredictable first-paint audio depending on browser autoplay policy; muted is the safer default. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
1236df31b8
commit
034bb7ff42
@ -28,24 +28,13 @@ export default function HeroBanner({
|
||||
className,
|
||||
}: HeroBannerProps) {
|
||||
const videoRef = useRef<HTMLVideoElement>(null);
|
||||
// 默认目标:带音播放。但浏览器对"带声音自动播放"有严格限制 ——
|
||||
// 只有当用户与本站已有交互历史(autoplay policy "high engagement")时才允许。
|
||||
// 真实初始状态由下面的 effect 试播后写回:成功 → false,被拦截 → true。
|
||||
const [isMuted, setIsMuted] = useState(false);
|
||||
const [isMuted, setIsMuted] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
const v = videoRef.current;
|
||||
if (!v || !videoSrc) return;
|
||||
// 先尝试带音播放,失败立刻 fallback 静音播放(并把声音按钮置为静音态)。
|
||||
// 几乎所有首次访问场景都会走到 fallback,用户点声音按钮再解除静音。
|
||||
v.muted = false;
|
||||
v.play()
|
||||
.then(() => setIsMuted(false))
|
||||
.catch(() => {
|
||||
v.muted = true;
|
||||
setIsMuted(true);
|
||||
v.play().catch(() => {});
|
||||
});
|
||||
v.muted = isMuted;
|
||||
v.play().catch(() => {});
|
||||
// 仅在 videoSrc 变化时执行 · 不依赖 isMuted(mute 切换由按钮处理)
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [videoSrc]);
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
import { usePathname } from "next/navigation";
|
||||
import Logo from "./Logo";
|
||||
import NavLinks from "./NavLinks";
|
||||
import SearchTrigger from "./SearchTrigger";
|
||||
import AuthMenu from "./auth/AuthMenu";
|
||||
@ -82,9 +81,7 @@ export default function Navigation() {
|
||||
)}
|
||||
/>
|
||||
<nav className="relative max-w-[1500px] mx-auto h-20 px-4 sm:px-6 lg:px-8 flex items-center gap-8">
|
||||
<Logo size="md" />
|
||||
|
||||
{/* 中部:首页 / 排行榜 / 我的 */}
|
||||
{/* 左侧:首页 / 排行榜 / 我的(logo 已移除) */}
|
||||
<NavLinks className="hidden md:flex" />
|
||||
|
||||
{/* 右侧:搜索 + 今日余票 + 登录/注册 (或 头像+下拉) */}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user