import React, {useEffect, useState} from 'react'; import {StyleProp, TextStyle} from 'react-native'; import {formatDistance} from 'date-fns/formatDistance'; import {Paragraph} from "react-native-paper"; interface Props { dateTo: Date; updateInterval?: number; dateFrom?: Date; hideAgo?: boolean; style?: StyleProp; } const TimeAgo: React.FC = ({ dateTo, dateFrom, updateInterval = 60000, hideAgo = false, style, }) => { const [currentDate, setCurrentDate] = useState(new Date()); useEffect(() => { const interval = setInterval(() => { if (!dateFrom) setCurrentDate(new Date()); }, updateInterval); return () => clearInterval(interval); }, [dateFrom, updateInterval]); return ( {formatDistance(dateTo, dateFrom || currentDate, { addSuffix: !hideAgo, })} ); }; export default TimeAgo;