Files
peoplelib/manga-online-preload.js
T

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')
});