feat: message reaction
This commit is contained in:
@@ -39,6 +39,23 @@ const channelMsgSlice = createSlice({
|
||||
state[id] = { [mid]: newMsg };
|
||||
}
|
||||
},
|
||||
deleteChannelMsg(state, action) {
|
||||
const { id, mid } = action.payload;
|
||||
console.log("delete channel message", id, mid, state[id][mid]);
|
||||
if (state[id][mid]) {
|
||||
// 添加removed标识
|
||||
// state[id][mid]["removed"] = true;
|
||||
delete state[id][mid];
|
||||
}
|
||||
},
|
||||
likeChannelMsg(state, action) {
|
||||
const { id, mid, action: emoji } = action.payload;
|
||||
console.log("add user likes message", id, mid, state[id][mid]);
|
||||
if (state[id][mid]) {
|
||||
const currLikes = state[id][mid].likes;
|
||||
state[id][mid].likes = currLikes ? [...currLikes, emoji] : [emoji];
|
||||
}
|
||||
},
|
||||
setChannelMsgRead(state, action) {
|
||||
const { id, mid } = action.payload;
|
||||
console.log("set unread", id, mid);
|
||||
@@ -54,6 +71,8 @@ const channelMsgSlice = createSlice({
|
||||
},
|
||||
});
|
||||
export const {
|
||||
deleteChannelMsg,
|
||||
likeChannelMsg,
|
||||
clearChannelMsg,
|
||||
initChannelMsg,
|
||||
clearChannelMsgUnread,
|
||||
|
||||
@@ -38,6 +38,23 @@ const userMsgSlice = createSlice({
|
||||
state[id] = { [mid]: newMsg };
|
||||
}
|
||||
},
|
||||
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 currLikes = state[id][mid].likes;
|
||||
state[id][mid].likes = currLikes ? [...currLikes, emoji] : [emoji];
|
||||
}
|
||||
},
|
||||
deleteUserMsg(state, action) {
|
||||
const { id, mid } = action.payload;
|
||||
console.log("delete user message", id, mid);
|
||||
if (state[id][mid]) {
|
||||
// 添加removed标识
|
||||
// state[id][mid].removed = true;
|
||||
delete state[id][mid];
|
||||
}
|
||||
},
|
||||
setUserMsgRead(state, action) {
|
||||
const { id, mid } = action.payload;
|
||||
console.log("set unread", id, mid);
|
||||
@@ -51,6 +68,8 @@ const userMsgSlice = createSlice({
|
||||
},
|
||||
});
|
||||
export const {
|
||||
likeUserMsg,
|
||||
deleteUserMsg,
|
||||
clearUserMsg,
|
||||
initUserMsg,
|
||||
addUserMsg,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
|
||||
const initialState = {
|
||||
ready: false,
|
||||
menuExpand: true,
|
||||
setting: false,
|
||||
channelSetting: null,
|
||||
@@ -9,6 +10,9 @@ const uiSlice = createSlice({
|
||||
name: "ui",
|
||||
initialState,
|
||||
reducers: {
|
||||
setReady(state) {
|
||||
state.ready = true;
|
||||
},
|
||||
toggleMenuExpand(state) {
|
||||
state.menuExpand = !state.menuExpand;
|
||||
},
|
||||
@@ -23,6 +27,7 @@ const uiSlice = createSlice({
|
||||
},
|
||||
});
|
||||
export const {
|
||||
setReady,
|
||||
toggleSetting,
|
||||
toggleMenuExpand,
|
||||
toggleChannelSetting,
|
||||
|
||||
Reference in New Issue
Block a user