blob: 92402db18bf05805eb61f5e030674dbf75d05fbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import {createSlice} from '@reduxjs/toolkit';
import {NO_FRIENDS_DATA} from '../initialStates';
const userFriendsSlice = createSlice({
name: 'userFriends',
initialState: NO_FRIENDS_DATA,
reducers: {
userFriendsFetched: (state, action) => {
state.friends = action.payload.friends;
},
updateFriends: (state, action) => {
const {isFriend, data} = action.payload;
if (!isFriend) {
const friendInList: boolean = state.friends.some(
(friend) => friend.username === data.username,
);
if (!friendInList) {
state.friends.push(data);
}
} else {
state.friends = state.friends.filter(
(friend) => friend.username !== data.username,
);
}
},
},
});
export const {userFriendsFetched, updateFriends} = userFriendsSlice.actions;
export const userFriendsReducer = userFriendsSlice.reducer;
|