mirror of
https://github.com/makeplane/plane.git
synced 2025-12-25 16:19:43 +01:00
* [WEB-5501] refactor: optimize component structures and improve hooks - Updated type definitions in AppProvider to use React.ReactNode for children. - Enhanced HomePeekOverviewsRoot by using MobX observer and integrating issue detail hook. - Optimized ContentOverflowWrapper to prevent unnecessary re-renders by adjusting useEffect dependencies. - Updated DashboardQuickLinks to include necessary dependencies in useCallback. - Refactored GlobalShortcutsProvider to utilize refs for context and handler management, improving performance. - Changed useCurrentTime to update every minute instead of every second. - Refactored outside click hooks to use useCallback for better performance. - Improved IntercomProvider and PostHogProvider to prevent multiple initializations using refs. * refactor: simplify conditional rendering in HomePeekOverviewsRoot component * refactor: improve outside click detection in sidebar and peek overview hooks * refactor: enhance IntercomProvider and PostHogProvider with hydration state management
18 lines
402 B
TypeScript
18 lines
402 B
TypeScript
import { useEffect, useState } from "react";
|
|
|
|
export const useCurrentTime = () => {
|
|
const [currentTime, setCurrentTime] = useState(new Date());
|
|
// update the current time every minute (60000ms)
|
|
useEffect(() => {
|
|
const intervalId = setInterval(() => {
|
|
setCurrentTime(new Date());
|
|
}, 60000);
|
|
|
|
return () => clearInterval(intervalId);
|
|
}, []);
|
|
|
|
return {
|
|
currentTime,
|
|
};
|
|
};
|