Rocket.Chat.ReactNative/app/containers/MessageComposer/components/Autocomplete/AutocompleteUserRoom.tsx

39 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-01-25 14:11:07 +00:00
import React from 'react';
import { View, Text } from 'react-native';
import { IAutocompleteUserRoom } from '../../interfaces';
import Avatar from '../../../Avatar';
import RoomTypeIcon from '../../../RoomTypeIcon';
import { fetchIsAllOrHere } from '../../helpers';
import I18n from '../../../../i18n';
import { useStyle } from './styles';
export const AutocompleteUserRoom = ({ item }: { item: IAutocompleteUserRoom }) => {
const [styles] = useStyle();
const isAllOrHere = fetchIsAllOrHere(item);
return (
<>
{!isAllOrHere ? <Avatar rid={item.id} text={item.subtitle} size={36} type={item.t} /> : null}
<View style={[styles.userRoom, { paddingLeft: isAllOrHere ? 0 : 12 }]}>
<View style={styles.userRoomHeader}>
{!isAllOrHere ? (
<RoomTypeIcon userId={item.id} type={item.t} status={item.status} size={16} teamMain={item.teamMain} />
) : null}
<View style={{ paddingLeft: isAllOrHere ? 0 : 2 }}>
<Text style={styles.userRoomTitleText} numberOfLines={1}>
{isAllOrHere ? `@${item.title}` : item.title}
</Text>
</View>
</View>
{item.type === '#' ? null : (
<View style={styles.userRoomSubtitle}>
<Text style={styles.userRoomSubtitleText}>{item.subtitle}</Text>
{item.outside ? <Text style={styles.userRoomOutsideText}>{I18n.t('Not_in_channel')}</Text> : null}
</View>
)}
</View>
</>
);
};