24 lines
1.1 KiB
JavaScript
24 lines
1.1 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('mangaApi', {
|
|
meta: (sessionId) => ipcRenderer.invoke('mangaOnline:meta', sessionId),
|
|
chapters: (sessionId, page) => ipcRenderer.invoke('mangaOnline:chapters', sessionId, page),
|
|
chapterManifest: (sessionId, chapterId) => (
|
|
ipcRenderer.invoke('mangaOnline:chapterManifest', sessionId, chapterId)
|
|
),
|
|
image: (sessionId, manifestId, index) => (
|
|
ipcRenderer.invoke('mangaOnline:image', sessionId, manifestId, index)
|
|
),
|
|
closeSession: (sessionId) => ipcRenderer.invoke('mangaOnline:close', sessionId),
|
|
getTheme: () => ipcRenderer.invoke('ui:getTheme'),
|
|
setTheme: (theme) => ipcRenderer.invoke('ui:setTheme', theme),
|
|
onThemeChanged: (callback) => {
|
|
const listener = (_event, theme) => callback(theme);
|
|
ipcRenderer.on('ui:themeChanged', listener);
|
|
return () => ipcRenderer.removeListener('ui:themeChanged', listener);
|
|
},
|
|
minimize: () => ipcRenderer.send('win:minimize'),
|
|
maximize: () => ipcRenderer.send('win:maximize'),
|
|
close: () => ipcRenderer.send('win:close')
|
|
});
|