import { Comment, Drawer, Input, List, Tag } from 'antd'; import produce from 'immer'; import _ from 'lodash'; import React, { useState } from 'react'; import { patchUpdateRoom } from '../services/chat'; import styles from '../style.module.css'; import CustomizedAvatar from './CustomizedAvatar'; import IconFont from './IconFonts'; import UserInfoPop from './UserInfoPop'; type PropType = { username: string; setAddVisible: (addVisible: boolean) => void; visible: boolean; setVisible: (visible: boolean) => void; chat: any; onChatSet: (chat: any) => void; members: any[]; }; const MessageHeader: React.FC = ({ username, setAddVisible, visible, setVisible, chat, onChatSet, members, }) => { const [editing, setEditing] = useState(false); const [filteredUser, setFilteredUser] = useState(''); return ( <>
{chat.room && [
setEditing(true)}> {editing ? ( { onChatSet( produce(chat, (draft) => { draft.room.name = e.target.value; }) ); }} autoFocus onPressEnter={() => { if (chat.room) { patchUpdateRoom(username, chat.room.id, chat.room.name, chat.room.allow_user_ids).then(() => setEditing(false) ); } }} onBlur={() => { setEditing(false); }} /> ) : (
{chat.room.name || '未命名'}({chat.room.allow_user_ids.length} ) { setEditing(true); }} />
)}
,
setVisible(!visible)} />
, ]}
{chat.room && ( setVisible(false)} forceRender width={240} drawerStyle={{ borderLeft: '1px solid var(--gray-100)' }} getContainer={false} closable={false} mask={false} className={styles.userlistDrawer} >
setFilteredUser(e.target.value)} suffix={ setAddVisible(true)} />} />
v.user_name.includes(filteredUser)), (a) => a.user_id !== chat.room?.creator_id )} renderItem={(item: any) => (
  • u.user_id === item.user_id)[0]}> } content={ {item.user_name} {chat.room?.creator_id === item.user_id && ( 群主 )} } />
  • )} />
    )} ); }; export default MessageHeader;