import React from 'react'; import { useTranslation } from 'react-i18next'; import { Text, View, ViewStyle } from 'react-native'; import LoadingIndicator from '../../../base/react/components/native/LoadingIndicator'; import Button from '../../../base/ui/components/native/Button'; import { BUTTON_TYPES } from '../../../base/ui/constants.native'; import { formatAmount } from '../../functions'; import { IPendingAccount, IPendingDeal } from '../../types'; import styles from './styles'; interface IPendingAccountsSectionProps { confirmingId: string | null; items: IPendingAccount[]; onConfirm: (accountId: string) => void; onRejectAll: () => void; rejecting: boolean; type: 'accounts'; } interface IPendingDealsSectionProps { confirmingId: string | null; items: IPendingDeal[]; onConfirm: (opportunityId: string) => void; onRejectAll: () => void; rejecting: boolean; type: 'deals'; } type IProps = IPendingAccountsSectionProps | IPendingDealsSectionProps; /** * Component for displaying pending Salesforce suggestions (accounts or deals). * * @param {IProps} props - Component props. * @returns {React.ReactElement} */ export const PendingSection = (props: IProps) => { const { t } = useTranslation(); const { items, confirmingId, rejecting, onConfirm, onRejectAll, type } = props; if (items.length === 0) { return null; } const isAccounts = type === 'accounts'; const title = isAccounts ? t('dialog.suggestedAccounts') : t('dialog.suggestedDeals'); const description = isAccounts ? t('dialog.pendingDescription') : t('dialog.pendingDealsDescription'); return ( {title}