Page MenuHomePhorge

D8379.1765106396.diff
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

D8379.1765106396.diff

diff --git a/native/navigation/route-names.js b/native/navigation/route-names.js
--- a/native/navigation/route-names.js
+++ b/native/navigation/route-names.js
@@ -44,6 +44,7 @@
import type { RelationshipListItemTooltipModalParams } from '../profile/relationship-list-item-tooltip-modal.react.js';
import type { ChangeRolesScreenParams } from '../roles/change-roles-screen.react.js';
import type { CommunityRolesScreenParams } from '../roles/community-roles-screen.react.js';
+import type { CreateRolesScreenParams } from '../roles/create-roles-screen.react.js';
import type { MessageSearchParams } from '../search/message-search.react.js';
export const ActionResultModalRouteName = 'ActionResultModal';
@@ -125,6 +126,7 @@
export const RegistrationTermsRouteName = 'RegistrationTerms';
export const RolesNavigatorRouteName = 'RolesNavigator';
export const CommunityRolesScreenRouteName = 'CommunityRolesScreen';
+export const CreateRolesScreenRouteName = 'CreateRolesScreen';
export type RootParamList = {
+LoggedOutModal: void,
@@ -242,6 +244,7 @@
export type RolesParamList = {
+CommunityRolesScreen: CommunityRolesScreenParams,
+ +CreateRolesScreen: CreateRolesScreenParams,
};
export type ScreenParamList = {
diff --git a/native/roles/community-roles-screen.react.js b/native/roles/community-roles-screen.react.js
--- a/native/roles/community-roles-screen.react.js
+++ b/native/roles/community-roles-screen.react.js
@@ -11,6 +11,7 @@
import type { RolesNavigationProp } from './roles-navigator.react.js';
import Button from '../components/button.react.js';
import type { NavigationRoute } from '../navigation/route-names.js';
+import { CreateRolesScreenRouteName } from '../navigation/route-names.js';
import { useStyles } from '../themes/colors.js';
export type CommunityRolesScreenParams = {
@@ -44,7 +45,14 @@
return rolePanelEntries;
}, [roleNamesToMembers]);
- const navigateToCreateRole = React.useCallback(() => {}, []);
+ const navigateToCreateRole = React.useCallback(
+ () =>
+ props.navigation.navigate(CreateRolesScreenRouteName, {
+ threadInfo,
+ action: 'create_role',
+ }),
+ [threadInfo, props.navigation],
+ );
return (
<View>
diff --git a/native/roles/create-roles-screen.react.js b/native/roles/create-roles-screen.react.js
new file mode 100644
--- /dev/null
+++ b/native/roles/create-roles-screen.react.js
@@ -0,0 +1,25 @@
+// @flow
+
+import * as React from 'react';
+
+import type { ThreadInfo } from 'lib/types/thread-types.js';
+
+import type { RolesNavigationProp } from './roles-navigator.react.js';
+import type { NavigationRoute } from '../navigation/route-names.js';
+
+export type CreateRolesScreenParams = {
+ +threadInfo: ThreadInfo,
+ +action: 'create_role' | 'edit_role',
+};
+
+type CreateRolesScreenProps = {
+ +navigation: RolesNavigationProp<'CreateRolesScreen'>,
+ +route: NavigationRoute<'CreateRolesScreen'>,
+};
+
+// eslint-disable-next-line no-unused-vars
+function CreateRolesScreen(props: CreateRolesScreenProps): React.Node {
+ return <></>;
+}
+
+export default CreateRolesScreen;
diff --git a/native/roles/roles-navigator.react.js b/native/roles/roles-navigator.react.js
--- a/native/roles/roles-navigator.react.js
+++ b/native/roles/roles-navigator.react.js
@@ -10,11 +10,13 @@
import CommunityRolesHeaderLeftButton from './community-roles-header-left-button.react.js';
import CommunityRolesScreen from './community-roles-screen.react.js';
+import CreateRolesScreen from './create-roles-screen.react.js';
import type { RootNavigationProp } from '../navigation/root-navigator.react.js';
import {
type ScreenParamList,
type RolesParamList,
CommunityRolesScreenRouteName,
+ CreateRolesScreenRouteName,
} from '../navigation/route-names.js';
import { useStyles, useColors } from '../themes/colors.js';
@@ -37,6 +39,10 @@
),
};
+const createRolesScreenOptions = {
+ headerTitle: 'Create role',
+};
+
type RolesNavigatorProps = {
+navigation: RootNavigationProp<'RolesNavigator'>,
...
@@ -69,6 +75,11 @@
component={CommunityRolesScreen}
options={communityRolesScreenOptions}
/>
+ <RolesStack.Screen
+ name={CreateRolesScreenRouteName}
+ component={CreateRolesScreen}
+ options={createRolesScreenOptions}
+ />
</RolesStack.Navigator>
</SafeAreaView>
);

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 11:19 AM (21 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5844022
Default Alt Text
D8379.1765106396.diff (4 KB)

Event Timeline