diff --git a/src/renderer/src/lib/timestamp.tsx b/src/renderer/src/components/FormattedTimestamp/index.tsx similarity index 51% rename from src/renderer/src/lib/timestamp.tsx rename to src/renderer/src/components/FormattedTimestamp/index.tsx index d3a9e8b..183bb04 100644 --- a/src/renderer/src/lib/timestamp.tsx +++ b/src/renderer/src/components/FormattedTimestamp/index.tsx @@ -1,30 +1,36 @@ import dayjs from 'dayjs' import { useTranslation } from 'react-i18next' -export function formatTimestamp(timestamp: number) { +export function FormattedTimestamp({ + timestamp, + short = false +}: { + timestamp: number + short?: boolean +}) { const { t } = useTranslation() const time = dayjs(timestamp * 1000) const now = dayjs() const diffMonth = now.diff(time, 'month') - if (diffMonth >= 1) { + if (diffMonth >= 2) { return t('date', { timestamp: time.valueOf() }) } const diffDay = now.diff(time, 'day') if (diffDay >= 1) { - return t('n days ago', { n: diffDay }) + return short ? t('n d', { n: diffDay }) : t('n days ago', { n: diffDay }) } const diffHour = now.diff(time, 'hour') if (diffHour >= 1) { - return t('n hours ago', { n: diffHour }) + return short ? t('n h', { n: diffHour }) : t('n hours ago', { n: diffHour }) } const diffMinute = now.diff(time, 'minute') if (diffMinute >= 1) { - return t('n minutes ago', { n: diffMinute }) + return short ? t('n m', { n: diffMinute }) : t('n minutes ago', { n: diffMinute }) } - return t('just now') + return short ? t('n s', { n: now.diff(time, 'second') }) : t('just now') } diff --git a/src/renderer/src/components/Note/index.tsx b/src/renderer/src/components/Note/index.tsx index 9fe760d..9d3d132 100644 --- a/src/renderer/src/components/Note/index.tsx +++ b/src/renderer/src/components/Note/index.tsx @@ -1,12 +1,12 @@ import { useSecondaryPage } from '@renderer/PageManager' import { toNote } from '@renderer/lib/link' -import { formatTimestamp } from '@renderer/lib/timestamp' import { Event } from 'nostr-tools' import Content from '../Content' +import { FormattedTimestamp } from '../FormattedTimestamp' import NoteStats from '../NoteStats' +import ParentNotePreview from '../ParentNotePreview' import UserAvatar from '../UserAvatar' import Username from '../Username' -import ParentNotePreview from '../ParentNotePreview' export default function Note({ event, @@ -38,7 +38,7 @@ export default function Note({ skeletonClassName={size === 'small' ? 'h-3' : 'h-4'} />