Files
Silk-Fly-Launcher/preload.js

42 lines
1.8 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld('versions', {
node: () => process.versions.node,
chrome: () => process.versions.chrome,
electron: () => process.versions.electron
});
contextBridge.exposeInMainWorld('files', {
delete: () => ipcRenderer.invoke('delete-data'),
export: () => ipcRenderer.invoke('export-data'),
import: () => ipcRenderer.invoke('import-data'),
autoDetectGamePath: () => ipcRenderer.invoke('auto-detect-game-path'),
saveSilksongPath: (path) => ipcRenderer.invoke('save-path', path),
loadSilksongPath: () => ipcRenderer.invoke('load-path'),
loadBepinexVersion: () => ipcRenderer.invoke('load-bepinex-version'),
loadBepinexBackupVersion: () => ipcRenderer.invoke('load-bepinex-backup-version'),
saveNexusAPI: (api) => ipcRenderer.invoke('save-nexus-api', api),
loadNexusAPI: () => ipcRenderer.invoke('load-nexus-api'),
saveTheme: (theme) => ipcRenderer.invoke('save-theme', theme),
loadTheme: () => ipcRenderer.invoke('load-theme')
});
contextBridge.exposeInMainWorld('electronAPI', {
openExternalLink: (url) => ipcRenderer.invoke('open-link', url),
launchGame: (mode) => ipcRenderer.invoke('launch-game', mode),
loadMainPage: () => ipcRenderer.invoke('load-main-page')
});
contextBridge.exposeInMainWorld('bepinex', {
install: () => ipcRenderer.invoke('install-bepinex'),
uninstall: () => ipcRenderer.invoke('uninstall-bepinex'),
backup: () => ipcRenderer.invoke('backup-bepinex'),
deleteBackup: () => ipcRenderer.invoke('delete-bepinex-backup')
})
contextBridge.exposeInMainWorld('nexus', {
verifyAPI: () => ipcRenderer.invoke('verify-nexus-api'),
getLatestMods: () => ipcRenderer.invoke('get-latest-mods'),
download: (link) => ipcRenderer.invoke('download-mod', link)
})