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 | 54x | import { useMemo } from 'react';
import { FIXED_START_DATE } from '@amalia/assignments/quotas/types';
import { type PeriodFrequencyEnum } from '@amalia/payout-definition/periods/types';
import { type UserContract } from '@amalia/tenants/users/types';
import { useQuotaAssignmentColumnsForFrequency } from '../../quota-assignments-datagrid/hooks/useQuotaAssignmentColumnsForFrequency';
import { QuotaUsersAssignmentsValueCell } from '../../quota-assignments-datagrid/quota-users-assignments-data-grid/cells/value/QuotaUsersAssignmentsValueCell';
import { columnHelper } from '../UserQuotaAssignmentsBaseTable';
export const useUserQuotaAssignmentsTableColumns = (
user: Pick<UserContract, 'currency' | 'id'>,
frequency: PeriodFrequencyEnum,
referenceDate = new Date(),
) => {
const columnsForFrequency = useQuotaAssignmentColumnsForFrequency(frequency, referenceDate);
return useMemo(
() =>
columnsForFrequency.map(({ column, startDate, endDate }) =>
columnHelper.display({
...column,
cell: ({ row }) => (
<QuotaUsersAssignmentsValueCell
assignment={row.assignmentsByStartDate[startDate ?? FIXED_START_DATE]}
endDate={endDate}
quota={row.quota}
startDate={startDate}
user={user}
/>
),
}),
),
[columnsForFrequency, user],
);
};
|