npm-smooch-test
Version:
*Smooch adds beautifully simple messaging to your app to keep your users engaged and coming back.*
56 lines (45 loc) • 2.36 kB
JavaScript
;
exports.__esModule = true;
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
exports.UIReducer = UIReducer;
var _uiActions = require('../actions/ui-actions');
var _commonActions = require('../actions/common-actions');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var INITIAL_STATE = {
text: {
headerText: 'How can we help?',
inputPlaceholder: 'Type a message...',
sendButtonText: 'Send',
introText: 'This is the beginning of your conversation.<br/> Ask us anything!',
settingsText: 'You can leave us your email so that we can get back to you this way.',
settingsReadOnlyText: 'We\'ll get back to you at this email address if we missed you.',
settingsInputPlaceholder: 'Your email address',
settingsSaveButtonText: 'Save',
settingsHeaderText: 'Email Settings',
settingsNotificationText: 'In case we\'re slow to respond you can <a href data-ui-settings-link>leave us your email</a>.',
actionPaymentError: 'An error occurred while processing the card. <br> Please try again or use a different card.',
actionPaymentCompleted: 'Payment Completed',
actionPostbackError: 'An error occurred while processing your action. Please try again.',
messageError: 'An error occured while sending your message. Please try again.',
invalidFileError: 'Sorry, but only images are supported currently. Please choose a file with a supported extension (jpg, jpeg, png, gif, or bmp).',
messageIndicatorTitleSingular: '({count}) New message',
messageIndicatorTitlePlural: '({count}) New messages'
}
};
function UIReducer() {
var state = arguments.length <= 0 || arguments[0] === undefined ? INITIAL_STATE : arguments[0];
var action = arguments[1];
switch (action.type) {
case _commonActions.RESET:
return (0, _assign2.default)({}, INITIAL_STATE);
case _uiActions.UPDATE_UI_TEXT:
return (0, _assign2.default)({}, state, {
text: (0, _assign2.default)({}, state.text, action.text)
});
case _uiActions.RESET_UI:
return (0, _assign2.default)({}, INITIAL_STATE);
default:
return state;
}
}