Changeset View
Changeset View
Standalone View
Standalone View
native/community-creation/community-creation-navigator.react.js
// @flow | // @flow | ||||
import { | import { | ||||
createStackNavigator, | createStackNavigator, | ||||
type StackNavigationProp, | type StackNavigationProp, | ||||
type StackNavigationHelpers, | type StackNavigationHelpers, | ||||
} from '@react-navigation/stack'; | } from '@react-navigation/stack'; | ||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import CommunityConfiguration from './community-configuration.react.js'; | import CommunityConfiguration from './community-configuration.react.js'; | ||||
import CommunityCreationMembers from './community-creation-members.react.js'; | |||||
import type { RootNavigationProp } from '../navigation/root-navigator.react.js'; | import type { RootNavigationProp } from '../navigation/root-navigator.react.js'; | ||||
import { | import { | ||||
CommunityConfigurationRouteName, | CommunityConfigurationRouteName, | ||||
type ScreenParamList, | type ScreenParamList, | ||||
type CommunityCreationParamList, | type CommunityCreationParamList, | ||||
CommunityCreationMembersRouteName, | |||||
} from '../navigation/route-names.js'; | } from '../navigation/route-names.js'; | ||||
import { useColors } from '../themes/colors.js'; | import { useColors } from '../themes/colors.js'; | ||||
export type CommunityCreationNavigationProp< | export type CommunityCreationNavigationProp< | ||||
RouteName: $Keys<CommunityCreationParamList>, | RouteName: $Keys<CommunityCreationParamList>, | ||||
> = StackNavigationProp<ScreenParamList, RouteName>; | > = StackNavigationProp<ScreenParamList, RouteName>; | ||||
const CommunityCreation = createStackNavigator< | const CommunityCreation = createStackNavigator< | ||||
ScreenParamList, | ScreenParamList, | ||||
CommunityCreationParamList, | CommunityCreationParamList, | ||||
StackNavigationHelpers<ScreenParamList>, | StackNavigationHelpers<ScreenParamList>, | ||||
>(); | >(); | ||||
const communityConfigurationOptions = { | const communityConfigurationOptions = { | ||||
headerTitle: 'Create a community', | headerTitle: 'Create a community', | ||||
}; | }; | ||||
const communityCreationMembersOptions = { | |||||
headerTitle: 'Add members', | |||||
}; | |||||
type Props = { | type Props = { | ||||
+navigation: RootNavigationProp<'CommunityCreation'>, | +navigation: RootNavigationProp<'CommunityCreation'>, | ||||
... | ... | ||||
}; | }; | ||||
// eslint-disable-next-line no-unused-vars | // eslint-disable-next-line no-unused-vars | ||||
function CommunityCreationNavigator(props: Props): React.Node { | function CommunityCreationNavigator(props: Props): React.Node { | ||||
const colors = useColors(); | const colors = useColors(); | ||||
Show All 11 Lines | function CommunityCreationNavigator(props: Props): React.Node { | ||||
return ( | return ( | ||||
<CommunityCreation.Navigator screenOptions={communityCreationScreenOptions}> | <CommunityCreation.Navigator screenOptions={communityCreationScreenOptions}> | ||||
<CommunityCreation.Screen | <CommunityCreation.Screen | ||||
name={CommunityConfigurationRouteName} | name={CommunityConfigurationRouteName} | ||||
component={CommunityConfiguration} | component={CommunityConfiguration} | ||||
options={communityConfigurationOptions} | options={communityConfigurationOptions} | ||||
/> | /> | ||||
<CommunityCreation.Screen | |||||
name={CommunityCreationMembersRouteName} | |||||
component={CommunityCreationMembers} | |||||
options={communityCreationMembersOptions} | |||||
/> | |||||
</CommunityCreation.Navigator> | </CommunityCreation.Navigator> | ||||
); | ); | ||||
} | } | ||||
export default CommunityCreationNavigator; | export default CommunityCreationNavigator; |