From 4bc27c266710fbab8c028c6fdbaf4fd158b3dcc2 Mon Sep 17 00:00:00 2001 From: Brian Kim Date: Mon, 10 May 2021 15:10:31 -0700 Subject: Fixed up keyboard mentions --- src/components/comments/AddComment.tsx | 2 +- src/components/common/TaggTypeahead.tsx | 8 ++++++-- src/utils/comments.tsx | 5 +++-- 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/components/comments/AddComment.tsx b/src/components/comments/AddComment.tsx index 9cf10b5e..7e440daf 100644 --- a/src/components/comments/AddComment.tsx +++ b/src/components/comments/AddComment.tsx @@ -123,7 +123,7 @@ const AddComment: React.FC = ({momentId, placeholderText}) => { ); }} inputRef={ref} - partTypes={mentionPartTypes('blue')} + partTypes={mentionPartTypes('blue', ref)} /> diff --git a/src/components/common/TaggTypeahead.tsx b/src/components/common/TaggTypeahead.tsx index 7cd99278..bef72851 100644 --- a/src/components/common/TaggTypeahead.tsx +++ b/src/components/common/TaggTypeahead.tsx @@ -8,6 +8,7 @@ import {SCREEN_WIDTH} from '../../utils'; import TaggUserRowCell from './TaggUserRowCell'; const TaggTypeahead: React.FC = ({ + textRef, keyword, onSuggestionPress, }) => { @@ -19,7 +20,7 @@ const TaggTypeahead: React.FC = ({ }, [keyword]); const getQuerySuggested = async () => { - if (!keyword || keyword.length < 3) { + if (!keyword) { setResults([]); return; } @@ -41,7 +42,9 @@ const TaggTypeahead: React.FC = ({ showsVerticalScrollIndicator={false} onLayout={(event) => { setHeight(event.nativeEvent.layout.height); - }}> + }} + keyboardShouldPersistTaps={'always'} + > {results.map((user) => ( { @@ -50,6 +53,7 @@ const TaggTypeahead: React.FC = ({ name: user.username, }); setResults([]); + textRef.current.focus(); }} user={user} /> diff --git a/src/utils/comments.tsx b/src/utils/comments.tsx index 0d551682..d7091d1e 100644 --- a/src/utils/comments.tsx +++ b/src/utils/comments.tsx @@ -78,13 +78,14 @@ export const renderTextWithMentions: React.FC = ({ ); }; -export const mentionPartTypes: (style: 'blue' | 'white') => PartType[] = ( +export const mentionPartTypes: (style: 'blue' | 'white', textRef: any) => PartType[] = ( style, + textRef ) => { return [ { trigger: '@', - renderSuggestions: (props) => , + renderSuggestions: (props) => , allowedSpacesCount: 0, isInsertSpaceAfterMention: true, textStyle: -- cgit v1.2.3-70-g09d2