Files
appco_dist/.output/server/chunks/build/useDateTime-D8RCoGwW.mjs
T
2025-07-23 16:57:31 +03:30

64 lines
2.3 KiB
JavaScript

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