mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-04-12 04:19:25 -07:00
feat(core): add Electron runtime, services, and app composition
This commit is contained in:
78
src/main/runtime/overlay-visibility-runtime.ts
Normal file
78
src/main/runtime/overlay-visibility-runtime.ts
Normal file
@@ -0,0 +1,78 @@
|
||||
import {
|
||||
createSetInvisibleOverlayVisibleHandler,
|
||||
createSetVisibleOverlayVisibleHandler,
|
||||
createToggleInvisibleOverlayHandler,
|
||||
createToggleVisibleOverlayHandler,
|
||||
} from './overlay-visibility-actions';
|
||||
import {
|
||||
createBuildSetInvisibleOverlayVisibleMainDepsHandler,
|
||||
createBuildSetVisibleOverlayVisibleMainDepsHandler,
|
||||
createBuildToggleInvisibleOverlayMainDepsHandler,
|
||||
createBuildToggleVisibleOverlayMainDepsHandler,
|
||||
} from './overlay-visibility-actions-main-deps';
|
||||
import { createSetOverlayVisibleHandler, createToggleOverlayHandler } from './overlay-main-actions';
|
||||
import {
|
||||
createBuildSetOverlayVisibleMainDepsHandler,
|
||||
createBuildToggleOverlayMainDepsHandler,
|
||||
} from './overlay-main-actions-main-deps';
|
||||
|
||||
type SetVisibleOverlayVisibleMainDeps = Parameters<
|
||||
typeof createBuildSetVisibleOverlayVisibleMainDepsHandler
|
||||
>[0];
|
||||
type SetInvisibleOverlayVisibleMainDeps = Parameters<
|
||||
typeof createBuildSetInvisibleOverlayVisibleMainDepsHandler
|
||||
>[0];
|
||||
|
||||
export type OverlayVisibilityRuntimeDeps = {
|
||||
setVisibleOverlayVisibleDeps: SetVisibleOverlayVisibleMainDeps;
|
||||
setInvisibleOverlayVisibleDeps: SetInvisibleOverlayVisibleMainDeps;
|
||||
getVisibleOverlayVisible: () => boolean;
|
||||
getInvisibleOverlayVisible: () => boolean;
|
||||
};
|
||||
|
||||
export function createOverlayVisibilityRuntime(deps: OverlayVisibilityRuntimeDeps) {
|
||||
const setVisibleOverlayVisibleMainDeps = createBuildSetVisibleOverlayVisibleMainDepsHandler(
|
||||
deps.setVisibleOverlayVisibleDeps,
|
||||
)();
|
||||
const setVisibleOverlayVisible = createSetVisibleOverlayVisibleHandler(
|
||||
setVisibleOverlayVisibleMainDeps,
|
||||
);
|
||||
|
||||
const setInvisibleOverlayVisibleMainDeps = createBuildSetInvisibleOverlayVisibleMainDepsHandler(
|
||||
deps.setInvisibleOverlayVisibleDeps,
|
||||
)();
|
||||
const setInvisibleOverlayVisible = createSetInvisibleOverlayVisibleHandler(
|
||||
setInvisibleOverlayVisibleMainDeps,
|
||||
);
|
||||
|
||||
const toggleVisibleOverlayMainDeps = createBuildToggleVisibleOverlayMainDepsHandler({
|
||||
getVisibleOverlayVisible: deps.getVisibleOverlayVisible,
|
||||
setVisibleOverlayVisible: (visible) => setVisibleOverlayVisible(visible),
|
||||
})();
|
||||
const toggleVisibleOverlay = createToggleVisibleOverlayHandler(toggleVisibleOverlayMainDeps);
|
||||
|
||||
const toggleInvisibleOverlayMainDeps = createBuildToggleInvisibleOverlayMainDepsHandler({
|
||||
getInvisibleOverlayVisible: deps.getInvisibleOverlayVisible,
|
||||
setInvisibleOverlayVisible: (visible) => setInvisibleOverlayVisible(visible),
|
||||
})();
|
||||
const toggleInvisibleOverlay = createToggleInvisibleOverlayHandler(toggleInvisibleOverlayMainDeps);
|
||||
|
||||
const setOverlayVisibleMainDeps = createBuildSetOverlayVisibleMainDepsHandler({
|
||||
setVisibleOverlayVisible: (visible) => setVisibleOverlayVisible(visible),
|
||||
})();
|
||||
const setOverlayVisible = createSetOverlayVisibleHandler(setOverlayVisibleMainDeps);
|
||||
|
||||
const toggleOverlayMainDeps = createBuildToggleOverlayMainDepsHandler({
|
||||
toggleVisibleOverlay: () => toggleVisibleOverlay(),
|
||||
})();
|
||||
const toggleOverlay = createToggleOverlayHandler(toggleOverlayMainDeps);
|
||||
|
||||
return {
|
||||
setVisibleOverlayVisible,
|
||||
setInvisibleOverlayVisible,
|
||||
toggleVisibleOverlay,
|
||||
toggleInvisibleOverlay,
|
||||
setOverlayVisible,
|
||||
toggleOverlay,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user