@wulperstudio/chat
Version:
Wulper Studio Chat Library
44 lines (43 loc) • 1.48 kB
JavaScript
export const initialState = {
rooms: [],
inbox: [],
members: [],
reciveMessageRoom: {},
messageContact: {},
searchMembers: [],
messageGroup: {
chanel: "",
messages: [],
},
chatOneToOne: { chanel: "", messages: [] },
};
export const chatReducer = (state, { type, payload }) => {
if (type === "@set/user") {
return Object.assign(Object.assign({}, state), { user: payload });
}
if (type === "@list/rooms") {
return Object.assign(Object.assign({}, state), { rooms: payload });
}
if (type === "@list/inbox") {
return Object.assign(Object.assign({}, state), { inbox: payload });
}
if (type === "@list/members") {
return Object.assign(Object.assign({}, state), { members: payload });
}
if (type === "@list/reciveMessageRoom") {
return Object.assign(Object.assign({}, state), { reciveMessageRoom: payload });
}
if (type === "@list/messageContact") {
return Object.assign(Object.assign({}, state), { messageContact: payload });
}
if (type === "@set/searchMembers") {
return Object.assign(Object.assign({}, state), { searchMembers: payload });
}
if (type === "@list/messageGroup") {
return Object.assign(Object.assign({}, state), { messageGroup: payload });
}
if (type === "@set/chatOneToOne") {
return Object.assign(Object.assign({}, state), { chatOneToOne: payload });
}
return state;
};