import { ChatRecordData, GetRoomChatlogMessageComposer, RoomChatlogEvent } 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 ModToolsChatlogViewProps { roomId: number; onCloseClick: () => void; } export const ModToolsChatlogView: FC = props => { const { roomId = null, onCloseClick = null } = props; const [ roomChatlog, setRoomChatlog ] = useState(null); useMessageEvent(RoomChatlogEvent, event => { const parser = event.getParser(); if(!parser || parser.data.roomId !== roomId) return; setRoomChatlog(parser.data); }); useEffect(() => { SendMessageComposer(new GetRoomChatlogMessageComposer(roomId)); }, [ roomId ]); return ( { roomChatlog ? :
{ LocalizeText('modtools.user.chatlog.loading') }
}
); };