import { ChatBox } from '@/components/ChatBox'; import React from 'react'; import { joinArray, Trans, useAppSelector, useUserId } from 'tailchat-shared'; import { PanelCommonHeader } from '../common/Header'; import _without from 'lodash/without'; import _take from 'lodash/take'; import { UserName } from '@/components/UserName'; function useConverseTitle(converseId: string): React.ReactNode { const members = useAppSelector( (state) => state.chat.converses[converseId]?.members ?? [] ); const userId = useUserId(); const otherMembers = _without(members, userId ?? ''); const len = otherMembers.length; if (len === 1) { return ( 的会话 ); } else if (len === 2) { return ( 和{' '} 的多人会话 ); } else { const membersEl = joinArray( _take(otherMembers, 2).map((uid) => ), ); return ( {{ membersEl }} 等人的多人会话 ); } } interface ConversePanelProps { converseId: string; } export const ConversePanel: React.FC = React.memo( ({ converseId }) => { const title = useConverseTitle(converseId); return (
{title}
); } ); ConversePanel.displayName = 'ConversePanel';