Fix conversation view from getting stale data
This commit is contained in:
parent
ae6ffd26e7
commit
4cc088c79e
3 changed files with 41 additions and 40 deletions
|
@ -6,6 +6,7 @@ import type { LocalizerType } from '../types/I18N';
|
|||
import type { NavTabPanelProps } from './NavTabs';
|
||||
import { WhatsNewLink } from './WhatsNewLink';
|
||||
import type { UnreadStats } from '../util/countUnreadStats';
|
||||
import type { SmartConversationViewProps } from '../state/smart/ConversationView';
|
||||
|
||||
export type ChatsTabProps = Readonly<{
|
||||
otherTabsUnreadStats: UnreadStats;
|
||||
|
@ -15,7 +16,7 @@ export type ChatsTabProps = Readonly<{
|
|||
hasFailedStorySends: boolean;
|
||||
navTabsCollapsed: boolean;
|
||||
onToggleNavTabsCollapse: (navTabsCollapsed: boolean) => void;
|
||||
renderConversationView: () => JSX.Element;
|
||||
renderConversationView: (props: SmartConversationViewProps) => JSX.Element;
|
||||
renderLeftPane: (props: NavTabPanelProps) => JSX.Element;
|
||||
renderMiniPlayer: (options: { shouldFlow: boolean }) => JSX.Element;
|
||||
selectedConversationId: string | undefined;
|
||||
|
@ -51,10 +52,12 @@ export function ChatsTab({
|
|||
<div id="toast" />
|
||||
{selectedConversationId ? (
|
||||
<div
|
||||
// Use `key` to force the tree to fully re-mount
|
||||
key={selectedConversationId}
|
||||
className="Inbox__conversation"
|
||||
id={`conversation-${selectedConversationId}`}
|
||||
>
|
||||
{renderConversationView()}
|
||||
{renderConversationView({ selectedConversationId })}
|
||||
</div>
|
||||
) : (
|
||||
<div className="Inbox__no-conversation-open">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue