From 0a40f2d916f8e65bf69c77fbe40282d84dfe595b Mon Sep 17 00:00:00 2001 From: codytseng Date: Wed, 30 Jul 2025 11:26:30 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../YoutubeEmbeddedPlayer/index.tsx | 27 +++++++++++-------- src/lib/event.ts | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/components/YoutubeEmbeddedPlayer/index.tsx b/src/components/YoutubeEmbeddedPlayer/index.tsx index 6086cba9..75cae8df 100644 --- a/src/components/YoutubeEmbeddedPlayer/index.tsx +++ b/src/components/YoutubeEmbeddedPlayer/index.tsx @@ -30,19 +30,24 @@ export default function YoutubeEmbeddedPlayer({ } function initPlayer() { - if (!videoId || !containerRef.current) return - playerRef.current = new window.YT.Player(containerRef.current, { - videoId: videoId, - events: { - onStateChange: (event: any) => { - if (event.data === window.YT.PlayerState.PLAYING) { - mediaManager.play(playerRef.current) - } else if (event.data === window.YT.PlayerState.PAUSED) { - mediaManager.pause(playerRef.current) + try { + if (!videoId || !containerRef.current || !window.YT.Player) return + playerRef.current = new window.YT.Player(containerRef.current, { + videoId: videoId, + events: { + onStateChange: (event: any) => { + if (event.data === window.YT.PlayerState.PLAYING) { + mediaManager.play(playerRef.current) + } else if (event.data === window.YT.PlayerState.PAUSED) { + mediaManager.pause(playerRef.current) + } } } - } - }) + }) + } catch (error) { + console.error('Failed to initialize YouTube player:', error) + return + } } return () => { diff --git a/src/lib/event.ts b/src/lib/event.ts index da4d16b0..18756c99 100644 --- a/src/lib/event.ts +++ b/src/lib/event.ts @@ -102,7 +102,7 @@ export function getParentBech32Id(event?: Event) { export function getRootETag(event?: Event) { if (!event) return undefined - if (event.kind === ExtendedKind.COMMENT || ExtendedKind.VOICE_COMMENT) { + if (event.kind === ExtendedKind.COMMENT || event.kind === ExtendedKind.VOICE_COMMENT) { return event.tags.find(tagNameEquals('E')) }