mirror of https://github.com/MaxLeiter/Drift
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			783 B
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			28 lines
		
	
	
		
			783 B
		
	
	
	
		
			TypeScript
		
	
import { Badge, Tooltip } from "@geist-ui/core/dist"
 | 
						|
import { timeAgo } from "@lib/time-ago"
 | 
						|
import { useMemo, useState, useEffect } from "react"
 | 
						|
 | 
						|
const CreatedAgoBadge = ({ createdAt }: { createdAt: string | Date }) => {
 | 
						|
	const createdDate = useMemo(() => new Date(createdAt), [createdAt])
 | 
						|
	const [time, setTimeAgo] = useState(timeAgo(createdDate))
 | 
						|
 | 
						|
	useEffect(() => {
 | 
						|
		const interval = setInterval(() => {
 | 
						|
			setTimeAgo(timeAgo(createdDate))
 | 
						|
		}, 1000)
 | 
						|
		return () => clearInterval(interval)
 | 
						|
	}, [createdDate])
 | 
						|
 | 
						|
	const formattedTime = `${createdDate.toLocaleDateString()} ${createdDate.toLocaleTimeString()}`
 | 
						|
	return (
 | 
						|
		<Badge type="secondary">
 | 
						|
			{" "}
 | 
						|
			<Tooltip hideArrow text={formattedTime}>
 | 
						|
				Created {time}
 | 
						|
			</Tooltip>
 | 
						|
		</Badge>
 | 
						|
	)
 | 
						|
}
 | 
						|
 | 
						|
export default CreatedAgoBadge
 |