feat: select multiple messages and forward
This commit is contained in:
@@ -76,6 +76,13 @@ export const messageApi = createApi({
|
||||
url: `/resource/archive?file_path=${encodeURIComponent(file_path)}`,
|
||||
}),
|
||||
}),
|
||||
pinMessage: builder.mutation({
|
||||
query: ({ gid, mid }) => ({
|
||||
url: `/group/${gid}/pin`,
|
||||
method: "POST",
|
||||
body: { mid },
|
||||
}),
|
||||
}),
|
||||
replyMessage: builder.mutation({
|
||||
query: ({ reply_mid, content, type = "text" }) => ({
|
||||
headers: {
|
||||
@@ -114,6 +121,7 @@ export const messageApi = createApi({
|
||||
});
|
||||
|
||||
export const {
|
||||
usePinMessageMutation,
|
||||
useLazyGetArchiveMessageQuery,
|
||||
useGetArchiveMessageQuery,
|
||||
useLazyGetOGInfoQuery,
|
||||
|
||||
@@ -11,6 +11,7 @@ const initialState = {
|
||||
menuExpand: false,
|
||||
fileListView: Views.grid,
|
||||
uploadFiles: {},
|
||||
selectMessages: {},
|
||||
};
|
||||
const uiSlice = createSlice({
|
||||
name: "ui",
|
||||
@@ -40,6 +41,7 @@ const uiSlice = createSlice({
|
||||
state.userGuide[key] = obj[key];
|
||||
});
|
||||
},
|
||||
|
||||
updateUploadFiles(state, action) {
|
||||
const {
|
||||
context = "channel",
|
||||
@@ -105,6 +107,33 @@ const uiSlice = createSlice({
|
||||
break;
|
||||
}
|
||||
},
|
||||
updateSelectMessages(state, action) {
|
||||
const {
|
||||
context = "channel",
|
||||
id = null,
|
||||
operation = "add",
|
||||
data = null,
|
||||
} = action.payload;
|
||||
let currData = state.selectMessages[`${context}_${id}`];
|
||||
switch (operation) {
|
||||
case "add": {
|
||||
currData = currData ? [...currData, data] : [data];
|
||||
break;
|
||||
}
|
||||
case "remove": {
|
||||
currData = currData.filter((mid) => mid != data);
|
||||
break;
|
||||
}
|
||||
case "reset": {
|
||||
currData = null;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
state.selectMessages[`${context}_${id}`] = currData;
|
||||
},
|
||||
},
|
||||
});
|
||||
export const {
|
||||
@@ -115,6 +144,7 @@ export const {
|
||||
toggleMenuExpand,
|
||||
updateFileListView,
|
||||
updateUploadFiles,
|
||||
updateSelectMessages,
|
||||
updateUserGuide,
|
||||
} = uiSlice.actions;
|
||||
export default uiSlice.reducer;
|
||||
|
||||
Reference in New Issue
Block a user