diff --git a/CHANGELOG.md b/CHANGELOG.md index 13538a26d..71d24e937 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix channel file-search not available in mobile _community pr!_ ([#4527](https://github.com/lbryio/lbry-desktop/pull/4527)) - New Channel: Fix incorrect GUI configuration at entry _community pr!_ ([#4545](https://github.com/lbryio/lbry-desktop/pull/4545)) - Hide blocked channels in comments ([#4557](https://github.com/lbryio/lbry-desktop/pull/4557)) +- Fix sluggish Back button when navigation back to channels with lots of comments _community pr!_ ([#4576](https://github.com/lbryio/lbry-desktop/pull/4576)) ## [0.47.0] - [2020-07-13] diff --git a/ui/page/channel/view.jsx b/ui/page/channel/view.jsx index 82c3fd2e1..885b90660 100644 --- a/ui/page/channel/view.jsx +++ b/ui/page/channel/view.jsx @@ -70,6 +70,7 @@ function ChannelPage(props: Props) { const currentView = urlParams.get(PAGE_VIEW_QUERY) || undefined; const editInUrl = urlParams.get(PAGE_VIEW_QUERY) === EDIT_PAGE; const [editing, setEditing] = React.useState(editInUrl); + const [discussionWasMounted, setDiscussionWasMounted] = React.useState(false); const { channelName } = parseURI(uri); const { permanent_url: permanentUrl } = claim; const claimId = claim.claim_id; @@ -107,6 +108,12 @@ function ChannelPage(props: Props) { goBack(); } + React.useEffect(() => { + if (currentView === DISCUSSION_PAGE) { + setDiscussionWasMounted(true); + } + }, [currentView]); + React.useEffect(() => { if (!channelIsMine && editing) { setEditing(false); @@ -209,7 +216,7 @@ function ChannelPage(props: Props) { - + {(discussionWasMounted || currentView === DISCUSSION_PAGE) && }