mirror of
https://github.com/ajnart/homarr.git
synced 2026-02-28 09:21:00 +01:00
* feat: add support for all languages from old homarr * fix: add mantine-react-table translations, remove arabic language * refactor: change translations to json for better crowdin support * fix: issues with loading dayjs and mantine-react-table translations * chore: add additional translations with variables * fix: format and deepsource issues * fix: test failing because of missing coverage exclusions * fix: format issues * fix: format issue
24 lines
628 B
TypeScript
24 lines
628 B
TypeScript
"use client";
|
|
|
|
import { useEffect, useState } from "react";
|
|
import dayjs from "dayjs";
|
|
import relativeTime from "dayjs/plugin/relativeTime";
|
|
|
|
dayjs.extend(relativeTime);
|
|
|
|
const calculateTimeAgo = (timestamp: Date) => {
|
|
return dayjs().to(timestamp);
|
|
};
|
|
|
|
export const useTimeAgo = (timestamp: Date) => {
|
|
const [timeAgo, setTimeAgo] = useState(calculateTimeAgo(timestamp));
|
|
|
|
useEffect(() => {
|
|
const intervalId = setInterval(() => setTimeAgo(calculateTimeAgo(timestamp)), 1000); // update every second
|
|
|
|
return () => clearInterval(intervalId); // clear interval on hook unmount
|
|
}, [timestamp]);
|
|
|
|
return timeAgo;
|
|
};
|