-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathApp.js
More file actions
62 lines (52 loc) · 1.53 KB
/
Copy pathApp.js
File metadata and controls
62 lines (52 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import React, {useEffect} from 'react';
import {View, Text, Button, Linking, Alert} from 'react-native';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import * as RootNavigation from './RootNavigation';
function HomeScreen({navigation}) {
return (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => navigation.navigate('Details')}
/>
</View>
);
}
function DetailsScreen() {
return (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<Text>Details Screen</Text>
</View>
);
}
const Stack = createStackNavigator();
function App() {
const linking = {
prefixes: ['https://test.saadibrah.im', 'saadibrahim://'],
};
useEffect(() => {
// Get the deep link used to open the app
const getUrl = async () => {
const initialUrl = await Linking.getInitialURL();
if (initialUrl === null) {
return;
}
if (initialUrl.includes('Details')) {
Alert.alert(initialUrl);
RootNavigation.navigate('Details');
}
};
getUrl();
});
return (
<NavigationContainer linking={linking} ref={RootNavigation.navigationRef}>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Details" component={DetailsScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;