mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-10-12 20:49:53 +08:00
- delete electron/settings, the settings preload and window, the config-presets IPC channels, the Configuration menu and the preset watcher in scripts/electron-dev.mjs; config-manager.ts keeps only the user locale (still read from config-presets.json so the saved language survives) - electron/main/env-loader.ts parses .env with dotenv instead of a hand-written parser; electron:compile bundles dependencies - drop the unreachable development branches in port-manager.ts and next-server.ts, the duplicated locale normalisation in menu-i18n.ts, the unused electronAPI members, resources/entitlements.mac.plist - scripts/copy-dereferenced.cjs shared by afterPack and prepare-electron-build - CI: delete ci.yml, move type check and concurrency into test.yml, Node 24 everywhere, docker-build only on main - remove unused dependencies (@xmldom/xmldom, remark-gfm, @anthropic-ai/tokenizer, @testing-library/user-event, concurrently, wait-on, eslint, eslint-config-next, @vitest/coverage-v8, shx), .eslintrc.json and the vitest coverage block
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { contextBridge, ipcRenderer } from "electron"
|
|
|
|
/**
|
|
* Expose safe APIs to the renderer process
|
|
*/
|
|
contextBridge.exposeInMainWorld("electronAPI", {
|
|
// Check if running in Electron
|
|
isElectron: true,
|
|
|
|
// Proxy settings
|
|
getProxy: () => ipcRenderer.invoke("get-proxy"),
|
|
setProxy: (config: { httpProxy?: string; httpsProxy?: string }) =>
|
|
ipcRenderer.invoke("set-proxy", config),
|
|
|
|
// User locale settings
|
|
setUserLocale: (locale: string) =>
|
|
ipcRenderer.invoke("set-user-locale", locale),
|
|
|
|
// A chat was saved, or the page loaded with this many chats: the next
|
|
// launch opens the port where the chats are
|
|
chatSaved: () => ipcRenderer.invoke("chat-saved"),
|
|
chatsLoaded: (count: number) => ipcRenderer.invoke("chats-loaded", count),
|
|
|
|
// The server restarted on the same port (proxy change)
|
|
onServerRestarted: (callback: () => void) => {
|
|
const listener = () => callback()
|
|
ipcRenderer.on("server-restarted", listener)
|
|
return () => {
|
|
ipcRenderer.removeListener("server-restarted", listener)
|
|
}
|
|
},
|
|
})
|