consolidation & handling of data from backend pt 2
This commit is contained in:
@@ -75,13 +75,15 @@ pub fn on_friend_cursor_position(payload: Payload, _socket: RawClient) {
|
||||
},
|
||||
};
|
||||
|
||||
scene_friends::set_friend_cursor_position(
|
||||
let scene_friends_changed = scene_friends::set_friend_cursor_position(
|
||||
outgoing_payload.user_id.clone(),
|
||||
outgoing_payload.position.clone(),
|
||||
);
|
||||
|
||||
emitter::emit_to_frontend_typed(&FriendCursorPositionUpdated(outgoing_payload));
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
if scene_friends_changed {
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,11 +92,15 @@ pub fn on_friend_disconnected(payload: Payload, _socket: RawClient) {
|
||||
if let Ok(data) =
|
||||
utils::extract_and_parse::<FriendDisconnectedPayload>(payload, "friend-disconnected")
|
||||
{
|
||||
scene_friends::remove_friend(&data.user_id);
|
||||
presence_state::remove_friend_presence(&data.user_id);
|
||||
let scene_friends_changed = scene_friends::remove_friend(&data.user_id);
|
||||
let presence_changed = presence_state::remove_friend_presence(&data.user_id);
|
||||
emitter::emit_to_frontend_typed(&FriendDisconnected(data));
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
presence_state::emit_presence_state_updated();
|
||||
if scene_friends_changed {
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
}
|
||||
if presence_changed {
|
||||
presence_state::emit_presence_state_updated();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +135,6 @@ pub fn on_friend_active_doll_changed(payload: Payload, _socket: RawClient) {
|
||||
) {
|
||||
scene_friends::set_friend_active_doll(data.friend_id.clone(), data.doll.clone());
|
||||
emitter::emit_to_frontend_typed(&FriendActiveDollChanged(data));
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
refresh::refresh_app_data(AppDataRefreshScope::Friends);
|
||||
}
|
||||
}
|
||||
@@ -139,8 +144,11 @@ pub fn on_friend_user_status(payload: Payload, _socket: RawClient) {
|
||||
if let Ok(data) =
|
||||
utils::extract_and_parse::<FriendUserStatusPayload>(payload, "friend-user-status")
|
||||
{
|
||||
presence_state::set_friend_presence(data.user_id.clone(), data.status.clone());
|
||||
let presence_changed =
|
||||
presence_state::set_friend_presence(data.user_id.clone(), data.status.clone());
|
||||
emitter::emit_to_frontend_typed(&FriendUserStatusChanged(data));
|
||||
presence_state::emit_presence_state_updated();
|
||||
if presence_changed {
|
||||
presence_state::emit_presence_state_updated();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user