diff --git a/web/redux/action-types.js b/web/redux/action-types.js --- a/web/redux/action-types.js +++ b/web/redux/action-types.js @@ -6,3 +6,5 @@ export const setDeviceIDActionType = 'SET_DEVICE_ID'; export const updateCalendarCommunityFilter = 'UPDATE_CALENDAR_COMMUNITY_FILTER'; export const clearCalendarCommunityFilter = 'CLEAR_CALENDAR_COMMUNITY_FILTER'; +export const updateChatCommunityFilter = 'UPDATE_CHAT_COMMUNITY_FILTER'; +export const clearChatCommunityFilter = 'CLEAR_CHAT_COMMUNITY_FILTER'; diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js --- a/web/redux/redux-setup.js +++ b/web/redux/redux-setup.js @@ -43,6 +43,8 @@ updateWindowDimensionsActionType, updateCalendarCommunityFilter, clearCalendarCommunityFilter, + updateChatCommunityFilter, + clearChatCommunityFilter, } from './action-types.js'; import { reduceCryptoStore, @@ -124,6 +126,14 @@ | { +type: 'CLEAR_CALENDAR_COMMUNITY_FILTER', +payload: void, + } + | { + +type: 'UPDATE_CHAT_COMMUNITY_FILTER', + +payload: string, + } + | { + +type: 'CLEAR_CHAT_COMMUNITY_FILTER', + +payload: void, }; export function reducer(oldState: AppState | void, action: Action): AppState { @@ -173,6 +183,22 @@ calendar: null, }, }; + } else if (action.type === updateChatCommunityFilter) { + return { + ...state, + pickedCommunityIDs: { + ...state.pickedCommunityIDs, + chat: action.payload, + }, + }; + } else if (action.type === clearChatCommunityFilter) { + return { + ...state, + pickedCommunityIDs: { + ...state.pickedCommunityIDs, + chat: null, + }, + }; } else if (action.type === setNewSessionActionType) { if ( invalidSessionDowngrade(