import { Button } from '@/common/components/atoms/Button/Button'; import { IndicatorCircle } from '@/common/components/atoms/IndicatorCircle/IndicatorCircle'; import { ctw } from '@/common/utils/ctw/ctw'; import { IMerchantScreening } from '@/lib/blocks/hooks/useMerchantScreeningBlock/interfaces'; import { isObject, MatchReasonCode } from '@ballerine/common'; import { JsonDialog, TextWithNAFallback, WarningFilledSvg } from '@ballerine/ui'; import { createColumnHelper } from '@tanstack/react-table'; import { ChevronDown } from 'lucide-react'; const columnHelper = createColumnHelper(); const summaryColumnHelper = createColumnHelper<{ terminatedMatches: number; numberOfInquiries: number; checkDate: string; fullJsonData: string; merchantScreeningInput: Record; }>(); export const terminatedMatchedMerchantsColumns = [ columnHelper.display({ id: 'collapsible', cell: ({ row }) => ( ), }), columnHelper.accessor('name', { header: 'Name', cell: info => { const name = info.getValue(); return ( {name} ); }, }), columnHelper.accessor('exactMatchesAmount', { header: 'Exact Matches', cell: info => { const exactMatches = info.getValue(); return ( {exactMatches} ); }, }), columnHelper.accessor('partialMatchesAmount', { header: 'Partial Matches', cell: info => { const partialMatches = info.getValue(); return ( {partialMatches} ); }, }), columnHelper.accessor('terminationReasonCode', { header: 'Termination Reason', cell: info => { const terminationReasonCode = info.getValue(); return ( ({terminationReasonCode}){' '} {MatchReasonCode[terminationReasonCode as keyof typeof MatchReasonCode]} ); }, }), columnHelper.accessor('dateAdded', { header: 'Date Added', cell: info => { const dateAdded = info.getValue(); return {dateAdded}; }, }), ]; export const terminatedMatchedMerchantsSummaryColumns = [ summaryColumnHelper.accessor('terminatedMatches', { header: 'Terminated Matches', cell: info => { const terminatedMatches = info.getValue(); return {terminatedMatches}; }, }), summaryColumnHelper.accessor('numberOfInquiries', { header: 'Number of Inquiries', cell: info => { const numberOfInquiries = info.getValue(); return {numberOfInquiries}; }, }), summaryColumnHelper.accessor('checkDate', { header: 'Check Date', cell: info => { const checkDate = info.getValue(); return {checkDate}; }, }), summaryColumnHelper.accessor('merchantScreeningInput', { header: 'Checked Properties', cell: info => { const fullJsonData = info.getValue(); return (
); }, }), summaryColumnHelper.accessor('fullJsonData', { header: 'Results', cell: info => { const fullJsonData = info.getValue(); return (
); }, }), ]; export const inquiredMatchedMerchantsColumns = [ columnHelper.display({ id: 'collapsible', cell: ({ row }) => ( ), }), columnHelper.accessor('name', { header: 'Name', cell: info => { const name = info.getValue(); return ( {name} ); }, }), columnHelper.accessor('exactMatchesAmount', { header: 'Exact Matches', cell: info => { const exactMatches = info.getValue(); return ( {exactMatches} ); }, }), columnHelper.accessor('partialMatchesAmount', { header: 'Partial Matches', cell: info => { const partialMatches = info.getValue(); return ( {partialMatches} ); }, }), columnHelper.accessor('dateAdded', { header: 'Date Added', cell: info => { const dateAdded = info.getValue(); return {dateAdded}; }, }), ];