UNPKG

@botonic/react

Version:

Build Chatbots using React

57 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.webchatReducer = webchatReducer; const actions_1 = require("./actions"); const messages_reducer_1 = require("./messages-reducer"); // eslint-disable-next-line complexity function webchatReducer(state, action) { switch (action.type) { case actions_1.WebchatAction.UPDATE_WEBVIEW: return { ...state, ...action.payload }; case actions_1.WebchatAction.REMOVE_WEBVIEW: return { ...state, webview: undefined, webviewParams: undefined }; case actions_1.WebchatAction.UPDATE_SESSION: return { ...state, session: { ...action.payload } }; case actions_1.WebchatAction.UPDATE_TYPING: return { ...state, typing: action.payload }; case actions_1.WebchatAction.UPDATE_THEME: return { ...state, ...action.payload, }; case actions_1.WebchatAction.UPDATE_HANDOFF: return { ...state, handoff: action.payload }; case actions_1.WebchatAction.TOGGLE_WEBCHAT: { const isWebchatOpen = action.payload; return { ...state, isWebchatOpen, }; } case actions_1.WebchatAction.TOGGLE_EMOJI_PICKER: return { ...state, isEmojiPickerOpen: action.payload }; case actions_1.WebchatAction.TOGGLE_PERSISTENT_MENU: return { ...state, isPersistentMenuOpen: action.payload }; case actions_1.WebchatAction.TOGGLE_COVER_COMPONENT: return { ...state, isCoverComponentOpen: action.payload }; case actions_1.WebchatAction.DO_RENDER_CUSTOM_COMPONENT: return { ...state, isCustomComponentRendered: action.payload }; case actions_1.WebchatAction.SET_ERROR: return { ...state, error: action.payload || {} }; case actions_1.WebchatAction.SET_ONLINE: return { ...state, online: action.payload }; case actions_1.WebchatAction.UPDATE_DEV_SETTINGS: return { ...state, devSettings: { ...action.payload } }; case actions_1.WebchatAction.UPDATE_LATEST_INPUT: return { ...state, latestInput: action.payload }; case actions_1.WebchatAction.UPDATE_LAST_ROUTE_PATH: return { ...state, lastRoutePath: action.payload }; case actions_1.WebchatAction.SET_CURRENT_ATTACHMENT: return { ...state, currentAttachment: action.payload }; case actions_1.WebchatAction.SET_IS_INPUT_FOCUSED: return { ...state, isInputFocused: action.payload }; default: return (0, messages_reducer_1.messagesReducer)(state, action); } } //# sourceMappingURL=webchat-reducer.js.map