diff --git a/src/main/MainTabsScreen.js b/src/main/MainTabsScreen.js index cc9c41d3c2f..86bff18a02b 100644 --- a/src/main/MainTabsScreen.js +++ b/src/main/MainTabsScreen.js @@ -13,12 +13,14 @@ import type { AppNavigationMethods, AppNavigationProp } from '../nav/AppNavigato import { bottomTabNavigatorConfig } from '../styles/tabs'; import HomeScreen from './HomeScreen'; import PmConversationsScreen from '../pm-conversations/PmConversationsScreen'; -import { IconInbox, IconStream, IconPeople } from '../common/Icons'; +import { IconInbox, IconStream, IconPeople, IconPrivateChat } from '../common/Icons'; import OwnAvatar from '../common/OwnAvatar'; import OfflineNotice from '../common/OfflineNotice'; import ProfileScreen from '../account-info/ProfileScreen'; import styles, { BRAND_COLOR, ThemeContext } from '../styles'; import SubscriptionsScreen from '../streams/SubscriptionsScreen'; +import UsersScreen from '../users/UsersScreen'; +import UsersProfileScreen from '../users/UsersProfileScreen'; export type MainTabsNavigatorParamList = {| +home: RouteParamsOf, @@ -77,7 +79,7 @@ export default function MainTabsScreen(props: Props): Node { component={PmConversationsScreen} options={{ tabBarLabel: 'Private messages', - tabBarIcon: ({ color }) => , + tabBarIcon: ({ color }) => , tabBarBadge: unreadPmsCount > 0 ? unreadPmsCount : undefined, tabBarBadgeStyle: { color: 'white', @@ -85,6 +87,14 @@ export default function MainTabsScreen(props: Props): Node { }, }} /> + , + }} + /> ; + +export default function UsersProfileCard(props: Props): Node { + const { filter } = props; + const dispatch = useDispatch(); + const users = useSelector(getUsers); + const presences = useSelector(getPresence); + + const navigation = useNavigation(); + const handleUserNarrow = useCallback( + (user: UserOrBot) => { + navigation.push('account-details', {userId: user.user_id}); + }, + [navigation], + ); + + return ( + + ); +} diff --git a/src/users/UsersProfileScreen.js b/src/users/UsersProfileScreen.js new file mode 100644 index 00000000000..4a3255a080e --- /dev/null +++ b/src/users/UsersProfileScreen.js @@ -0,0 +1,23 @@ +/* @flow strict-local */ +import React, { useState } from 'react'; +import type { Node } from 'react'; +import { View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +import type { RouteProp } from '../react-navigation'; +import type { AppNavigationProp } from '../nav/AppNavigator'; +import Screen from '../common/Screen'; +import UsersProfileCard from './UsersProfileCard'; + +type Props = $ReadOnly<{| + navigation: AppNavigationProp<'users'>, + route: op<'users', void>, +|}>; + +export default function UsersInfoScreen(props: Props): Node { + return ( + + + + ); +}