import { ChatRecordData, GetUserChatlogMessageComposer, UserChatlogEvent } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; import { FaSpinner } from 'react-icons/fa'; import { LocalizeText, SendMessageComposer } from '../../../../api'; import { DraggableWindowPosition, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; import { useMessageEvent } from '../../../../hooks'; import { ChatlogView } from '../chatlog/ChatlogView'; interface ModToolsUserChatlogViewProps { userId: number; onCloseClick: () => void; } export const ModToolsUserChatlogView: FC = props => { const { userId = null, onCloseClick = null } = props; const [ userChatlog, setUserChatlog ] = useState(null); const [ username, setUsername ] = useState(null); useMessageEvent(UserChatlogEvent, event => { const parser = event.getParser(); if(!parser || parser.data.userId !== userId) return; setUsername(parser.data.username); setUserChatlog(parser.data.roomChatlogs); }); useEffect(() => { SendMessageComposer(new GetUserChatlogMessageComposer(userId)); }, [ userId ]); return ( { userChatlog ? :
{ LocalizeText('modtools.user.chatlog.loading') }
}
); };