import React, { PropsWithChildren, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { TUIContactContextProvider, TUIContactContextValue, } from '../../context/TUIContactContext'; import { useTUIKitContext } from '../../context'; import useTUIContact from './hooks/useTUIContact'; import { TUIContactList } from './TUIContactList/TUIContactList'; import { TUIContactSearch } from '../TUIContactSearch/TUIContactSearch'; import { Icon, IconTypes } from '../Icon'; import './index.scss'; export function UnMemoizedTUIContact( props: PropsWithChildren, ): React.ReactElement { const { children } = props; const { t } = useTranslation(); const { setActiveContact } = useTUIKitContext('TUIContact'); const [isShowAddFriend, setShowAddFriend] = useState(false); const addFriend = () => { setActiveContact(); setShowAddFriend(true); }; const addFriendBack = () => { setActiveContact(); setShowAddFriend(false); }; const { friendList, blockList, blocklistProfile, friendApplicationList, isShowContactList, setShowContactList, } = useTUIContact(); const TUIContactValue: TUIContactContextValue = useMemo( () => ({ friendList, blockList, blocklistProfile, friendApplicationList, isShowContactList, setShowContactList, }), [ friendList, blocklistProfile, friendApplicationList, isShowContactList, setShowContactList, ], ); return ( {children || (
{!isShowAddFriend && ( <>
)} {isShowAddFriend && ( <>
{t('TUIContact.Add Friend')}
)}
)}
); } export const TUIContact = React.memo(UnMemoizedTUIContact);