import { useMemo } from 'react' import { ArrowDownRight, ArrowUpRight, Calendar } from 'lucide-react' import { formatCurrency } from '@/lib/numbers' import { formatDate } from '@/lib/date' import { UnreconciledTransaction, useGetBankAccounts } from './utils' import { getCompanyCurrency } from '@/lib/company' import { Card, CardContent } from '@/components/ui/card' import { cn } from '@/lib/utils' import _ from '@/lib/translate' import BankLogo from '@/components/common/BankLogo' type Props = { transaction: UnreconciledTransaction, showAccount?: boolean, account?: string } const SelectedTransactionDetails = ({ transaction, showAccount = false, account }: Props) => { const isWithdrawal = transaction.withdrawal && transaction.withdrawal > 0 const { banks } = useGetBankAccounts() const bank = useMemo(() => { if (transaction.bank_account) { return banks?.find((bank) => bank.name === transaction.bank_account) } return null }, [transaction.bank_account, banks]) const amount = transaction.withdrawal ? transaction.withdrawal : transaction.deposit const currency = transaction.currency || getCompanyCurrency(transaction.company ?? '') return (
{transaction.bank_account}
{formatDate(transaction.date, 'Do MMM YYYY')}
{isWithdrawal ? : } {isWithdrawal ? _('Spent') : _('Received')}
{formatCurrency(amount, currency)} {transaction.unallocated_amount && transaction.unallocated_amount !== amount ? {_("Unallocated")}: {formatCurrency(transaction.unallocated_amount)} : null}
{transaction.description} {transaction.reference_number ? {_("Ref")}: {transaction.reference_number} : null} {showAccount && account ? {_("GL Account")}: {account} : null}
) } export default SelectedTransactionDetails