web/plugins/PersianNumber/index.js

25 lines
735 B
JavaScript

import React from "react";
const PersianNumber = ({ number, isCost, size, bold, style }) => {
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" : ""
} text-sm ${style}`}
>
{formatNumber}
</span>
);
} else return null;
};
const PersianNumberMemo = React.memo(PersianNumber, (perv, next) => {
return perv.number === next.number;
});
export default PersianNumberMemo;