diff --git a/src/element/live-chat.tsx b/src/element/live-chat.tsx index 7161dd5..01209be 100644 --- a/src/element/live-chat.tsx +++ b/src/element/live-chat.tsx @@ -131,7 +131,9 @@ export function LiveChat({ case -1: case -2: { return ( - + {a.kind === -1 ? ( ) : ( diff --git a/src/element/live-video-player.tsx b/src/element/live-video-player.tsx index f93ea4b..2a4b187 100644 --- a/src/element/live-video-player.tsx +++ b/src/element/live-video-player.tsx @@ -108,11 +108,11 @@ export default function LiveVideoPlayer({ video.current.onpause = () => setPlayState("paused"); video.current.onseeking = () => { if (video.current?.paused) { - setPlayState("paused") + setPlayState("paused"); } else { - setPlayState("loading") + setPlayState("loading"); } - } + }; video.current.onplay = () => setPlayState("loading"); video.current.onvolumechange = () => setVolume(video.current?.volume ?? 1); video.current.ontimeupdate = () => setPosition(video.current?.currentTime); @@ -165,76 +165,78 @@ export default function LiveVideoPlayer({ } function playerOverlay() { - return <> - {status === VideoStatus.Online && ( -
togglePlay()}> -
- -
+ return ( + <> + {status === VideoStatus.Online && (
e.stopPropagation()}> -
-
togglePlay()}> - -
-
{pStatus}
- {pStatus === StreamState.Ended && maxPosition !== undefined && position !== undefined && ( - { - const ct = maxPosition * v; - if (video.current) { - video.current.currentTime = ct; - } - setPosition(ct); - }} - marker={
} - style={{ width: "100%", height: "4px" }} - /> - )} -
-
- - setVolume(v)} style={{ width: "100px", height: "100%" }} /> -
-
- {levelName(level)}
} - menuClassName="bg-primary w-fit"> - {levels?.map(v => ( - setLevel(v.level)} - className="bg-primary px-3 py-2 text-white"> - {levelName(v.level)} - - ))} - + className="absolute opacity-0 hover:opacity-90 transition-opacity w-full h-full z-20 bg-[#00000055]" + onClick={() => togglePlay()}> +
+
{ - if (video.current) { - video.current.requestFullscreen(); - } - }}> - + className="absolute flex items-center gap-1 bottom-0 w-full bg-primary h-[40px]" + onClick={e => e.stopPropagation()}> +
+
togglePlay()}> + +
+
{pStatus}
+ {pStatus === StreamState.Ended && maxPosition !== undefined && position !== undefined && ( + { + const ct = maxPosition * v; + if (video.current) { + video.current.currentTime = ct; + } + setPosition(ct); + }} + marker={
} + style={{ width: "100%", height: "4px" }} + /> + )} +
+
+ + setVolume(v)} style={{ width: "100px", height: "100%" }} /> +
+
+ {levelName(level)}
} + menuClassName="bg-primary w-fit"> + {levels?.map(v => ( + setLevel(v.level)} + className="bg-primary px-3 py-2 text-white"> + {levelName(v.level)} + + ))} + +
+
{ + if (video.current) { + video.current.requestFullscreen(); + } + }}> + +
- - )} - {status === VideoStatus.Offline && ( -
- -
- )} - + )} + {status === VideoStatus.Offline && ( +
+ +
+ )} + + ); } return (
diff --git a/src/element/mention.tsx b/src/element/mention.tsx index 486e350..a7ece11 100644 --- a/src/element/mention.tsx +++ b/src/element/mention.tsx @@ -10,5 +10,9 @@ interface MentionProps { export function Mention({ pubkey }: MentionProps) { const user = useUserProfile(pubkey); const npub = hexToBech32("npub", pubkey); - return {user?.name || pubkey}; + return ( + + {user?.name || pubkey} + + ); }