Showing
2 changed files
with
67 additions
and
0 deletions
client/src/reducers/index.js
0 → 100644
client/src/reducers/reducer_watson.js
0 → 100644
| 1 | +import { | ||
| 2 | + INPUT_SUCCESS, | ||
| 3 | + INPUT_FAIL, | ||
| 4 | + SESSION_SUCCESS, | ||
| 5 | + SESSION_FAIL, | ||
| 6 | + MESSAGE_SUCCESS, | ||
| 7 | + MESSAGE_FAIL, | ||
| 8 | +} from "../actions/types"; | ||
| 9 | + | ||
| 10 | +const initialState = { | ||
| 11 | + messages: [], | ||
| 12 | + userMessages: [], | ||
| 13 | + botMessages: [], | ||
| 14 | + botOptions: [] | ||
| 15 | +}; | ||
| 16 | + | ||
| 17 | +export default (state = initialState, action) => { | ||
| 18 | + const { type, payload, botMsg, botLabels } = action; | ||
| 19 | + let { messages, userMessages, botMessages, botOptions } = state; | ||
| 20 | + | ||
| 21 | + switch (type) { | ||
| 22 | + case INPUT_SUCCESS: | ||
| 23 | + messages = [...messages, { message: payload, type: "user" }]; | ||
| 24 | + userMessages = [...userMessages, {messages: payload, type: "user"}]; | ||
| 25 | + return { | ||
| 26 | + ...state, | ||
| 27 | + messages, | ||
| 28 | + userMessages, | ||
| 29 | + }; | ||
| 30 | + case INPUT_FAIL: | ||
| 31 | + return { | ||
| 32 | + ...state, | ||
| 33 | + }; | ||
| 34 | + case SESSION_SUCCESS: | ||
| 35 | + localStorage.setItem("session", payload["session_id"]); | ||
| 36 | + return { | ||
| 37 | + ...state, | ||
| 38 | + }; | ||
| 39 | + case SESSION_FAIL: | ||
| 40 | + return { | ||
| 41 | + ...state, | ||
| 42 | + }; | ||
| 43 | + case MESSAGE_SUCCESS: | ||
| 44 | + botOptions = [...botOptions, { options: botLabels, type: "bot"}]; | ||
| 45 | + botMessages = [...botMessages, { botMessage: botMsg, type: "bot"}]; | ||
| 46 | + messages = [...messages, { message: payload, type: "bot" }]; | ||
| 47 | + return { | ||
| 48 | + ...state, | ||
| 49 | + messages, | ||
| 50 | + botMessages, | ||
| 51 | + botOptions, | ||
| 52 | + }; | ||
| 53 | + case MESSAGE_FAIL: | ||
| 54 | + return { | ||
| 55 | + ...state, | ||
| 56 | + }; | ||
| 57 | + default: | ||
| 58 | + return { | ||
| 59 | + ...state, | ||
| 60 | + }; | ||
| 61 | + } | ||
| 62 | +}; |
-
Please register or login to post a comment