Live video on the AT Protocol

Merge pull request #556 from streamplace/natb/force-dark-theme

ui: force dark theme in the rest of the themeproviders

authored by

Eli Mallon and committed by
GitHub
24f0f63c 288afabc

+86 -88
+37 -27
js/app/components/provider/provider.shared.tsx
··· 3 3 LinkingOptions, 4 4 NavigationContainer, 5 5 } from "@react-navigation/native"; 6 - import { StreamplaceProvider as ZustandStreamplaceProvider } from "@streamplace/components"; 6 + import { 7 + ThemeProvider, 8 + StreamplaceProvider as ZustandStreamplaceProvider, 9 + } from "@streamplace/components"; 7 10 import { ToastProvider, ToastViewport } from "@tamagui/toast"; 8 11 import { useFonts } from "expo-font"; 9 12 import BlueskyProvider from "features/bluesky/blueskyProvider"; ··· 26 29 }) { 27 30 return ( 28 31 <TamaguiProvider config={config} defaultTheme={"dark"}> 29 - <NavigationContainer theme={DarkTheme} linking={linking}> 30 - <ReduxProvider store={store}> 31 - <StreamplaceProvider> 32 - <BlueskyProvider> 33 - <NewStreamplaceProvider> 34 - <PortalProvider> 35 - <ToastProvider 36 - swipeDirection="vertical" 37 - duration={6000} 38 - native={ 39 - [ 40 - /* uncomment the next line to do native toasts on mobile. NOTE: it'll require you making a dev build and won't work with Expo Go */ 41 - // 'mobile' 42 - ] 43 - } 44 - > 45 - <FontProvider>{children}</FontProvider> 46 - <CurrentToast /> 47 - <ToastViewport name="default" top="$8" left={0} right={0} /> 48 - </ToastProvider> 49 - </PortalProvider> 50 - </NewStreamplaceProvider> 51 - </BlueskyProvider> 52 - </StreamplaceProvider> 53 - </ReduxProvider> 54 - </NavigationContainer> 32 + <ThemeProvider forcedTheme="dark"> 33 + <NavigationContainer theme={DarkTheme} linking={linking}> 34 + <ReduxProvider store={store}> 35 + <StreamplaceProvider> 36 + <BlueskyProvider> 37 + <NewStreamplaceProvider> 38 + <PortalProvider> 39 + <ToastProvider 40 + swipeDirection="vertical" 41 + duration={6000} 42 + native={ 43 + [ 44 + /* uncomment the next line to do native toasts on mobile. NOTE: it'll require you making a dev build and won't work with Expo Go */ 45 + // 'mobile' 46 + ] 47 + } 48 + > 49 + <FontProvider>{children}</FontProvider> 50 + <CurrentToast /> 51 + <ToastViewport 52 + name="default" 53 + top="$8" 54 + left={0} 55 + right={0} 56 + /> 57 + </ToastProvider> 58 + </PortalProvider> 59 + </NewStreamplaceProvider> 60 + </BlueskyProvider> 61 + </StreamplaceProvider> 62 + </ReduxProvider> 63 + </NavigationContainer> 64 + </ThemeProvider> 55 65 </TamaguiProvider> 56 66 ); 57 67 }
+5 -8
js/app/src/screens/chat-popout.tsx
··· 3 3 ChatBox, 4 4 LivestreamProvider, 5 5 PlayerProvider, 6 - ThemeProvider, 7 6 usePlayerStore, 8 7 } from "@streamplace/components"; 9 8 import emojiData from "assets/emoji-data.json"; ··· 19 18 } 20 19 21 20 return ( 22 - <ThemeProvider> 23 - <LivestreamProvider src={user}> 24 - <PlayerProvider> 25 - <PopoutChatInner user={user} /> 26 - </PlayerProvider> 27 - </LivestreamProvider> 28 - </ThemeProvider> 21 + <LivestreamProvider src={user}> 22 + <PlayerProvider> 23 + <PopoutChatInner user={user} /> 24 + </PlayerProvider> 25 + </LivestreamProvider> 29 26 ); 30 27 } 31 28
+7 -10
js/app/src/screens/embed.tsx
··· 3 3 Player, 4 4 PlayerProps, 5 5 PlayerProvider, 6 - ThemeProvider, 7 6 } from "@streamplace/components"; 8 7 import { DesktopUi } from "components/mobile/desktop-ui"; 9 8 import { ··· 34 33 src = url; 35 34 } 36 35 return ( 37 - <ThemeProvider> 38 - <LivestreamProvider src={src}> 39 - <PlayerProvider {...extraProps}> 40 - <Player src={src} {...extraProps}> 41 - <DesktopUi /> 42 - </Player> 43 - </PlayerProvider> 44 - </LivestreamProvider> 45 - </ThemeProvider> 36 + <LivestreamProvider src={src}> 37 + <PlayerProvider {...extraProps}> 38 + <Player src={src} {...extraProps}> 39 + <DesktopUi /> 40 + </Player> 41 + </PlayerProvider> 42 + </LivestreamProvider> 46 43 ); 47 44 }
+16 -18
js/app/src/screens/info-widget-embed.tsx
··· 1 - import { Dashboard, ThemeProvider, zero } from "@streamplace/components"; 1 + import { Dashboard, zero } from "@streamplace/components"; 2 2 import { useLiveUser } from "hooks/useLiveUser"; 3 3 import { View } from "react-native"; 4 4 ··· 7 7 export default function InfoWidgetEmbed() { 8 8 const isLive = useLiveUser(); 9 9 return ( 10 - <ThemeProvider> 11 - <View 12 - style={[ 13 - flex.values[1], 14 - layout.flex.alignCenter, 15 - layout.flex.justifyCenter, 16 - p[4], 17 - { 18 - backgroundColor: "transparent", 19 - minHeight: "100vh", 20 - width: "100vw", 21 - }, 22 - ]} 23 - > 24 - <Dashboard.InformationWidget embedMode={true} /> 25 - </View> 26 - </ThemeProvider> 10 + <View 11 + style={[ 12 + flex.values[1], 13 + layout.flex.alignCenter, 14 + layout.flex.justifyCenter, 15 + p[4], 16 + { 17 + backgroundColor: "transparent", 18 + minHeight: "100vh", 19 + width: "100vw", 20 + }, 21 + ]} 22 + > 23 + <Dashboard.InformationWidget embedMode={true} /> 24 + </View> 27 25 ); 28 26 }
+13 -16
js/app/src/screens/live-dashboard.tsx
··· 1 1 import { 2 2 LivestreamProvider, 3 3 PlayerProvider, 4 - ThemeProvider, 5 4 zero, 6 5 } from "@streamplace/components"; 7 6 import { Redirect } from "components/aqlink"; ··· 42 41 } 43 42 44 43 return ( 45 - <ThemeProvider forcedTheme="dark"> 46 - <LivestreamProvider src={userProfile.did}> 47 - <VideoElementProvider videoElement={videoElement}> 48 - <PlayerProvider> 49 - <View style={[flex.values[1], bg.gray[900]]}> 50 - <BentoGrid 51 - userProfile={userProfile} 52 - isLive={isLive} 53 - videoRef={videoRef} 54 - /> 55 - </View> 56 - </PlayerProvider> 57 - </VideoElementProvider> 58 - </LivestreamProvider> 59 - </ThemeProvider> 44 + <LivestreamProvider src={userProfile.did}> 45 + <VideoElementProvider videoElement={videoElement}> 46 + <PlayerProvider> 47 + <View style={[flex.values[1], bg.gray[900]]}> 48 + <BentoGrid 49 + userProfile={userProfile} 50 + isLive={isLive} 51 + videoRef={videoRef} 52 + /> 53 + </View> 54 + </PlayerProvider> 55 + </VideoElementProvider> 56 + </LivestreamProvider> 60 57 ); 61 58 }
+3 -3
js/app/src/screens/mobile-go-live.tsx
··· 1 - import { KeepAwake, ThemeProvider } from "@streamplace/components"; 1 + import { KeepAwake } from "@streamplace/components"; 2 2 import { Redirect } from "components/aqlink"; 3 3 import { Player } from "components/mobile/player"; 4 4 import { FullscreenProvider } from "contexts/FullscreenContext"; ··· 13 13 } 14 14 // get player 15 15 return ( 16 - <ThemeProvider forcedTheme="dark"> 16 + <> 17 17 <KeepAwake /> 18 18 <FullscreenProvider> 19 19 <Player ingest src={userProfile.did} name={userProfile.handle} /> 20 20 </FullscreenProvider> 21 - </ThemeProvider> 21 + </> 22 22 ); 23 23 }
+3 -3
js/app/src/screens/mobile-stream.tsx
··· 1 - import { KeepAwake, ThemeProvider } from "@streamplace/components"; 1 + import { KeepAwake } from "@streamplace/components"; 2 2 import { Player } from "components/mobile/player"; 3 3 import { PlayerProps } from "components/player/props"; 4 4 import { FullscreenProvider } from "contexts/FullscreenContext"; ··· 20 20 useTitle(user); 21 21 22 22 return ( 23 - <ThemeProvider forcedTheme="dark"> 23 + <> 24 24 <KeepAwake /> 25 25 <FullscreenProvider> 26 26 <Player src={src} {...extraProps} /> 27 27 </FullscreenProvider> 28 - </ThemeProvider> 28 + </> 29 29 ); 30 30 }
+2 -3
js/app/src/screens/multi.tsx
··· 4 4 Player, 5 5 PlayerProps, 6 6 PlayerProvider, 7 - ThemeProvider, 8 7 usePlayerStore, 9 8 zero, 10 9 } from "@streamplace/components"; ··· 69 68 } 70 69 71 70 return ( 72 - <ThemeProvider> 71 + <> 73 72 <KeepAwake /> 74 73 <FullscreenProvider> 75 74 <View style={[flex.values[1]]}> ··· 95 94 ))} 96 95 </View> 97 96 </FullscreenProvider> 98 - </ThemeProvider> 97 + </> 99 98 ); 100 99 }