diff --git a/internal/fishjam-chat/navigators/AppNavigator.tsx b/internal/fishjam-chat/navigators/AppNavigator.tsx index 388414997..0e240ffcc 100644 --- a/internal/fishjam-chat/navigators/AppNavigator.tsx +++ b/internal/fishjam-chat/navigators/AppNavigator.tsx @@ -15,6 +15,7 @@ import { ConnectWithFishjamRoom } from '../screens/ConnectWithFishjamRoom'; import ConnectToLivestreamScreen from '../screens/ConnectToLivestreamScreen'; import LivestreamStreamerScreen from '../screens/LivestreamScreen/LivestreamStreamerScreen'; import LivestreamViewerScreen from '../screens/LivestreamScreen/LivestreamViewerScreen'; +import LivestreamScreenSharingScreen from '../screens/LivestreamScreen/LivestreamScreenSharingScreen'; export type AppRootStackParamList = { Home: undefined; @@ -31,6 +32,10 @@ export type AppRootStackParamList = { fishjamId: string; roomName: string; }; + LivestreamScreenSharingScreen: { + fishjamId: string; + roomName: string; + }; Room: { isCameraOn: boolean; userName?: string; @@ -144,6 +149,10 @@ export default function AppNavigator() { name="LivestreamViewerScreen" component={LivestreamViewerScreen} /> + { + try { + validateInputs(); + setConnectionError(null); + setLoading(true); + + navigation.navigate('LivestreamScreenSharingScreen', { + fishjamId, + roomName, + }); + } catch (e) { + const message = + 'message' in (e as Error) ? (e as Error).message : 'Unknown error'; + setConnectionError(message); + } finally { + setLoading(false); + } + }; return ( @@ -109,6 +127,11 @@ export default function ConnectToLivestreamScreen({ navigation }: Props) { onPress={onTapConnectStreamerButton} disabled={loading} /> +