/** defaultUomLabel: company default UoM for dynamic labels (e.g. "Sq. Yard") */
export const formatChargeType = (type: string, defaultUomLabel?: string) => {
  switch (type) {
    case "percentage":
      return "Percentage";
    case "fixedAmount":
      return "Fixed Amount";
    case "perSqYard":
      return defaultUomLabel ? `Amount Per ${defaultUomLabel}` : "Amount Per Sq.Yard";
    case "perSqFt":
      return "Amount Per Sq.Ft";
    default:
      return type.charAt(0).toUpperCase() + type.slice(1).replace(/_/g, " ");
  }
};

export const formatChargeValue = (type: string, value: number, defaultUomLabel?: string) => {
  const uomShort = defaultUomLabel?.toLowerCase().replace(/\s/g, "") ?? "sq.yd";
  switch (type) {
    case "percentage":
      return `${value}%`;
    case "fixedAmount":
      return `₹${value.toLocaleString("en-IN")}`;
    case "perSqYard":
      return `₹${value.toLocaleString("en-IN")} / ${uomShort}`;
    case "perSqFt":
      return `₹${value.toLocaleString("en-IN")} / sq.ft`;
    default:
      return `${value}`;
  }
};