airbridge-react-native-sdk
Version:
Airbridge SDK for React Native
125 lines (115 loc) • 5.31 kB
JavaScript
import React from 'react'
import { createStackNavigator } from '@react-navigation/stack'
import ImageButton from '../component/ImageButton'
import HomePage from '../pages/Home'
import UserInfoPage from '../pages/UserInfo'
import EventPage from '../pages/Event'
import DeviceInfoPage from '../pages/DeviceInfo'
import IdentifiersPage from '../pages/Identifiers'
import InstallReferrerPage from '../pages/InstallReferrer'
import PlacementPage from '../pages/Placement'
import { RequestPermissionsPage } from '../pages/RequestPermissions'
import BrowsePage from '../pages/Browse'
import AppInfoPage from '../pages/AppInfo'
import SkadPage from '../pages/Skad'
import TrackingLinkPage from '../pages/TrackingLink'
const Stack = createStackNavigator()
const createNavigateButton = (navigation, accessibilityLabel, source) => {
return (
<ImageButton
source={source}
width={20}
height={20}
accessibilityLabel={accessibilityLabel}
onPress={() => {
if (navigation.canGoBack()) {
navigation.goBack()
}
}} />
)
}
const createNavigateBackButton = (navigation) => {
return createNavigateButton(navigation, 'navigateBack', require('./../../resource/arrow_back.png'))
}
const createNavigateHomeButton = (navigation) => {
return createNavigateButton(navigation, 'navigateHome', require('./../../resource/home.png'))
}
const StackNavigation = () => {
return (
<Stack.Navigator>
<Stack.Screen name='home'
component={HomePage}
options={({ navigation }) => ({
title: 'AirbridgeQA(react-native)',
headerRight: () => createNavigateHomeButton(navigation)
})}/>
<Stack.Screen name='userInfo'
component={UserInfoPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})}/>
<Stack.Screen name='occurringEvent'
component={EventPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})}/>
<Stack.Screen name='identifiers'
component={IdentifiersPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})}/>
<Stack.Screen name='installReferrer'
component={InstallReferrerPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='deviceInfo'
component={DeviceInfoPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='requestPermissions'
component={RequestPermissionsPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='trackingLinksWithinApps'
component={PlacementPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='browse'
component={BrowsePage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='appInfo'
component={AppInfoPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='SKAdNetwork'
component={SkadPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
<Stack.Screen name='createTrackingLink'
component={TrackingLinkPage}
options={({ navigation }) => ({
headerLeft: () => createNavigateBackButton(navigation),
headerRight: () => createNavigateHomeButton(navigation)
})} />
</Stack.Navigator>
)
}
export default StackNavigation