2017-11-20 22:18:00 +00:00
|
|
|
import * as types from '../actions/actionsTypes';
|
|
|
|
|
|
|
|
const initialState = {
|
|
|
|
usersTyping: []
|
|
|
|
};
|
|
|
|
|
|
|
|
export default function room(state = initialState, action) {
|
|
|
|
switch (action.type) {
|
2017-11-21 16:55:32 +00:00
|
|
|
case types.ROOM.OPEN:
|
|
|
|
return {
|
|
|
|
...initialState,
|
|
|
|
...action.room
|
|
|
|
};
|
2017-11-20 22:18:00 +00:00
|
|
|
case types.ROOM.ADD_USER_TYPING:
|
|
|
|
return {
|
|
|
|
...state,
|
|
|
|
usersTyping: [...state.usersTyping.filter(user => user !== action.username), action.username]
|
|
|
|
};
|
|
|
|
case types.ROOM.REMOVE_USER_TYPING:
|
|
|
|
return {
|
|
|
|
...state,
|
|
|
|
usersTyping: [...state.usersTyping.filter(user => user !== action.username)]
|
|
|
|
};
|
|
|
|
default:
|
|
|
|
return state;
|
|
|
|
}
|
|
|
|
}
|