import { Pipe, PipeTransform } from '@angular/core'; import { PayrollPeriodContentHelper } from '../utils/helpers'; import { userInfoEnum } from '../enums'; import { PeriodContentSvgRoutes } from '../utils/svg-routes'; import { PayrollReport } from '../models/payroll-report.type'; @Pipe({ standalone: true, name: 'periodStatus', }) export class PeriodStatusPipe implements PipeTransform { transform( isOpen: boolean, payroll: PayrollReport ): { title: string; url: string } { if (isOpen) { const { title, url } = PayrollPeriodContentHelper.getIcon( payroll.payrollDeadLine ); return { url, title }; } else if (payroll?.status?.name) { const paymentStatus = payroll?.status?.name; if ( paymentStatus.toLocaleLowerCase() === userInfoEnum.SHORT_PAID.toLocaleLowerCase() || paymentStatus.toLocaleLowerCase() === userInfoEnum.CLOSED_UNPAID.toLocaleLowerCase() ) { return { title: paymentStatus, url: PeriodContentSvgRoutes.pending, }; } else if ( paymentStatus.toLocaleLowerCase() === userInfoEnum.PAID_IN_FULL.toLocaleLowerCase() ) { return { title: paymentStatus, url: PeriodContentSvgRoutes.active, }; } else { return { title: paymentStatus, url: PeriodContentSvgRoutes.warning, }; } } return { title: '', url: '' }; } }