mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
33 lines
1.4 KiB
JavaScript
33 lines
1.4 KiB
JavaScript
import { contextBridge, ipcRenderer, webUtils } from 'electron';
|
|
|
|
// dev uses http://localhost, prod uses file://...index.html
|
|
const isDev = window.location.protocol === 'http:';
|
|
|
|
const defaultPlebbitOptions = {
|
|
plebbitRpcClientsOptions: ['ws://localhost:9138'],
|
|
httpRoutersOptions: ['https://peers.pleb.bot', 'https://routing.lol', 'https://peers.forumindex.com', 'https://peers.plebpubsub.xyz'],
|
|
};
|
|
|
|
contextBridge.exposeInMainWorld('isElectron', true);
|
|
contextBridge.exposeInMainWorld('defaultPlebbitOptions', defaultPlebbitOptions);
|
|
contextBridge.exposeInMainWorld('defaultMediaIpfsGatewayUrl', 'http://localhost:6473');
|
|
|
|
// receive plebbit rpc auth key from main
|
|
ipcRenderer.on('plebbit-rpc-auth-key', (event, plebbitRpcAuthKey) => contextBridge.exposeInMainWorld('plebbitRpcAuthKey', plebbitRpcAuthKey));
|
|
ipcRenderer.send('get-plebbit-rpc-auth-key');
|
|
|
|
contextBridge.exposeInMainWorld('electronApi', {
|
|
isElectron: true,
|
|
copyToClipboard: (text) => ipcRenderer.invoke('copy-to-clipboard', text),
|
|
getPlatform: () => ipcRenderer.invoke('get-platform'),
|
|
automateUploadMedia: (options) => ipcRenderer.invoke('automate-upload-media', options),
|
|
downloadAndInstallUpdate: (options) => ipcRenderer.invoke('download-and-install-update', options),
|
|
getPathForFile: (file) => {
|
|
try {
|
|
return webUtils.getPathForFile(file);
|
|
} catch {
|
|
return null;
|
|
}
|
|
},
|
|
});
|