diff --git a/lib/hooks/toggle-unread-status.js b/lib/hooks/toggle-unread-status.js index 4a44c4025..382be16ae 100644 --- a/lib/hooks/toggle-unread-status.js +++ b/lib/hooks/toggle-unread-status.js @@ -1,55 +1,56 @@ // @flow import * as React from 'react'; import { setThreadUnreadStatus, setThreadUnreadStatusActionTypes, } from '../actions/activity-actions'; import type { SetThreadUnreadStatusPayload, SetThreadUnreadStatusRequest, } from '../types/activity-types'; import type { ThreadInfo } from '../types/thread-types'; import { useDispatchActionPromise, useServerCall } from '../utils/action-utils'; function useToggleUnreadStatus( threadInfo: ThreadInfo, mostRecentNonLocalMessage: ?string, afterAction: () => void, ): () => void { const dispatchActionPromise = useDispatchActionPromise(); + const { currentUser } = threadInfo; const boundSetThreadUnreadStatus: ( request: SetThreadUnreadStatusRequest, ) => Promise = useServerCall( setThreadUnreadStatus, ); const toggleUnreadStatus = React.useCallback(() => { - const { unread } = threadInfo.currentUser; const request = { threadID: threadInfo.id, - unread: !unread, + unread: !currentUser.unread, latestMessage: mostRecentNonLocalMessage, }; dispatchActionPromise( setThreadUnreadStatusActionTypes, boundSetThreadUnreadStatus(request), undefined, { threadID: threadInfo.id, - unread: !unread, + unread: !currentUser.unread, }, ); afterAction(); }, [ - threadInfo, + threadInfo.id, + currentUser.unread, mostRecentNonLocalMessage, dispatchActionPromise, afterAction, boundSetThreadUnreadStatus, ]); return toggleUnreadStatus; } export default useToggleUnreadStatus;