minor consolidation & handling of data from frontend to rust side
This commit is contained in:
@@ -11,7 +11,10 @@ use crate::services::app_events::{
|
||||
FriendRequestAccepted, FriendRequestDenied, FriendRequestReceived, FriendUserStatusChanged,
|
||||
Unfriended,
|
||||
};
|
||||
use crate::services::cursor::{normalized_to_absolute, CursorPositions};
|
||||
use crate::services::{
|
||||
cursor::{normalized_to_absolute, CursorPositions},
|
||||
presence_state, scene_friends,
|
||||
};
|
||||
use crate::state::AppDataRefreshScope;
|
||||
|
||||
use super::{
|
||||
@@ -72,7 +75,13 @@ pub fn on_friend_cursor_position(payload: Payload, _socket: RawClient) {
|
||||
},
|
||||
};
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +90,11 @@ 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);
|
||||
emitter::emit_to_frontend_typed(&FriendDisconnected(data));
|
||||
scene_friends::emit_scene_friends_updated();
|
||||
presence_state::emit_presence_state_updated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +127,9 @@ pub fn on_friend_active_doll_changed(payload: Payload, _socket: RawClient) {
|
||||
payload,
|
||||
"friend-active-doll-changed",
|
||||
) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -124,6 +139,8 @@ 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());
|
||||
emitter::emit_to_frontend_typed(&FriendUserStatusChanged(data));
|
||||
presence_state::emit_presence_state_updated();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user