Live video on the AT Protocol
79
fork

Configure Feed

Select the types of activity you want to include in your feed.

at eli/fix-context-recursion 44 lines 1.1 kB view raw
1import { 2 LivestreamProvider, 3 Player, 4 PlayerProps, 5 PlayerProvider, 6} from "@streamplace/components"; 7import { DesktopUi } from "components/mobile/desktop-ui"; 8import { 9 setSidebarHidden, 10 setSidebarUnhidden, 11} from "features/base/sidebarSlice"; 12import { useEffect } from "react"; 13import { useAppDispatch } from "store/hooks"; 14import { isWeb } from "tamagui"; 15import { queryToProps } from "./util"; 16 17export default function EmbedScreen({ route }) { 18 const { user, protocol, url } = route.params; 19 let extraProps: Partial<PlayerProps> = {}; 20 const dispatch = useAppDispatch(); 21 useEffect(() => { 22 dispatch(setSidebarHidden()); 23 () => { 24 // on unmount, unhide the sidebar 25 dispatch(setSidebarUnhidden()); 26 }; 27 }, []); 28 if (isWeb) { 29 extraProps = queryToProps(new URLSearchParams(window.location.search)); 30 } 31 let src = user; 32 if (user === "stream") { 33 src = url; 34 } 35 return ( 36 <LivestreamProvider src={src}> 37 <PlayerProvider {...extraProps}> 38 <Player src={src} {...extraProps}> 39 <DesktopUi /> 40 </Player> 41 </PlayerProvider> 42 </LivestreamProvider> 43 ); 44}