fix(video-embed): refactor URL generation and prevent Bilibili autoplay

This commit is contained in:
cfngc4594 2025-03-28 10:38:46 +08:00
parent 95eed59c26
commit e490f1bcea

View File

@ -3,25 +3,19 @@ interface VideoEmbedProps {
id: string; id: string;
} }
const platformSrcMap: Record<VideoEmbedProps["platform"], string> = { const platformSrcMap = {
youtube: "https://www.youtube.com/embed/", youtube: (id: string) => `https://www.youtube.com/embed/${id}`,
bilibili: "https://player.bilibili.com/player.html?bvid=", bilibili: (id: string) =>
}; `https://player.bilibili.com/player.html?bvid=${id}&autoplay=0`,
} as const;
export function VideoEmbed({
platform,
id,
}: VideoEmbedProps) {
const src = platformSrcMap[platform] + id;
export function VideoEmbed({ platform, id }: VideoEmbedProps) {
return ( return (
<div> <iframe
<iframe className="aspect-video w-full"
className="aspect-video w-full" src={platformSrcMap[platform](id)}
src={src} title={`${platform} Video Player`}
title={`${platform} Video Player`} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen" />
/>
</div>
); );
} }