diff --git a/frontend/src/conversation/conversationSlice.ts b/frontend/src/conversation/conversationSlice.ts new file mode 100644 index 0000000..4923bf6 --- /dev/null +++ b/frontend/src/conversation/conversationSlice.ts @@ -0,0 +1,29 @@ +import { createSlice } from '@reduxjs/toolkit'; + +type MESSAGE_TYPE = 'QUESTION' | 'ANSWER'; + +interface SingleConversation { + message: string; + messageType: MESSAGE_TYPE; +} + +interface ConversationState { + conversation: SingleConversation[]; +} + +const initialState: ConversationState = { + conversation: [], +}; + +export const conversationSlice = createSlice({ + name: 'conversation', + initialState, + reducers: { + addMessage(state, action) { + state.conversation.push(action.payload); + }, + }, +}); + +export const { addMessage } = conversationSlice.actions; +export default conversationSlice.reducer; diff --git a/frontend/src/store.ts b/frontend/src/store.ts index 706e2ee..74f573d 100644 --- a/frontend/src/store.ts +++ b/frontend/src/store.ts @@ -1,11 +1,11 @@ -// import { configureStore, createSlice } from '@reduxjs/toolkit'; - import { configureStore } from '@reduxjs/toolkit'; +import { conversationSlice } from './conversation/conversationSlice'; import { prefSlice } from './preferences/preferenceSlice'; const store = configureStore({ reducer: { preference: prefSlice.reducer, + conversation: conversationSlice.reducer, }, });