import { Pipe, PipeTransform } from '@angular/core'; import { eLoadStatus } from '../enums'; import { eLoadStatusSvgColors } from '../components/ca-load-status/enums/load-status-svg-colors.enum'; import { eLoadStatusIconColors } from '../components/ca-load-status/enums/load-status-icon-colors.enum'; @Pipe({ name: 'loadStatusColors', standalone: true, }) export class LoadStatusColorsPipe implements PipeTransform { transform(statusId?: number, iconColor?: boolean): string | undefined { if (!statusId) return; let colorClass; switch (statusId) { case eLoadStatus.Booked: case eLoadStatus.Unassigned: case eLoadStatus.Claim: case eLoadStatus.ClaimFactoring: case eLoadStatus.RevisedClaim: case eLoadStatus.Hold: case eLoadStatus.HoldFactoring: case eLoadStatus.InvoicedHold: case eLoadStatus.Revised: case eLoadStatus.RevisedFactoring: case eLoadStatus.InvoicedHoldFactoring: case eLoadStatus.Preassigned: colorClass = iconColor ? eLoadStatusIconColors.MUTED : eLoadStatusSvgColors.BLACK_200; break; case eLoadStatus.Tonu: colorClass = iconColor ? eLoadStatusIconColors.MAGENTA : eLoadStatusSvgColors.MAGENTA_BOLD; break; case eLoadStatus.Assigned: colorClass = iconColor ? eLoadStatusIconColors.LIME : eLoadStatusSvgColors.LIME_BOLD; break; case eLoadStatus.Dispatched: colorClass = iconColor ? eLoadStatusIconColors.BLUE : eLoadStatusSvgColors.BLUE_BOLD; break; case eLoadStatus.ArrivedPickup: case eLoadStatus.CheckedInPickup: case eLoadStatus.Loading: case eLoadStatus.Loaded: colorClass = iconColor ? eLoadStatusIconColors.GREEN : eLoadStatusSvgColors.GREEN_BOLD; break; case eLoadStatus.ArrivedDelivery: case eLoadStatus.CheckedInDelivery: case eLoadStatus.Offloading: case eLoadStatus.Offloaded: case eLoadStatus.Delivered: colorClass = iconColor ? eLoadStatusIconColors.ORANGE : eLoadStatusSvgColors.ORANGE_BOLD; break; case eLoadStatus.Invoiced: case eLoadStatus.InvoicedFactoring: case eLoadStatus.Paid: case eLoadStatus.PaidFactoring: case eLoadStatus.ShortPaid: case eLoadStatus.ShortPaidFactoring: case eLoadStatus.Unpaid: case eLoadStatus.UnpaidFactoring: case eLoadStatus.TonuPaid: case eLoadStatus.TonuPaidFactoring: case eLoadStatus.TonuInvoiced: case eLoadStatus.TonuInvoicedFactoring: case eLoadStatus.TonuUnpaid: case eLoadStatus.RevisedPaid: case eLoadStatus.RevisedShortPaid: case eLoadStatus.RevisedUnpaid: colorClass = iconColor ? eLoadStatusIconColors.GOLD : eLoadStatusSvgColors.GOLD_BOLD; break; case eLoadStatus.Cancelled: case eLoadStatus.LoadCancelled: colorClass = iconColor ? eLoadStatusIconColors.RED : eLoadStatusSvgColors.RED_BOLD; break; case eLoadStatus.RepairDispatched: case eLoadStatus.RepairOffloaded: case eLoadStatus.RepairLoaded: colorClass = iconColor ? eLoadStatusIconColors.BROWN : eLoadStatusSvgColors.BROWN_BOLD; break; case eLoadStatus.Split: colorClass = iconColor ? eLoadStatusIconColors.YELLOW : eLoadStatusSvgColors.YELLOW_BOLD; break; default: break; } return colorClass; } }