@t1mmen/srtd
Version:
Supabase Repeatable Template Definitions (srtd): 🪄 Live-reloading SQL templates for Supabase DX. Make your database changes reviewable and migrations maintainable! 🚀
33 lines • 1.19 kB
JavaScript
import { Text } from 'ink';
import React from 'react';
import { COLOR_SUCCESS } from './customTheme.js';
export const TimeSince = ({ date }) => {
const [now, setNow] = React.useState(new Date());
React.useEffect(() => {
const timer = setInterval(() => setNow(new Date()), 1000);
return () => clearInterval(timer);
}, []);
if (!date)
return React.createElement(Text, null, "never");
const parsedDate = new Date(date);
const diff = Math.abs(now.getTime() - parsedDate.getTime());
const seconds = Math.floor(diff / 1000);
if (seconds < 5)
return React.createElement(Text, { color: COLOR_SUCCESS }, "just now");
if (seconds < 60)
return React.createElement(Text, null,
seconds,
"s ago");
if (seconds < 3600)
return React.createElement(Text, null,
Math.floor(seconds / 60),
"m ago");
if (seconds < 86400)
return React.createElement(Text, null,
Math.floor(seconds / 3600),
"h ago");
return React.createElement(Text, null,
Math.floor(seconds / 86400),
"d ago");
};
//# sourceMappingURL=TimeSince.js.map