// Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import { useEffect, useState } from 'react'; export function useIsWindowActive(): boolean { const { activeWindowService } = window.SignalContext; const [isActive, setIsActive] = useState(activeWindowService.isActive()); useEffect(() => { const update = (newIsActive: boolean): void => { setIsActive(newIsActive); }; activeWindowService.registerForChange(update); return () => { activeWindowService.unregisterForChange(update); }; }, [activeWindowService]); return isActive; }