import moment from "moment-jalaali"; import { ERoles } from "../interface"; export const translateRoles = (role: ERoles) => { switch (role) { case ERoles.owner: return "مالک"; case ERoles.admin: return "مدیر"; case ERoles.editor: return "ویرایشگر"; case ERoles.writer: return "نویسنده"; default: return "مهمان"; } }; export const toPersinaDigit = (digits: number | string): string => { const fa = ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"]; return digits.toString().replace(/\d/g, (w) => { return fa[+w]; }); }; export const translateVersionStatus = (status: string, state: string) => { let translated; switch (status) { case "editing": translated = "پیش نویس"; break; case "pending": translated = "در انتظار تایید"; if (state === "draft") { translated = "در انتظار تایید مدیر مخزن"; } else if (state === "version") { translated = "در انتظار عمومی شدن"; } break; case "rejected": translated = "رد شده"; break; case "accepted": translated = "تایید شده"; break; case "public": translated = "عمومی"; break; case "private": translated = "خصوصی"; break; default: translated = status; } return translated; }; export const translateBusinessStatus = (status: string) => { let translated; switch (status) { case "Pending": translated = "در انتظار تایید"; break; case "Rejected": translated = "رد شده"; break; case "Accepted": translated = "تایید شده"; break; default: translated = status; } return translated; }; export const FaDate = (standardTime: string) => { try { moment.loadPersian({ dialect: "persian-modern", }); return toPersinaDigit(moment(standardTime, "YYYY-MM-DDTHH:mm:ssZ").format("HH:mm:ss | jDD jMMMM jYYYY")); } catch { return "-"; } }; export const FaDateFromTimestamp = (timestamp: number) => { const newDate = new Date(timestamp); try { const standardTime = `${newDate.getFullYear() }-${ (`0${newDate.getMonth() + 1}`).slice(-2) }-${ (`0${newDate.getDate()}`).slice(-2) }T${ (`0${newDate.getHours()}`).slice(-2) }:${ (`0${newDate.getMinutes()}`).slice(-2) }:${ (`0${newDate.getSeconds()}`).slice(-2)}`; return FaDate(standardTime); } catch { return "-"; } };