Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | 4x 135x 135x 135x 135x 135x 135x 135x 135x 135x 135x 19x 19x 135x 25x 25x 2x 23x 2x 21x 2x 19x 135x 135x 4x 135x 7x 7x 121x | import { TableColumnType } from "@common/Table";
import { useAppSelector } from "@redux/hooks";
import {
selectMerchantStatusName,
selectMerchantTab,
} from "@redux/slices/enterprise/merchants";
import { setWatchlistFilters } from "@redux/slices/fundraisers";
import { useCustomThemeV2 } from "@theme/hooks/useCustomThemeV2";
import React, { useMemo } from "react";
import { useDispatch } from "react-redux";
import { getSelectedTab } from "features/Merchants/MerchantsTable/utils";
import { useAllEnterpriseTabColumns } from "./useAllEnterpriseTabColumns";
import useUnderwritingEnterpriseTabColumns from "./useUnderwritingEnterpriseTabColumns";
import { useKYBColumns } from "@features/Merchants/MerchantsTable/hooks/useKYBColumns";
import { useApprovedColumns } from "@features/Merchants/MerchantsTable/hooks/useApprovedColumns";
export const useGetEnterprisesTableColumns = () => {
const dispatch = useDispatch();
const statusName = useAppSelector(selectMerchantStatusName);
const {
providerNameCol,
createdCol,
approvedMerchantsCol,
statusCol,
totalProcessedCol,
transactionsCountCol,
} = useAllEnterpriseTabColumns();
const {
assignmentCol,
underwritingScoreCol,
taxIdCol,
KYBCol,
assignedCol,
underwritingProgressCol,
} = useUnderwritingEnterpriseTabColumns();
const { kybProgressCol } = useKYBColumns();
const { approvalDateCol } = useApprovedColumns();
const { isWideView } = useCustomThemeV2();
const tab = useAppSelector(selectMerchantTab);
const selectedTab = getSelectedTab(tab);
React.useEffect(() => {
return () => {
dispatch(setWatchlistFilters(""));
};
}, []);
const columns: TableColumnType[] = useMemo(() => {
const allTabColumns = [
providerNameCol,
createdCol,
assignmentCol,
underwritingScoreCol,
approvedMerchantsCol,
transactionsCountCol,
totalProcessedCol,
statusCol,
];
if (selectedTab === "underwriting")
return [
providerNameCol,
taxIdCol,
KYBCol,
assignedCol,
underwritingProgressCol,
];
if (selectedTab === "kyb")
return [
providerNameCol,
taxIdCol,
createdCol,
assignedCol,
kybProgressCol,
];
if (selectedTab === "approved")
return [
providerNameCol,
approvalDateCol,
approvedMerchantsCol,
transactionsCountCol,
totalProcessedCol,
];
return allTabColumns;
}, [statusName, isWideView, selectedTab]);
const { defaultSort, defaultDescending } = getDefaultSort(selectedTab);
return {
columns,
defaultSort,
defaultDescending,
selectedTabStatus: {
isAllTabSelected: selectedTab === "all",
isUnderwritingTabSelected: selectedTab === "underwriting",
},
};
};
const getDefaultSort = (tab: string) => {
switch (tab) {
case "approved":
return {
defaultSort: "approvedAt,-accID",
defaultDescending: true,
};
case "underwriting":
return {
defaultSort: "kybApprovalAt,-accID",
defaultDescending: true,
};
case "all":
default:
return { defaultSort: "createdAt,-accID", defaultDescending: true };
}
};
|