Create preload.js
This commit is contained in:
parent
80a54bb141
commit
71bf17f51f
1 changed files with 67 additions and 0 deletions
67
preload.js
Normal file
67
preload.js
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
'use strict';
|
||||
const { contextBridge, ipcRenderer } = require('electron');
|
||||
|
||||
contextBridge.exposeInMainWorld('api', {
|
||||
/* window */
|
||||
getVersion: () => ipcRenderer.sendSync('app-version'),
|
||||
winMin: () => ipcRenderer.send('win-minimize'),
|
||||
winMax: () => ipcRenderer.send('win-maximize'),
|
||||
winClose: () => ipcRenderer.send('win-close'),
|
||||
onMaximized: (cb) => ipcRenderer.on('win-maximized', () => cb()),
|
||||
onRestored: (cb) => ipcRenderer.on('win-restored', () => cb()),
|
||||
openExternal: (url) => ipcRenderer.invoke('open-external', url),
|
||||
|
||||
/* project dirty state */
|
||||
setDirty: (d) => ipcRenderer.send('project-dirty', d),
|
||||
onSaveThenClose: (cb) => ipcRenderer.on('save-project-then-close', cb),
|
||||
confirmClose: () => ipcRenderer.send('project-saved-close'),
|
||||
|
||||
/* notifications */
|
||||
trayNotify: (title, content) => ipcRenderer.send('tray-notify', { title, content }),
|
||||
|
||||
/* settings */
|
||||
getSettings: () => ipcRenderer.invoke('get-settings'),
|
||||
saveSettings: (p) => ipcRenderer.invoke('save-settings', p),
|
||||
|
||||
/* dialogs / fs */
|
||||
openFile: (opts) => ipcRenderer.invoke('open-file', opts),
|
||||
saveFile: (opts) => ipcRenderer.invoke('save-file', opts),
|
||||
readFile: (p) => ipcRenderer.invoke('read-file', p),
|
||||
writeFile: (p, b) => ipcRenderer.invoke('write-file', p, b),
|
||||
readTextFile: (p) => ipcRenderer.invoke('read-text-file', p),
|
||||
writeTextFile: (p, t) => ipcRenderer.invoke('write-text-file', p, t),
|
||||
fileExists: (p) => ipcRenderer.invoke('file-exists', p),
|
||||
getFileStat: (p) => ipcRenderer.invoke('get-file-stat', p),
|
||||
getTempDir: () => ipcRenderer.invoke('get-temp-dir'),
|
||||
listDir: (d) => ipcRenderer.invoke('list-dir', d),
|
||||
|
||||
/* projects */
|
||||
getProjectsDir: () => ipcRenderer.invoke('get-projects-dir'),
|
||||
setProjectsDir: () => ipcRenderer.invoke('set-projects-dir'),
|
||||
listProjects: () => ipcRenderer.invoke('list-projects'),
|
||||
saveProject: (d) => ipcRenderer.invoke('save-project', d),
|
||||
loadProject: (p) => ipcRenderer.invoke('load-project', p),
|
||||
onOpenProjectFile: (cb) => ipcRenderer.on('open-project-file', (_, p) => cb(p)),
|
||||
|
||||
/* assets */
|
||||
assetEstimate: (dirs) => ipcRenderer.invoke('asset-estimate', dirs),
|
||||
assetScan: (dirs) => ipcRenderer.invoke('asset-scan', dirs),
|
||||
assetLoadIndex: () => ipcRenderer.invoke('asset-load-index'),
|
||||
assetPickFolder: () => ipcRenderer.invoke('asset-pick-folder'),
|
||||
getDefaultAssetDirs: () => ipcRenderer.invoke('get-default-asset-dirs'),
|
||||
onAssetScanProgress: (cb) => ipcRenderer.on('asset-scan-progress', (_, d) => cb(d)),
|
||||
|
||||
/* ffmpeg */
|
||||
ffmpeg: (args) => ipcRenderer.invoke('ffmpeg-run', args),
|
||||
ensureFFmpeg: () => ipcRenderer.invoke('ensure-ffmpeg'),
|
||||
getFFmpegStatus: () => ipcRenderer.invoke('get-ffmpeg-status'),
|
||||
onFfmpegProgress: (cb) => ipcRenderer.on('ffmpeg-progress', (_, d) => cb(d)),
|
||||
onFfmpegDownloading: (cb) => ipcRenderer.on('ffmpeg-downloading', (_, d) => cb(d)),
|
||||
|
||||
/* yt-dlp */
|
||||
ensureYtdlp: () => ipcRenderer.invoke('ensure-ytdlp'),
|
||||
getYtdlpPath: () => ipcRenderer.invoke('get-ytdlp-path'),
|
||||
ytdlp: (opts) => ipcRenderer.invoke('ytdlp-run', opts),
|
||||
onYtdlpProgress: (cb) => ipcRenderer.on('ytdlp-progress', (_, d) => cb(d)),
|
||||
onYtdlpDownloading: (cb) => ipcRenderer.on('ytdlp-downloading',(_, d) => cb(d)),
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue