Files
SubMiner/src/main/runtime/overlay-visibility-actions.ts
2026-03-01 02:36:51 -08:00

31 lines
989 B
TypeScript

export function createSetVisibleOverlayVisibleHandler(deps: {
setVisibleOverlayVisibleCore: (options: {
visible: boolean;
setVisibleOverlayVisibleState: (visible: boolean) => void;
updateVisibleOverlayVisibility: () => void;
}) => void;
setVisibleOverlayVisibleState: (visible: boolean) => void;
updateVisibleOverlayVisibility: () => void;
onVisibleOverlayEnabled?: () => void;
}) {
return (visible: boolean): void => {
if (visible) {
deps.onVisibleOverlayEnabled?.();
}
deps.setVisibleOverlayVisibleCore({
visible,
setVisibleOverlayVisibleState: deps.setVisibleOverlayVisibleState,
updateVisibleOverlayVisibility: deps.updateVisibleOverlayVisibility,
});
};
}
export function createToggleVisibleOverlayHandler(deps: {
getVisibleOverlayVisible: () => boolean;
setVisibleOverlayVisible: (visible: boolean) => void;
}) {
return (): void => {
deps.setVisibleOverlayVisible(!deps.getVisibleOverlayVisible());
};
}