diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-10 19:38:03 -0400 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-05-10 19:38:03 -0400 |
commit | 25be50b286034edad75a47ce676401e67746469f (patch) | |
tree | 9c07b25d95b872e0deb7c0aeb7a78b4155f38c4e /src | |
parent | 517616f21aa3644103b185884e2c233056e316d8 (diff) |
added default friends suggestions
Diffstat (limited to 'src')
-rw-r--r-- | src/components/common/TaggTypeahead.tsx | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/components/common/TaggTypeahead.tsx b/src/components/common/TaggTypeahead.tsx index fcf196bd..747e0bb5 100644 --- a/src/components/common/TaggTypeahead.tsx +++ b/src/components/common/TaggTypeahead.tsx @@ -1,26 +1,32 @@ import React, {Fragment, useEffect, useState} from 'react'; import {ScrollView, StyleSheet} from 'react-native'; import {MentionSuggestionsProps} from 'react-native-controlled-mentions'; +import {useSelector} from 'react-redux'; import {SEARCH_ENDPOINT_MESSAGES} from '../../constants'; import {loadSearchResults} from '../../services'; +import {RootState} from '../../store/rootReducer'; import {ProfilePreviewType} from '../../types'; -import {SCREEN_WIDTH} from '../../utils'; +import {SCREEN_WIDTH, shuffle} from '../../utils'; import TaggUserRowCell from './TaggUserRowCell'; const TaggTypeahead: React.FC<MentionSuggestionsProps> = ({ keyword, onSuggestionPress, }) => { + const {friends} = useSelector((state: RootState) => state.friends); const [results, setResults] = useState<ProfilePreviewType[]>([]); const [height, setHeight] = useState(0); useEffect(() => { - getQuerySuggested(); + if (keyword === '') { + setResults(shuffle(friends)); + } else { + getQuerySuggested(); + } }, [keyword]); const getQuerySuggested = async () => { - if (!keyword) { - setResults([]); + if (keyword === undefined || keyword === '@') { return; } const searchResults = await loadSearchResults( @@ -42,16 +48,15 @@ const TaggTypeahead: React.FC<MentionSuggestionsProps> = ({ onLayout={(event) => { setHeight(event.nativeEvent.layout.height); }} - keyboardShouldPersistTaps={'always'} - > + keyboardShouldPersistTaps={'always'}> {results.map((user) => ( <TaggUserRowCell onPress={() => { + setResults([]); onSuggestionPress({ id: user.id, name: user.username, }); - setResults([]); }} user={user} /> |