13 lines
397 B
TypeScript
13 lines
397 B
TypeScript
import { useSyncExternalStore } from "react";
|
|
import { InteractionManager } from "@/managers/InteractionManager";
|
|
import type { InteractionSnapshot } from "@/types/interaction";
|
|
|
|
const manager = InteractionManager.getInstance();
|
|
|
|
export function useInteraction(): InteractionSnapshot {
|
|
return useSyncExternalStore(
|
|
manager.subscribe.bind(manager),
|
|
manager.getState.bind(manager),
|
|
);
|
|
}
|