Skip to content

Commit eb93314

Browse files
committed
fix: auto complete input changes
1 parent c5a84a5 commit eb93314

File tree

3 files changed

+39
-37
lines changed

3 files changed

+39
-37
lines changed

package/src/components/AutoCompleteInput/AutoCompleteInput.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,7 @@ export const AutoCompleteInput = (props: AutoCompleteInputProps) => {
6565
}, [channel]);
6666

6767
const numberOfLines = useMemo(() => {
68-
if (props.numberOfLines) {
69-
return props.numberOfLines;
70-
}
71-
72-
return MAX_NUMBER_OF_LINES;
68+
return props.numberOfLines ?? MAX_NUMBER_OF_LINES;
7369
}, [props.numberOfLines]);
7470

7571
useEffect(() => {

package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,41 @@
1-
import React, { useCallback } from 'react';
1+
import React from 'react';
22
import { StyleSheet, View } from 'react-native';
33

44
import { CommandVariants } from 'stream-chat';
55

66
import { useTheme } from '../../contexts/themeContext/ThemeContext';
77
import { Flag, GiphyIcon, Imgur, Lightning, Mute, Sound, UserAdd, UserDelete } from '../../icons';
88

9+
export const SuggestionCommandIcon = ({ name }: { name: CommandVariants }) => {
10+
const {
11+
theme: {
12+
colors: { white },
13+
},
14+
} = useTheme();
15+
16+
if (name === 'ban') {
17+
return <UserDelete height={16} pathFill={white} width={16} />;
18+
} else if (name === 'flag') {
19+
return <Flag pathFill={white} />;
20+
} else if (name === 'giphy') {
21+
return <GiphyIcon />;
22+
} else if (name === 'imgur') {
23+
return <Imgur />;
24+
} else if (name === 'mute') {
25+
return <Mute height={16} pathFill={white} width={16} />;
26+
} else if (name === 'unban') {
27+
return <UserAdd height={16} pathFill={white} width={16} />;
28+
} else if (name === 'unmute') {
29+
return <Sound pathFill={white} />;
30+
} else {
31+
return <Lightning fill={white} size={16} />;
32+
}
33+
};
34+
935
export const AutoCompleteSuggestionCommandIcon = ({ name }: { name: CommandVariants }) => {
1036
const {
1137
theme: {
12-
colors: { accent_blue, white },
38+
colors: { accent_blue },
1339
messageInput: {
1440
suggestions: {
1541
command: { iconContainer },
@@ -18,32 +44,6 @@ export const AutoCompleteSuggestionCommandIcon = ({ name }: { name: CommandVaria
1844
},
1945
} = useTheme();
2046

21-
const renderIcon = useCallback(
22-
(name: CommandVariants) => {
23-
switch (name) {
24-
case 'ban':
25-
return <UserDelete height={16} pathFill={white} width={16} />;
26-
case 'flag':
27-
return <Flag pathFill={white} />;
28-
case 'giphy':
29-
return <GiphyIcon />;
30-
case 'imgur':
31-
return <Imgur />;
32-
case 'mute':
33-
return <Mute height={16} pathFill={white} width={16} />;
34-
case 'unban':
35-
return <UserAdd height={16} pathFill={white} width={16} />;
36-
case 'unmute':
37-
return <Sound pathFill={white} />;
38-
default:
39-
return <Lightning fill={white} size={16} />;
40-
}
41-
},
42-
[white],
43-
);
44-
45-
const icon = renderIcon(name);
46-
4747
return (
4848
<View
4949
style={[
@@ -54,7 +54,7 @@ export const AutoCompleteSuggestionCommandIcon = ({ name }: { name: CommandVaria
5454
iconContainer,
5555
]}
5656
>
57-
{icon}
57+
<SuggestionCommandIcon name={name} />
5858
</View>
5959
);
6060
};

package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,13 @@ export const CommandSuggestionItem = (item: CommandSuggestion) => {
9292
);
9393
};
9494

95-
const renderSuggestionItem = (item: TextComposerSuggestion, triggerType?: string) => {
95+
const SuggestionItem = ({
96+
item,
97+
triggerType,
98+
}: {
99+
item: TextComposerSuggestion;
100+
triggerType?: string;
101+
}) => {
96102
switch (triggerType) {
97103
case 'mention':
98104
return <MentionSuggestionItem {...(item as UserSuggestion)} />;
@@ -127,9 +133,9 @@ export const AutoCompleteSuggestionItem = ({
127133
return (
128134
<Pressable
129135
onPress={handlePress}
130-
style={({ pressed }) => [{ opacity: pressed ? 0.2 : 1 }, itemStyle]}
136+
style={({ pressed }) => [{ opacity: pressed ? 0.8 : 1 }, itemStyle]}
131137
>
132-
{renderSuggestionItem(itemProps, triggerType)}
138+
<SuggestionItem item={itemProps} triggerType={triggerType} />
133139
</Pressable>
134140
);
135141
};

0 commit comments

Comments
 (0)