1/5/1404
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import moment$1 from 'moment';
|
||||
import zone from 'moment-timezone';
|
||||
import moment from 'moment-jalaali';
|
||||
import { formatDistanceToNow, differenceInSeconds, differenceInMinutes, differenceInHours, differenceInDays } from 'date-fns';
|
||||
import { faIR } from 'date-fns/locale';
|
||||
import { av as dayjs, a as useConfigStore } from './server.mjs';
|
||||
|
||||
function toJalali(dateTime, format = "jYYYY/jMM/jDD-hh:mm") {
|
||||
const tehranTime = zone.tz(dateTime, "UTC").tz("Asia/Tehran");
|
||||
return moment(tehranTime).format(format);
|
||||
}
|
||||
function useDate(dateTime, format = "YYYY/MM/DD HH:mm:ss") {
|
||||
const tehranTime = zone.tz(dateTime, "UTC").tz("Asia/Tehran");
|
||||
return moment$1(tehranTime).utc(dateTime).format(format);
|
||||
}
|
||||
const formatTime = (timestamp) => {
|
||||
const config = useConfigStore();
|
||||
const tehranMoment = zone.utc(timestamp).tz("Asia/Tehran");
|
||||
const tehranDate = tehranMoment.toDate();
|
||||
return config.lang === "fa" ? formatDistanceToNow(new Date(tehranDate), {
|
||||
addSuffix: true,
|
||||
locale: faIR
|
||||
}) : formatDistanceToNow(new Date(useDate(tehranDate)), { addSuffix: true });
|
||||
};
|
||||
function getTimeLabel(sentAt) {
|
||||
const now = dayjs();
|
||||
const sentTime = dayjs(sentAt);
|
||||
const diffMinutes = now.diff(sentTime, "minute");
|
||||
const diffHours = now.diff(sentTime, "hour");
|
||||
const diffDays = now.diff(sentTime, "day");
|
||||
const diffWeeks = now.diff(sentTime, "week");
|
||||
if (diffMinutes < 1) return "now";
|
||||
if (diffMinutes < 60) return `${diffMinutes}m`;
|
||||
if (diffHours < 24) return `${diffHours}h`;
|
||||
if (diffDays < 7) return `${diffHours}d`;
|
||||
return `${diffWeeks}w`;
|
||||
}
|
||||
const formatTimeShort = (timestamp) => {
|
||||
const tehranMoment = zone.utc(timestamp).tz("Asia/Tehran");
|
||||
const date = tehranMoment.toDate();
|
||||
const now = /* @__PURE__ */ new Date();
|
||||
const seconds = differenceInSeconds(now, date);
|
||||
if (seconds < 60) {
|
||||
return `${seconds}s`;
|
||||
}
|
||||
const minutes = differenceInMinutes(now, date);
|
||||
if (minutes < 60) {
|
||||
return `${minutes}m`;
|
||||
}
|
||||
const hours = differenceInHours(now, date);
|
||||
if (hours < 24) {
|
||||
return `${hours}h`;
|
||||
}
|
||||
const days = differenceInDays(now, date);
|
||||
if (days < 7) {
|
||||
return `${days}d`;
|
||||
}
|
||||
const weeks = Math.floor(days / 7);
|
||||
return `${weeks}w`;
|
||||
};
|
||||
|
||||
export { formatTimeShort as a, formatTime as f, getTimeLabel as g, toJalali as t };
|
||||
//# sourceMappingURL=useDateTime-D8RCoGwW.mjs.map
|
||||
Reference in New Issue
Block a user