nitro-react/src/views/friend-list/FriendListMessageHandler.tsx

28 lines
1.0 KiB
TypeScript
Raw Normal View History

2021-04-22 09:11:27 +02:00
import { GetFriendRequestsComposer, MessengerInitEvent } from 'nitro-renderer';
import { useCallback } from 'react';
import { CreateMessageHook, SendMessageHook } from '../../hooks/messages/message-event';
2021-04-22 08:54:49 +02:00
import { FriendListMessageHandlerProps } from './FriendListMessageHandler.types';
2021-04-22 09:11:27 +02:00
import { MessengerSettings } from './utils/MessengerSettings';
2021-04-22 08:54:49 +02:00
export function FriendListMessageHandler(props: FriendListMessageHandlerProps): JSX.Element
{
2021-04-22 09:11:27 +02:00
const { setMessengerSettings = null } = props;
2021-04-22 08:54:49 +02:00
2021-04-22 09:11:27 +02:00
const onMessengerInitEvent = useCallback((event: MessengerInitEvent) =>
{
const parser = event.getParser();
2021-04-22 08:54:49 +02:00
2021-04-22 09:11:27 +02:00
setMessengerSettings(new MessengerSettings(
parser.userFriendLimit,
parser.normalFriendLimit,
parser.extendedFriendLimit,
parser.categories));
2021-04-22 08:54:49 +02:00
2021-04-22 09:11:27 +02:00
SendMessageHook(new GetFriendRequestsComposer());
}, [ setMessengerSettings ]);
CreateMessageHook(MessengerInitEvent, onMessengerInitEvent);
2021-04-22 08:54:49 +02:00
return null;
}