targo-frontend/src/modules/timesheets/utils/expense.util.ts

26 lines
1018 B
TypeScript

import type { ExpenseType } from "src/modules/timesheets/models/expense.models";
export const getExpenseIcon = (type: ExpenseType) => {
switch (type) {
case 'MILEAGE': return 'time_to_leave';
case 'EXPENSES': return 'las la-coins';
case 'PER_DIEM': return 'hotel';
case 'ON_CALL': return 'phone_android';
default: return 'help_outline';
}
};
export const useExpenseRules = () => {
const isPresent = (val: unknown) => val !== undefined && val !== null && val !== '';
const typeRequired = (val: unknown) => isPresent(val);
const amountRequired = (val: number | null | undefined) => isPresent(val) && !!val && val > 0;
const mileageRequired = (val: number | null | undefined) => isPresent(val) && !!val && val > 0;
const commentRequired = (val: string | null | undefined) => typeof val === 'string' ? val.trim().length > 0 : false;
return {
typeRequired,
amountRequired,
mileageRequired,
commentRequired,
};
};