| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- // @flow
 - 
 - import { ReducerRegistry } from '../base/redux';
 - 
 - import { ADD_MESSAGE, TOGGLE_CHAT } from './actionTypes';
 - 
 - const DEFAULT_STATE = {
 -     isOpen: false,
 -     lastReadMessage: undefined,
 -     messages: []
 - };
 - 
 - ReducerRegistry.register('features/chat', (state = DEFAULT_STATE, action) => {
 -     switch (action.type) {
 -     case ADD_MESSAGE: {
 -         const newMessage = {
 -             displayName: action.displayName,
 -             error: action.error,
 -             id: action.id,
 -             messageType: action.messageType,
 -             message: action.message,
 -             timestamp: action.timestamp
 -         };
 - 
 -         return {
 -             ...state,
 -             lastReadMessage:
 -                 action.hasRead ? newMessage : state.lastReadMessage,
 -             messages: [
 -                 ...state.messages,
 -                 newMessage
 -             ]
 -         };
 -     }
 - 
 -     case TOGGLE_CHAT:
 -         return {
 -             ...state,
 -             isOpen: !state.isOpen,
 -             lastReadMessage: state.messages[state.messages.length - 1]
 -         };
 -     }
 - 
 -     return state;
 - });
 
 
  |