Initial clean project import
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
import { ipcRenderer } from "electron";
|
||||
import { resolve } from "node:path";
|
||||
import { isPackaged, platformArch, platformName } from "../../lib/env";
|
||||
import { AppEnv, waitAppEnvReady } from "../env";
|
||||
import appIndex from "./index";
|
||||
|
||||
const isDarkMode = async () => {
|
||||
|
||||
return ipcRenderer.invoke("app:isDarkMode");
|
||||
};
|
||||
|
||||
const quit = () => {
|
||||
|
||||
return ipcRenderer.invoke("app:quit");
|
||||
};
|
||||
|
||||
const restart = () => {
|
||||
|
||||
return ipcRenderer.invoke("app:restart");
|
||||
};
|
||||
|
||||
const isPlatform = (name: "win" | "osx" | "linux") => {
|
||||
return platformName() === name;
|
||||
};
|
||||
|
||||
const windowMin = (name?: string) => {
|
||||
|
||||
return ipcRenderer.invoke("window:min", name);
|
||||
};
|
||||
|
||||
const windowMax = (name?: string) => {
|
||||
|
||||
return ipcRenderer.invoke("window:max", name);
|
||||
};
|
||||
|
||||
const windowSetSize = (
|
||||
name: string | null,
|
||||
width: number,
|
||||
height: number,
|
||||
option?: {
|
||||
includeMinimumSize: boolean;
|
||||
center: boolean;
|
||||
}
|
||||
) => {
|
||||
|
||||
return ipcRenderer.invoke("window:setSize", name, width, height, option);
|
||||
};
|
||||
|
||||
const windowOpen = (name: string, option: any) => {
|
||||
return ipcRenderer.invoke("window:open", name, option);
|
||||
};
|
||||
|
||||
const windowHide = (name: string) => {
|
||||
return ipcRenderer.invoke("window:hide", name);
|
||||
};
|
||||
|
||||
const windowClose = (name: string) => {
|
||||
return ipcRenderer.invoke("window:close", name);
|
||||
};
|
||||
|
||||
const windowMove = (name: string | null, data: { mouseX: number; mouseY: number; width: number; height: number }) => {
|
||||
return ipcRenderer.invoke("window:move", name, data);
|
||||
};
|
||||
|
||||
const openExternal = (url: string) => {
|
||||
return ipcRenderer.invoke("app:openExternal", url);
|
||||
};
|
||||
|
||||
const openPath = (url: string) => {
|
||||
return ipcRenderer.invoke("app:openPath", url);
|
||||
};
|
||||
|
||||
const showItemInFolder = (url: string) => {
|
||||
return ipcRenderer.invoke("app:showItemInFolder", url);
|
||||
};
|
||||
|
||||
const getPreload = async () => {
|
||||
|
||||
return ipcRenderer.invoke("app:getPreload");
|
||||
};
|
||||
|
||||
const getResourcesPath = async () => {
|
||||
return ipcRenderer.invoke("app:getResourcesPath");
|
||||
};
|
||||
|
||||
const resourcePathResolve = async (filePath: string) => {
|
||||
await waitAppEnvReady();
|
||||
const basePath = isPackaged ? process.resourcesPath : AppEnv.appRoot;
|
||||
return resolve(basePath, filePath);
|
||||
};
|
||||
|
||||
const extraPathResolve = async (filePath: string) => {
|
||||
await waitAppEnvReady();
|
||||
const basePath = isPackaged ? process.resourcesPath : "electron/resources";
|
||||
return resolve(basePath, "extra", filePath);
|
||||
};
|
||||
|
||||
const appEnv = async () => {
|
||||
|
||||
await waitAppEnvReady();
|
||||
return AppEnv;
|
||||
};
|
||||
|
||||
const setRenderAppEnv = (env: any) => {
|
||||
AppEnv.isInit = true;
|
||||
AppEnv.appRoot = env.appRoot;
|
||||
AppEnv.appData = env.appData;
|
||||
AppEnv.userData = env.userData;
|
||||
AppEnv.dataRoot = env.dataRoot;
|
||||
};
|
||||
|
||||
const getClipboardText = () => {
|
||||
|
||||
return ipcRenderer.invoke("app:getClipboardText");
|
||||
};
|
||||
|
||||
const setClipboardText = (text: string) => {
|
||||
return ipcRenderer.invoke("app:setClipboardText", text);
|
||||
};
|
||||
|
||||
const getClipboardImage = () => {
|
||||
|
||||
return ipcRenderer.invoke("app:getClipboardImage");
|
||||
};
|
||||
|
||||
const setClipboardImage = (image: string) => {
|
||||
return ipcRenderer.invoke("app:setClipboardImage", image);
|
||||
};
|
||||
|
||||
const toast = (msg: string, option?: any) => {
|
||||
return ipcRenderer.invoke("app:toast", msg, option);
|
||||
};
|
||||
|
||||
const setupList = () => {
|
||||
|
||||
return ipcRenderer.invoke("app:setupList");
|
||||
};
|
||||
|
||||
const setupOpen = (name: string) => {
|
||||
return ipcRenderer.invoke("app:setupOpen", name);
|
||||
};
|
||||
|
||||
const setupIsOk = async () => {
|
||||
|
||||
return ipcRenderer.invoke("app:setupIsOk");
|
||||
};
|
||||
|
||||
const getBuildInfo = async () => {
|
||||
|
||||
return ipcRenderer.invoke("app:getBuildInfo");
|
||||
};
|
||||
|
||||
const collect = async (options?: {}) => {
|
||||
return ipcRenderer.invoke("app:collect", options);
|
||||
};
|
||||
|
||||
const setAutoLaunch = async (enable: boolean, options?: {}) => {
|
||||
return ipcRenderer.invoke("app:setAutoLaunch", enable, options);
|
||||
};
|
||||
|
||||
const getAutoLaunch = async (options?: {}) => {
|
||||
return ipcRenderer.invoke("app:getAutoLaunch", options);
|
||||
};
|
||||
|
||||
export const AppsRender = {
|
||||
isDarkMode,
|
||||
resourcePathResolve,
|
||||
extraPathResolve,
|
||||
platformName,
|
||||
platformArch,
|
||||
isPlatform,
|
||||
quit,
|
||||
restart,
|
||||
windowMin,
|
||||
windowMax,
|
||||
windowSetSize,
|
||||
windowOpen,
|
||||
windowHide,
|
||||
windowClose,
|
||||
windowMove,
|
||||
openExternal,
|
||||
openPath,
|
||||
showItemInFolder,
|
||||
getPreload,
|
||||
getResourcesPath,
|
||||
appEnv,
|
||||
setRenderAppEnv,
|
||||
getClipboardText,
|
||||
setClipboardText,
|
||||
getClipboardImage,
|
||||
setClipboardImage,
|
||||
toast,
|
||||
setupList,
|
||||
setupOpen,
|
||||
setupIsOk,
|
||||
getBuildInfo,
|
||||
collect,
|
||||
setAutoLaunch,
|
||||
getAutoLaunch,
|
||||
shell: appIndex.shell,
|
||||
spawnShell: appIndex.spawnShell,
|
||||
spawnBinary: appIndex.spawnBinary,
|
||||
availablePort: appIndex.availablePort,
|
||||
fixExecutable: appIndex.fixExecutable,
|
||||
getUserAgent: appIndex.getUserAgent,
|
||||
};
|
||||
|
||||
export default AppsRender;
|
||||
Reference in New Issue
Block a user