Feature: Move to the next conversation when I resolve a the current c… (#757)
* Feature: Move to the next conversation when I resolve a the current conversation * check if nextId is present before emitting the event * use es6 string literals * use a named variable for better reading * create a variable for better readability * better sintax to get clickable element * after last, go to first chat when resolve * use state and action to set next chat * remove not used emit * clear selected state when there is not next chat * Remove deprecated scope from FB Channel (#761) Remove deprecated scope from FB Channel * Feature: Customise the position of messenger (#767) Co-authored-by: Nithin David Thomas <webofnithin@gmail.com> * Bug: Redirect user to set new password screen (#772) * auto linter * fix js linter * sort chats on getter / filter before getting next chat * Revert not related changes on ConversationCard.vue * add test for getNextChatConversation getter * remove not used module * add test for getAllConversations getter
This commit is contained in:
@@ -8,7 +8,9 @@ export const getSelectedChatConversation = ({
|
||||
|
||||
// getters
|
||||
const getters = {
|
||||
getAllConversations: ({ allConversations }) => allConversations,
|
||||
getAllConversations: ({ allConversations }) => allConversations.sort(
|
||||
(a, b) => b.messages.last().created_at - a.messages.last().created_at
|
||||
),
|
||||
getSelectedChat: ({ selectedChat }) => selectedChat,
|
||||
getMineChats(_state) {
|
||||
const currentUserID = authAPI.getCurrentUser().id;
|
||||
@@ -50,6 +52,18 @@ const getters = {
|
||||
getChatStatusFilter: ({ chatStatusFilter }) => chatStatusFilter,
|
||||
getSelectedInbox: ({ currentInbox }) => currentInbox,
|
||||
getConvTabStats: ({ convTabStats }) => convTabStats,
|
||||
getNextChatConversation: (_state) => {
|
||||
const { selectedChat } = _state;
|
||||
const conversations = getters.getAllStatusChats(_state);
|
||||
if (conversations.length <= 1) {
|
||||
return null;
|
||||
};
|
||||
const currentIndex = conversations.findIndex(
|
||||
conversation => conversation.id === selectedChat.id
|
||||
);
|
||||
const nextIndex = (currentIndex + 1) % conversations.length;
|
||||
return conversations[nextIndex];
|
||||
},
|
||||
};
|
||||
|
||||
export default getters;
|
||||
|
||||
Reference in New Issue
Block a user