Progress on chat conversation search, scrolling
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user