Skip to content

Commit cf73534

Browse files
committed
user [nfc]: Inline "card" into trivial "screen" wrapper UsersScreen
1 parent 956ad3c commit cf73534

File tree

2 files changed

+22
-39
lines changed

2 files changed

+22
-39
lines changed

src/users/UsersCard.js

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/users/UsersScreen.js

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,42 @@
11
/* @flow strict-local */
2-
import React, { useState } from 'react';
2+
import React, { useCallback, useState } from 'react';
33
import type { Node } from 'react';
44

55
import type { RouteProp } from '../react-navigation';
66
import type { AppNavigationProp } from '../nav/AppNavigator';
77
import Screen from '../common/Screen';
8-
import UsersCard from './UsersCard';
8+
import UserList from './UserList';
9+
import type { UserOrBot } from '../types';
10+
import { useSelector, useDispatch } from '../react-redux';
11+
import { pm1to1NarrowFromUser } from '../utils/narrow';
12+
import { getUsers, getPresence } from '../selectors';
13+
import { navigateBack, doNarrow } from '../actions';
14+
import { useNavigation } from '../react-navigation';
915

1016
type Props = $ReadOnly<{|
1117
navigation: AppNavigationProp<'users'>,
1218
route: RouteProp<'users', void>,
1319
|}>;
1420

1521
export default function UsersScreen(props: Props): Node {
22+
const dispatch = useDispatch();
23+
const users = useSelector(getUsers);
24+
const presences = useSelector(getPresence);
25+
26+
const navigation = useNavigation();
27+
const handleUserNarrow = useCallback(
28+
(user: UserOrBot) => {
29+
navigation.dispatch(navigateBack());
30+
dispatch(doNarrow(pm1to1NarrowFromUser(user)));
31+
},
32+
[dispatch, navigation],
33+
);
34+
1635
const [filter, setFilter] = useState<string>('');
1736

1837
return (
1938
<Screen search scrollEnabled={false} searchBarOnChange={setFilter}>
20-
<UsersCard filter={filter} />
39+
<UserList users={users} filter={filter} presences={presences} onPress={handleUserNarrow} />
2140
</Screen>
2241
);
2342
}

0 commit comments

Comments
 (0)