This commit is contained in:
28
frontend/electron/preload.ts
Normal file
28
frontend/electron/preload.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron';
|
||||
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
getAccounts: () => ipcRenderer.invoke('get-accounts'),
|
||||
addAccount: (account: { identifier: string }) => ipcRenderer.invoke('add-account', account),
|
||||
updateAccount: (id: string, data: any) => ipcRenderer.invoke('update-account', id, data),
|
||||
deleteAccount: (id: string) => ipcRenderer.invoke('delete-account', id),
|
||||
switchAccount: (loginName: string) => ipcRenderer.invoke('switch-account', loginName),
|
||||
shareAccountWithUser: (steamId: string, targetSteamId: string) => ipcRenderer.invoke('share-account-with-user', steamId, targetSteamId),
|
||||
openExternal: (url: string) => ipcRenderer.invoke('open-external', url),
|
||||
openSteamLogin: (steamId: string) => ipcRenderer.invoke('open-steam-login', steamId),
|
||||
|
||||
// Server Config & Auth
|
||||
getServerConfig: () => ipcRenderer.invoke('get-server-config'),
|
||||
updateServerConfig: (config: any) => ipcRenderer.invoke('update-server-config', config),
|
||||
loginToServer: () => ipcRenderer.invoke('login-to-server'),
|
||||
getServerUserInfo: () => ipcRenderer.invoke('get-server-user-info'),
|
||||
syncNow: () => ipcRenderer.invoke('sync-now'),
|
||||
getCommunityAccounts: () => ipcRenderer.invoke('get-community-accounts'),
|
||||
getServerUsers: () => ipcRenderer.invoke('get-server-users'),
|
||||
|
||||
onAccountsUpdated: (callback: (accounts: any[]) => void) => {
|
||||
const subscription = (_event: IpcRendererEvent, accounts: any[]) => callback(accounts);
|
||||
ipcRenderer.on('accounts-updated', subscription);
|
||||
return () => ipcRenderer.removeListener('accounts-updated', subscription);
|
||||
},
|
||||
platform: process.platform
|
||||
});
|
||||
Reference in New Issue
Block a user