web/plugins/PersianNumber/index.js

25 lines
735 B
JavaScript
Raw Normal View History

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;