import React, { useCallback } from 'react'; import { StyleSheet } from 'react-native'; import { HeaderBackButton } from '@react-navigation/stack'; import { themes } from '../../constants/colors'; import Avatar from '../../containers/Avatar'; const styles = StyleSheet.create({ avatar: { borderRadius: 10, marginHorizontal: 16 } }); interface IRoomLeftButtonsProps { tmid?: string; unreadsCount: number; navigation: any; // TODO - change this after merge react navigation baseUrl: string; userId: string; token: string; title: string; t: string; theme: string; goRoomActionsView: Function; isMasterDetail: boolean; } const LeftButtons = React.memo( ({ tmid, unreadsCount, navigation, baseUrl, userId, token, title, t, theme, goRoomActionsView, isMasterDetail }: IRoomLeftButtonsProps) => { if (!isMasterDetail || tmid) { const onPress = useCallback(() => navigation.goBack(), []); const label: any = unreadsCount > 99 ? '+99' : unreadsCount || ' '; const labelLength = label.length ? label.length : 1; const marginLeft = -2 * labelLength; const fontSize = labelLength > 1 ? 14 : 17; return ( ); } const onPress = useCallback(() => goRoomActionsView(), []); if (baseUrl && userId && token) { return ; } return null; } ); export default LeftButtons;