mirror of
https://github.com/duckietm/Nitro-Cool-UI.git
synced 2025-06-21 22:36:58 +00:00
Fix: Double friends entry
This commit is contained in:
parent
5c325f37f5
commit
28249f88d6
@ -1,8 +1,9 @@
|
|||||||
import { AcceptFriendMessageComposer, DeclineFriendMessageComposer, FollowFriendMessageComposer, FriendListFragmentEvent, FriendListUpdateComposer, FriendListUpdateEvent, FriendParser, FriendRequestsEvent, GetFriendRequestsComposer, MessengerInitComposer, MessengerInitEvent, NewFriendRequestEvent, RequestFriendComposer, SetRelationshipStatusComposer } from '@nitrots/nitro-renderer';
|
import { AcceptFriendMessageComposer, DeclineFriendMessageComposer, FindFriendsProcessResultEvent, FollowFriendMessageComposer, FriendListFragmentEvent, FriendListUpdateComposer, FriendListUpdateEvent, FriendParser, FriendRequestsEvent, GetFriendRequestsComposer, MessengerInitComposer, MessengerInitEvent, NewFriendRequestEvent, RequestFriendComposer, SetRelationshipStatusComposer } from '@nitrots/nitro-renderer';
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
import { useEffect, useMemo, useState } from 'react';
|
||||||
import { useBetween } from 'use-between';
|
import { useBetween } from 'use-between';
|
||||||
import { CloneObject, GetSessionDataManager, MessengerFriend, MessengerRequest, MessengerSettings, SendMessageComposer } from '../../api';
|
import { CloneObject, GetSessionDataManager, LocalizeText, MessengerFriend, MessengerRequest, MessengerSettings, SendMessageComposer } from '../../api';
|
||||||
import { useMessageEvent } from '../events';
|
import { useMessageEvent } from '../events';
|
||||||
|
import { useNotification } from '../notification';
|
||||||
|
|
||||||
const useFriendsState = () =>
|
const useFriendsState = () =>
|
||||||
{
|
{
|
||||||
@ -11,6 +12,7 @@ const useFriendsState = () =>
|
|||||||
const [ sentRequests, setSentRequests ] = useState<number[]>([]);
|
const [ sentRequests, setSentRequests ] = useState<number[]>([]);
|
||||||
const [ dismissedRequestIds, setDismissedRequestIds ] = useState<number[]>([]);
|
const [ dismissedRequestIds, setDismissedRequestIds ] = useState<number[]>([]);
|
||||||
const [ settings, setSettings ] = useState<MessengerSettings>(null);
|
const [ settings, setSettings ] = useState<MessengerSettings>(null);
|
||||||
|
const { simpleAlert } = useNotification();
|
||||||
|
|
||||||
const onlineFriends = useMemo(() =>
|
const onlineFriends = useMemo(() =>
|
||||||
{
|
{
|
||||||
@ -194,7 +196,7 @@ const useFriendsState = () =>
|
|||||||
return newValue;
|
return newValue;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
useMessageEvent<FriendRequestsEvent>(FriendRequestsEvent, event =>
|
useMessageEvent<FriendRequestsEvent>(FriendRequestsEvent, event =>
|
||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
@ -207,7 +209,7 @@ const useFriendsState = () =>
|
|||||||
{
|
{
|
||||||
const index = newValue.findIndex(existing => (existing.requesterUserId === request.requesterUserId));
|
const index = newValue.findIndex(existing => (existing.requesterUserId === request.requesterUserId));
|
||||||
|
|
||||||
if(index > 0)
|
if(index >= 0)
|
||||||
{
|
{
|
||||||
newValue[index] = CloneObject(newValue[index]);
|
newValue[index] = CloneObject(newValue[index]);
|
||||||
newValue[index].populate(request);
|
newValue[index].populate(request);
|
||||||
@ -248,11 +250,20 @@ const useFriendsState = () =>
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
useMessageEvent<FindFriendsProcessResultEvent>(FindFriendsProcessResultEvent, event =>
|
||||||
|
{
|
||||||
|
const parser = event.getParser();
|
||||||
|
|
||||||
|
if (!parser) return;
|
||||||
|
|
||||||
|
simpleAlert(LocalizeText(!parser.success ? 'friendbar.find.error.text' : 'friendbar.find.success.text'), '', '', '', LocalizeText(!parser.success ? 'friendbar.find.error.title' : 'friendbar.find.success.title'));
|
||||||
|
});
|
||||||
|
|
||||||
useEffect(() =>
|
useEffect(() =>
|
||||||
{
|
{
|
||||||
SendMessageComposer(new MessengerInitComposer());
|
SendMessageComposer(new MessengerInitComposer());
|
||||||
|
|
||||||
const interval = setInterval(() => SendMessageComposer(new FriendListUpdateComposer()), 120000);
|
const interval = window.setInterval(() => SendMessageComposer(new FriendListUpdateComposer()), 120000);
|
||||||
|
|
||||||
return () =>
|
return () =>
|
||||||
{
|
{
|
||||||
@ -263,4 +274,4 @@ const useFriendsState = () =>
|
|||||||
return { friends, requests, sentRequests, dismissedRequestIds, setDismissedRequestIds, settings, onlineFriends, offlineFriends, getFriend, canRequestFriend, requestFriend, requestResponse, followFriend, updateRelationship };
|
return { friends, requests, sentRequests, dismissedRequestIds, setDismissedRequestIds, settings, onlineFriends, offlineFriends, getFriend, canRequestFriend, requestFriend, requestResponse, followFriend, updateRelationship };
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useFriends = () => useBetween(useFriendsState);
|
export const useFriends = () => useBetween(useFriendsState);
|
Loading…
x
Reference in New Issue
Block a user