import { isEmpty } from "lodash";

export const BaseCal =   (gstPercent: number, price: number) => {
    const base_price: any = price / (1 + gstPercent / 100);

    return parseFloat(base_price).toFixed(2);
  };

  export const GstCal = (gstPercent: number, price: number) => {
    const base_price = price / (1 + gstPercent / 100);

    const gstAmount: any = (base_price * gstPercent) / 100;

    return parseFloat(gstAmount).toFixed(2);
  };
  
  export const PriceCal = (tax: any, price: any) => {
   const amount:any = price - tax ;
    return parseFloat(amount).toFixed(2);
  };

  export const  getDiscountPercent = (productDetails:any) => {
    const disc = productDetails.regular_price - productDetails.special_price;
    return Math.round((disc / productDetails.regular_price) * 100);
  };

  export const  getDiscountPercentHome = (productDetails:any) => {
    const disc = productDetails.price - productDetails.special_price;
    return Math.round((disc / productDetails.price) * 100);
  };

  export const capitalizeWords = (str:any) => {
    // console.log(str?.toLowerCase(),"str")

    return !isEmpty(str)?str
      ?.toLowerCase()
      ?.split(' ')
      ?.map((word:any) => word.charAt(0).toUpperCase() + word.slice(1))
      ?.join(' '):null;
  };

  export const numberWithCommas=(x:any)=> {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

export const amountCommaSeperate=(amount:any)=>{
  const formattedInitialValue = new Intl.NumberFormat('en-US', {
    minimumFractionDigits: 2,
    maximumFractionDigits: 2,
  }).format(amount)
  
  return formattedInitialValue;
  
}