Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / applications / calendar / src / app / hooks / usePauseCalendarEventLoop.ts
blob6aea70567bfc504467471b4464fa1a9c94ceea7a
1 import { useEffect, useMemo } from 'react';
3 import { useCalendarModelEventManager } from '@proton/components';
4 import type { VisualCalendar } from '@proton/shared/lib/interfaces/calendar';
6 const usePauseCalendarEventLoop = (activeCalendars: VisualCalendar[], condition: boolean) => {
7     const { start, stop } = useCalendarModelEventManager();
8     const calendarIDs = useMemo(() => activeCalendars.map(({ ID }) => ID), [activeCalendars]);
10     useEffect(() => {
11         if (!calendarIDs.length) {
12             return;
13         }
15         if (condition) {
16             // Pause calendar event loop
17             stop(calendarIDs);
18         } else {
19             // Resume calendar event loop
20             start(calendarIDs);
21         }
22     }, [condition, calendarIDs]);
25 export default usePauseCalendarEventLoop;