@@ -6,6 +6,7 @@ import DOMPurify from "dompurify";
66import Ref from "html-tag-js/ref" ;
77import actionStack from "lib/actionStack" ;
88import constants from "lib/constants" ;
9+ import moment from "moment" ;
910import helpers from "utils/helpers" ;
1011import Url from "utils/Url" ;
1112
@@ -46,42 +47,14 @@ export default (props) => {
4647 const formatUpdatedDate = ( dateString ) => {
4748 if ( ! dateString ) return null ;
4849
49- const date = new Date ( dateString ) ;
50- const now = new Date ( ) ;
51- const diffTime = now - date ;
52-
53- if ( diffTime < 0 ) return null ;
54-
55- const diffSeconds = Math . floor ( diffTime / 1000 ) ;
56- const diffMinutes = Math . floor ( diffSeconds / 60 ) ;
57- const diffHours = Math . floor ( diffMinutes / 60 ) ;
58- const diffDays = Math . floor ( diffHours / 24 ) ;
59- const diffWeeks = Math . floor ( diffDays / 7 ) ;
60- const diffMonths = Math . floor ( diffDays / 30 ) ;
61- const diffYears = Math . floor ( diffDays / 365 ) ;
62-
63- if ( diffSeconds < 60 ) {
64- return "just now" ;
65- } else if ( diffMinutes < 60 ) {
66- return `${ diffMinutes } m ago` ;
67- } else if ( diffHours < 24 ) {
68- return `${ diffHours } h ago` ;
69- } else if ( diffDays === 1 ) {
70- return "yesterday" ;
71- } else if ( diffDays < 7 ) {
72- return `${ diffDays } d ago` ;
73- } else if ( diffWeeks === 1 ) {
74- return "1w ago" ;
75- } else if ( diffDays < 30 ) {
76- return `${ diffWeeks } w ago` ;
77- } else if ( diffMonths === 1 ) {
78- return "1mo ago" ;
79- } else if ( diffDays < 365 ) {
80- return `${ diffMonths } mo ago` ;
81- } else if ( diffYears === 1 ) {
82- return "1y ago" ;
83- } else {
84- return `${ diffYears } y ago` ;
50+ try {
51+ const updateTime = moment . utc ( dateString ) ;
52+ if ( ! updateTime . isValid ( ) ) return null ;
53+
54+ return updateTime . fromNow ( ) ;
55+ } catch ( error ) {
56+ console . warn ( "Error parsing date with moment:" , dateString , error ) ;
57+ return null ;
8558 }
8659 } ;
8760
0 commit comments