[hooks] usePriceInfo 추가

Detail Notes :
This commit is contained in:
younghoon100.park
2024-02-13 13:28:38 +09:00
parent 43c5716873
commit 16e7eede75

View File

@@ -0,0 +1,36 @@
import React, { useCallback } from "react";
export default function usePriceInfo(priceInfo) {
const parsePriceInfo = useCallback(
(priceInfo) => {
const priceParts = priceInfo
.split("|")
.filter((part) => part !== "N")
.map((item) => item.trim());
let originalPrice, discountedPrice, discountRate, discountNumeric;
if (priceParts.length === 4) {
[originalPrice, discountedPrice, , discountRate] = priceParts;
discountNumeric = Number(discountRate.slice(0, -1));
} else if (priceParts.length === 2) {
[originalPrice, discountedPrice] = priceParts;
discountRate = null;
discountNumeric = null;
} else {
originalPrice = null;
discountedPrice = null;
discountRate = null;
discountNumeric = null;
}
return { originalPrice, discountedPrice, discountRate, discountNumeric };
},
[priceInfo]
);
const { originalPrice, discountedPrice, discountRate, discountNumeric } =
parsePriceInfo(priceInfo);
return { originalPrice, discountedPrice, discountRate, discountNumeric };
}