import { useEffect } from "react"; import { listen, BroadcastEventRegistry } from "@/shared/utils/event-broadcast"; type EventName = keyof BroadcastEventRegistry; type EventPayload = BroadcastEventRegistry[K]; export const useBroadcastEvent = ( event: K, handler: (payload: EventPayload) => void ): void => { useEffect(() => { const unsubscribe = listen(event, handler); return unsubscribe; }, [event, handler]); };