feat: message edit and reaction
This commit is contained in:
@@ -39,11 +39,37 @@ const userMsgSlice = createSlice({
|
||||
}
|
||||
},
|
||||
likeUserMsg(state, action) {
|
||||
const { id, mid, action: emoji } = action.payload;
|
||||
console.log("add user likes", id, mid, state[id][mid]);
|
||||
if (state[id][mid]) {
|
||||
const { id, from_uid, mid, action: reaction } = action.payload;
|
||||
console.log("user likes: likes", id, mid, from_uid, reaction);
|
||||
if (state[id] && state[id][mid]) {
|
||||
if (!state[id][mid].likes) {
|
||||
console.log("user likes: initial ");
|
||||
state[id][mid].likes = {};
|
||||
}
|
||||
const currLikes = state[id][mid].likes;
|
||||
state[id][mid].likes = currLikes ? [...currLikes, emoji] : [emoji];
|
||||
// state[id][mid].likes = currLikes ? [...currLikes, reaction] : [reaction];
|
||||
if (currLikes[reaction]) {
|
||||
if (currLikes[reaction].includes(from_uid)) {
|
||||
const idx = currLikes[reaction].findIndex((id) => {
|
||||
return id == from_uid;
|
||||
});
|
||||
console.log("remove reaction", currLikes[reaction], idx, from_uid);
|
||||
currLikes[reaction].splice(idx, 1);
|
||||
} else {
|
||||
currLikes[reaction].push(from_uid);
|
||||
}
|
||||
} else {
|
||||
currLikes[reaction] = [from_uid];
|
||||
}
|
||||
// state[id][mid].likes = currLikes;
|
||||
}
|
||||
},
|
||||
updateUserMsg(state, action) {
|
||||
const { id, mid, content, time } = action.payload;
|
||||
console.log("update user message", id, mid);
|
||||
if (state[id][mid]) {
|
||||
state[id][mid].content = content;
|
||||
state[id][mid].edited = time;
|
||||
}
|
||||
},
|
||||
deleteUserMsg(state, action) {
|
||||
@@ -68,6 +94,7 @@ const userMsgSlice = createSlice({
|
||||
},
|
||||
});
|
||||
export const {
|
||||
updateUserMsg,
|
||||
likeUserMsg,
|
||||
deleteUserMsg,
|
||||
clearUserMsg,
|
||||
|
||||
Reference in New Issue
Block a user