|
|
@@ -5,14 +5,17 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
|
|
|
|
|
import type { RootState } from "../store";
|
|
|
import { IDiscussionCountData } from "../components/api/Comment";
|
|
|
+import { ITagMapData } from "../components/api/Tag";
|
|
|
|
|
|
export interface IUpgrade {
|
|
|
resId: string;
|
|
|
data: IDiscussionCountData[];
|
|
|
+ tags?: ITagMapData[];
|
|
|
}
|
|
|
|
|
|
interface IState {
|
|
|
list: IDiscussionCountData[];
|
|
|
+ tags?: ITagMapData[];
|
|
|
}
|
|
|
|
|
|
const initialState: IState = { list: [] };
|
|
|
@@ -21,10 +24,14 @@ export const slice = createSlice({
|
|
|
name: "discussion-count",
|
|
|
initialState,
|
|
|
reducers: {
|
|
|
- publish: (state, action: PayloadAction<IDiscussionCountData[]>) => {
|
|
|
+ discussions: (state, action: PayloadAction<IDiscussionCountData[]>) => {
|
|
|
console.debug("discussion-count publish", action.payload);
|
|
|
state.list = action.payload;
|
|
|
},
|
|
|
+ tags: (state, action: PayloadAction<ITagMapData[]>) => {
|
|
|
+ console.debug("discussion-count publish", action.payload);
|
|
|
+ state.tags = action.payload;
|
|
|
+ },
|
|
|
upgrade: (state, action: PayloadAction<IUpgrade>) => {
|
|
|
console.debug("discussion-count publish", action.payload);
|
|
|
const old = state.list.filter(
|
|
|
@@ -35,10 +42,13 @@ export const slice = createSlice({
|
|
|
},
|
|
|
});
|
|
|
|
|
|
-export const { publish, upgrade } = slice.actions;
|
|
|
+export const { discussions, tags, upgrade } = slice.actions;
|
|
|
|
|
|
export const discussionList = (
|
|
|
state: RootState
|
|
|
): IDiscussionCountData[] | undefined => state.discussionCount.list;
|
|
|
|
|
|
+export const tagList = (state: RootState): ITagMapData[] | undefined =>
|
|
|
+ state.discussionCount.tags;
|
|
|
+
|
|
|
export default slice.reducer;
|