Restructure the Electron application by separating concerns into new modules (windows, ipc, sentinel), introduce TypeScript types for IPC, and update build configurations and entry points for desktop applications. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 714c0a0f-ae39-4276-a53a-1f68eb5443fa Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/CdxgfN4 Replit-Helium-Checkpoint-Created: true
21 lines
747 B
JavaScript
21 lines
747 B
JavaScript
import { contextBridge, ipcRenderer } from "electron";
|
|
|
|
contextBridge.exposeInMainWorld("aeBridge", {
|
|
startWatcher: (dir) => ipcRenderer.invoke("watcher:start", dir),
|
|
stopWatcher: () => ipcRenderer.invoke("watcher:stop"),
|
|
|
|
togglePin: () => ipcRenderer.invoke("window:toggle-pin"),
|
|
isPinned: () => ipcRenderer.invoke("window:is-pinned"),
|
|
close: () => ipcRenderer.invoke("window:close"),
|
|
minimize: () => ipcRenderer.invoke("window:minimize"),
|
|
maximize: () => ipcRenderer.invoke("window:maximize"),
|
|
|
|
onClipboardAlert: (callback) => {
|
|
ipcRenderer.on("sentinel:clipboard-alert", (_event, payload) =>
|
|
callback(payload)
|
|
);
|
|
return () => {
|
|
ipcRenderer.removeAllListeners("sentinel:clipboard-alert");
|
|
};
|
|
},
|
|
});
|