26 lines
1018 B
TypeScript
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,
|
|
};
|
|
}; |