From dd9d245e39ad706c736c1126826ffa2af852ebf3 Mon Sep 17 00:00:00 2001 From: enahum Date: Wed, 1 Nov 2017 18:50:28 -0300 Subject: [PATCH] Prevent More unreads indicators when canceling jump to... (#1082) --- .../channel_drawer/channels_list/list/list.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/components/channel_drawer/channels_list/list/list.js b/app/components/channel_drawer/channels_list/list/list.js index 952f8427b..cd6a0f516 100644 --- a/app/components/channel_drawer/channels_list/list/list.js +++ b/app/components/channel_drawer/channels_list/list/list.js @@ -4,6 +4,7 @@ import React, {PureComponent} from 'react'; import PropTypes from 'prop-types'; import { + InteractionManager, SectionList, Text, TouchableHighlight, @@ -298,18 +299,17 @@ class List extends PureComponent { }, 100); updateUnreadIndicators = ({viewableItems}) => { - const {unreadChannelIds} = this.props; - const firstUnread = unreadChannelIds[0]; - if (firstUnread) { - const isVisible = viewableItems.find((v) => v.item === firstUnread); + InteractionManager.runAfterInteractions(() => { + const {unreadChannelIds} = this.props; + const firstUnread = unreadChannelIds.length && unreadChannelIds[0]; + if (firstUnread && viewableItems.length) { + const isVisible = viewableItems.find((v) => v.item === firstUnread); - if (isVisible) { - return this.emitUnreadIndicatorChange(false); + return this.emitUnreadIndicatorChange(!isVisible); } - return this.emitUnreadIndicatorChange(true); - } - return this.emitUnreadIndicatorChange(false); + return this.emitUnreadIndicatorChange(false); + }); }; render() {