2024-04-20 17:26:54 +03:30
|
|
|
import React from "react";
|
2023-10-26 00:26:44 +03:30
|
|
|
const PersianNumber = ({ number, isCost, size, bold, style }) => {
|
2023-10-19 11:44:56 +03:30
|
|
|
if (number || number === 0) {
|
|
|
|
|
const persianMap = "۰۱۲۳۴۵۶۷۸۹".split("");
|
|
|
|
|
const formatNumber = isCost
|
|
|
|
|
? number.toLocaleString().replace(/\d/g, (m) => persianMap[parseInt(m)])
|
|
|
|
|
: number.toString().replace(/\d/g, (m) => persianMap[parseInt(m)]);
|
|
|
|
|
return (
|
|
|
|
|
<span
|
|
|
|
|
className={`text-[${size ? size : ""}px] ${
|
|
|
|
|
bold ? "font-bold" : ""
|
2023-10-26 00:26:44 +03:30
|
|
|
} text-sm ${style}`}
|
2023-10-19 11:44:56 +03:30
|
|
|
>
|
|
|
|
|
{formatNumber}
|
|
|
|
|
</span>
|
|
|
|
|
);
|
|
|
|
|
} else return null;
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-20 17:26:54 +03:30
|
|
|
const PersianNumberMemo = React.memo(PersianNumber, (perv, next) => {
|
|
|
|
|
return perv.number === next.number;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export default PersianNumberMemo;
|