mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Fix renderer overlay loading and modularize renderer
This commit is contained in:
43
src/renderer/utils/platform.ts
Normal file
43
src/renderer/utils/platform.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
export type OverlayLayer = "visible" | "invisible";
|
||||
|
||||
export type PlatformInfo = {
|
||||
overlayLayer: OverlayLayer;
|
||||
isInvisibleLayer: boolean;
|
||||
isLinuxPlatform: boolean;
|
||||
isMacOSPlatform: boolean;
|
||||
shouldToggleMouseIgnore: boolean;
|
||||
invisiblePositionEditToggleCode: string;
|
||||
invisiblePositionStepPx: number;
|
||||
invisiblePositionStepFastPx: number;
|
||||
};
|
||||
|
||||
export function resolvePlatformInfo(): PlatformInfo {
|
||||
const overlayLayerFromPreload = window.electronAPI.getOverlayLayer();
|
||||
const overlayLayerFromQuery =
|
||||
new URLSearchParams(window.location.search).get("layer") === "invisible"
|
||||
? "invisible"
|
||||
: "visible";
|
||||
|
||||
const overlayLayer: OverlayLayer =
|
||||
overlayLayerFromPreload === "visible" ||
|
||||
overlayLayerFromPreload === "invisible"
|
||||
? overlayLayerFromPreload
|
||||
: overlayLayerFromQuery;
|
||||
|
||||
const isInvisibleLayer = overlayLayer === "invisible";
|
||||
const isLinuxPlatform = navigator.platform.toLowerCase().includes("linux");
|
||||
const isMacOSPlatform =
|
||||
navigator.platform.toLowerCase().includes("mac") ||
|
||||
/mac/i.test(navigator.userAgent);
|
||||
|
||||
return {
|
||||
overlayLayer,
|
||||
isInvisibleLayer,
|
||||
isLinuxPlatform,
|
||||
isMacOSPlatform,
|
||||
shouldToggleMouseIgnore: !isLinuxPlatform,
|
||||
invisiblePositionEditToggleCode: "KeyP",
|
||||
invisiblePositionStepPx: 1,
|
||||
invisiblePositionStepFastPx: 4,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user