diff --git a/home/home.go b/home/home.go index 721dfde6..51126941 100644 --- a/home/home.go +++ b/home/home.go @@ -437,12 +437,16 @@ Accept: application/json function esc(s){ return s?String(s).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'):''; } function timeAgo(iso) { - if (!iso) return ''; - var d=new Date(iso), secs=Math.floor((Date.now()-d)/1000); + if (!iso || iso.indexOf('0001-')===0) return ''; + var d=new Date(iso); + if(isNaN(d.getTime())) return ''; + var secs=Math.floor((Date.now()-d)/1000); + if(secs<0) return ''; if(secs<60) return 'just now'; if(secs<3600) return Math.floor(secs/60)+'m ago'; if(secs<86400) return Math.floor(secs/3600)+'h ago'; - return Math.floor(secs/86400)+'d ago'; + if(secs<2592000) return Math.floor(secs/86400)+'d ago'; + return d.toLocaleDateString(); } function formatPrice(price) { @@ -570,7 +574,8 @@ Accept: application/json // Strip markdown formatting for preview content=content.replace(/#{1,6}\s/g,'').replace(/\*\*/g,'').replace(/\[([^\]]+)\]\([^)]+\)/g,'$1').replace(/\n/g,' '); if(content.length>280) content=content.substring(0,280)+'…'; - var age=opinion.updated_at||opinion.created_at?''+timeAgo(opinion.updated_at||opinion.created_at)+'':''; + var ts=opinion.updated_at&&opinion.updated_at.indexOf('0001-')!==0?opinion.updated_at:opinion.created_at; + var age=ts?''+timeAgo(ts)+'':''; var tag=(opinion.tags||'').indexOf('opinion')!==-1?'opinion':''; el.innerHTML='