UNPKG

@dynamic-labs/sdk-react-core

Version:

A React SDK for implementing wallet web3 authentication and authorization to your website.

63 lines (60 loc) 2.01 kB
'use client' import { Locale } from '../../../locale/locale.js'; const getTimeSince = (date, dateTo) => { const { t } = Locale.getInstance(); const currentTime = dateTo ? dateTo.getTime() : Date.now(); const timeDifference = currentTime - date.getTime(); // Define time units in milliseconds const minute = 60 * 1000; const hour = 60 * minute; const day = 24 * hour; const month = 30 * day; const year = 365 * day; if (timeDifference >= year) { const yearsAgo = Math.floor(timeDifference / year); return { unit: yearsAgo === 1 ? t('dyn_time_since.year') : t('dyn_time_since.years'), value: yearsAgo, }; } if (timeDifference >= month) { const monthsAgo = Math.floor(timeDifference / month); return { unit: monthsAgo === 1 ? t('dyn_time_since.month') : t('dyn_time_since.months'), value: monthsAgo, }; } if (timeDifference >= day) { const daysAgo = Math.floor(timeDifference / day); return { unit: daysAgo === 1 ? t('dyn_time_since.day') : t('dyn_time_since.days'), value: daysAgo, }; } if (timeDifference >= hour) { const hoursAgo = Math.floor(timeDifference / hour); return { unit: hoursAgo === 1 ? t('dyn_time_since.hour') : t('dyn_time_since.hours'), value: hoursAgo, }; } if (timeDifference >= minute) { const minutesAgo = Math.floor(timeDifference / minute); return { unit: minutesAgo === 1 ? t('dyn_time_since.minute') : t('dyn_time_since.minutes'), value: minutesAgo, }; } const secondsAgo = Math.floor(timeDifference / 1000); return { unit: secondsAgo === 1 ? t('dyn_time_since.second') : t('dyn_time_since.seconds'), value: secondsAgo, }; }; export { getTimeSince };