29 de março de 2022
Recebe uma data e retorna uma string de quanto tempo passou desde então e gerencia sua atualização.
import { formatDistance } from "date-fns"; import ptBR from "date-fns/locale/pt-BR"; import { useEffect, useState } from "react"; export function useTimeAgo(compareDate) { const [timeAgo, setTimeAgo] = useState(() => { return getTimeAgoFromNow(compareDate); }); function getTimeAgoFromNow(date) { return formatDistance(date, new Date(), { locale: ptBR, addSuffix: true }); } useEffect(() => { function refreshTimeAgo() { setTimeAgo(getTimeAgoFromNow(compareDate)); } window.addEventListener("focus", refreshTimeAgo); return () => { window.removeEventListener("focus", refreshTimeAgo); }; }, [compareDate]); return timeAgo; }
Criado por @guilherssousa, mantido por 1 pessoas 💗