// Copyright 2023 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import { Environment, getEnvironment } from '../environment'; import type { LocalizerType } from '../types/I18N'; import type { NavTabPanelProps } from './NavTabs'; import { WhatsNewLink } from './WhatsNewLink'; import type { UnreadStats } from '../util/countUnreadStats'; type ChatsTabProps = Readonly<{ otherTabsUnreadStats: UnreadStats; i18n: LocalizerType; hasPendingUpdate: boolean; hasFailedStorySends: boolean; navTabsCollapsed: boolean; onToggleNavTabsCollapse: (navTabsCollapsed: boolean) => void; prevConversationId: string | undefined; renderConversationView: () => JSX.Element; renderLeftPane: (props: NavTabPanelProps) => JSX.Element; renderMiniPlayer: (options: { shouldFlow: boolean }) => JSX.Element; selectedConversationId: string | undefined; showWhatsNewModal: () => unknown; }>; export function ChatsTab({ otherTabsUnreadStats, i18n, hasPendingUpdate, hasFailedStorySends, navTabsCollapsed, onToggleNavTabsCollapse, prevConversationId, renderConversationView, renderLeftPane, renderMiniPlayer, selectedConversationId, showWhatsNewModal, }: ChatsTabProps): JSX.Element { return ( <>
{renderLeftPane({ otherTabsUnreadStats, collapsed: navTabsCollapsed, hasPendingUpdate, hasFailedStorySends, onToggleCollapse: onToggleNavTabsCollapse, })}
{selectedConversationId && (
{renderConversationView()}
)} {!prevConversationId && (
{renderMiniPlayer({ shouldFlow: false })}

{getEnvironment() !== Environment.Staging ? i18n('icu:welcomeToSignal') : 'THIS IS A STAGING DESKTOP'}

)}
); }