29 lines
796 B
JavaScript
29 lines
796 B
JavaScript
import { contextBridge, ipcRenderer } from "electron";
|
|
const api = {
|
|
openNoteWindow: (noteId) => {
|
|
ipcRenderer.send("open-note-window", noteId);
|
|
},
|
|
onNoteCreated: (callback) => {
|
|
ipcRenderer.on("note-created", (_, data) => callback(data));
|
|
},
|
|
onNoteUpdated: (callback) => {
|
|
ipcRenderer.on("note-updated", (_, data) => callback(data));
|
|
},
|
|
onNoteDeleted: (callback) => {
|
|
ipcRenderer.on("note-deleted", (_, data) => callback(data));
|
|
}
|
|
};
|
|
const notesAPI = {
|
|
call: (method, ...args) => ipcRenderer.invoke("notesAPI:call", method, args)
|
|
};
|
|
if (process.contextIsolated) {
|
|
try {
|
|
contextBridge.exposeInMainWorld("api", api);
|
|
contextBridge.exposeInMainWorld("notesAPI", notesAPI);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
} else {
|
|
window.api = api;
|
|
}
|