Progress on chat conversation search, scrolling

This commit is contained in:
mgabdev
2020-12-22 13:38:52 -05:00
parent 15df66b234
commit 7a62adea3e
13 changed files with 96 additions and 50 deletions

View File

@@ -23,6 +23,7 @@ import {
CHAT_CONVERSATIONS_MUTED_EXPAND_SUCCESS,
CHAT_CONVERSATIONS_MUTED_EXPAND_FAIL,
CHAT_CONVERSATIONS_CREATE_SUCCESS,
CHAT_CONVERSATION_APPROVED_SEARCH_FETCH_SUCCESS,
} from '../actions/chat_conversations'
const initialState = ImmutableMap({
@@ -41,6 +42,9 @@ const initialState = ImmutableMap({
isLoading: false,
items: ImmutableList(),
}),
approved_search: ImmutableMap({
items: ImmutableList(),
}),
})
const normalizeList = (state, source, chatConversations, next) => {
@@ -107,6 +111,9 @@ export default function chat_conversation_lists(state = initialState, action) {
case CHAT_CONVERSATIONS_CREATE_SUCCESS:
return appendToList(state, 'approved', [action.chatConversation], action.next)
case CHAT_CONVERSATION_APPROVED_SEARCH_FETCH_SUCCESS:
return normalizeList(state, 'approved_search', action.chatConversations, null)
default:
return state
}

View File

@@ -18,6 +18,7 @@ import {
CHAT_CONVERSATION_REQUEST_APPROVE_SUCCESS,
CHAT_CONVERSATION_MARK_READ_SUCCESS,
SET_CHAT_CONVERSATION_EXPIRATION_SUCCESS,
CHAT_CONVERSATION_APPROVED_SEARCH_FETCH_SUCCESS,
} from '../actions/chat_conversations'
const initialState = ImmutableMap()
@@ -50,6 +51,7 @@ export default function chat_conversations(state = initialState, action) {
case CHAT_CONVERSATIONS_APPROVED_EXPAND_SUCCESS:
case CHAT_CONVERSATIONS_REQUESTED_FETCH_SUCCESS:
case CHAT_CONVERSATIONS_REQUESTED_EXPAND_SUCCESS:
case CHAT_CONVERSATION_APPROVED_SEARCH_FETCH_SUCCESS:
return importChatConversations(state, action.chatConversations)
case CHAT_MESSAGES_SEND_SUCCESS:
return setLastChatMessage(state, action.chatMessage)

View File

@@ -8,6 +8,7 @@ import {
CHAT_CONVERSATION_CREATE_SEARCH_ACCOUNTS_SUCCESS,
CLEAR_CHAT_CONVERSATION_CREATE_SEARCH_ACCOUNTS,
SET_CHAT_CONVERSATION_SELECTED,
SET_CHAT_CONVERSATION_SEARCH_VALUE,
} from '../actions/chats'
import {
CHAT_CONVERSATION_APPROVED_UNREAD_COUNT_FETCH_SUCCESS,
@@ -24,6 +25,7 @@ const initialState = ImmutableMap({
selectedChatConversationId: null,
chatConversationRequestCount: 0,
chatsUnreadCount: 0,
searchValue: '',
})
export default function chats(state = initialState, action) {
@@ -42,6 +44,8 @@ export default function chats(state = initialState, action) {
const chatConversationUnreadCount = action.chatConversation.get('unread_count')
const totalUnreadCount = state.get('chatsUnreadCount')
return state.set('chatsUnreadCount', Math.max(totalUnreadCount - chatConversationUnreadCount, 0))
case SET_CHAT_CONVERSATION_SEARCH_VALUE:
return state.set('searchValue', action.value)
default:
return state
}