chore: move api to api folder and seperate the types into another file
This commit is contained in:
38
src/utils/formatSessionDate.tsx
Normal file
38
src/utils/formatSessionDate.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
import { type TFunction } from 'i18next';
|
||||
import { toLocaleDigits } from './persianDigit';
|
||||
|
||||
export function formatDate(
|
||||
isoDate: string,
|
||||
lang: string,
|
||||
t: TFunction,
|
||||
): string {
|
||||
const date = new Date(isoDate);
|
||||
const now = new Date();
|
||||
const diffInMinutes = Math.floor(
|
||||
(now.getTime() - date.getTime()) / (1000 * 60),
|
||||
);
|
||||
|
||||
if (diffInMinutes < 1) return t('active.justNow');
|
||||
if (diffInMinutes < 60) {
|
||||
return toLocaleDigits(
|
||||
t('active.minutesAgo', { count: diffInMinutes }),
|
||||
lang,
|
||||
);
|
||||
}
|
||||
|
||||
const options: Intl.DateTimeFormatOptions = {
|
||||
year: 'numeric',
|
||||
month: 'short',
|
||||
day: 'numeric',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
hour12: false,
|
||||
calendar: lang.startsWith('fa') ? 'persian' : 'gregory',
|
||||
numberingSystem: lang.startsWith('fa') ? 'arab' : 'latn',
|
||||
};
|
||||
const displayLocale = lang.startsWith('fa') ? 'fa-IR' : 'en-US';
|
||||
const formattedDate = new Intl.DateTimeFormat(displayLocale, options).format(
|
||||
date,
|
||||
);
|
||||
return toLocaleDigits(formattedDate, lang);
|
||||
}
|
||||
Reference in New Issue
Block a user