Browse Source

Add Uptime.tsx

pull/307/head
Tilen Komel 1 year ago
parent
commit
97d206a9d4
  1. 23
      src/components/generic/Uptime.tsx

23
src/components/generic/Uptime.tsx

@ -0,0 +1,23 @@
import { type JSX, useEffect, useState } from "react";
export interface UptimeProps {
seconds: number;
}
const getUptime = (seconds: number): string => {
const days = Math.floor(seconds / 86400);
const hours = Math.floor((seconds % 86400) / 3600);
const minutes = Math.floor(((seconds % 86400) % 3600) / 60);
const secondsLeft = Math.floor(((seconds % 86400) % 3600) % 60);
return `${days}d ${hours}h ${minutes}m ${secondsLeft}s`;
};
export const Uptime = ({ seconds }: UptimeProps): JSX.Element => {
const [uptime, setUptime] = useState(getUptime(seconds));
useEffect(() => {
setUptime(getUptime(seconds));
}, [seconds]);
return <span>{uptime}</span>;
};
Loading…
Cancel
Save