Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
const fs = require('fs') | |
const path = require('path') | |
// ----------------------------------------------------------- | |
// | |
// attention: if you add dependencies here, you might have to edit | |
// forge.config.js, , the part about: | |
// '^\\/node_modules/(?!dotenv)$', | |
// | |
// if you have an idea to do that automatically, let me know | |
const dotenv = require('dotenv') | |
// | |
// ----------------------------------------------------------- | |
dotenv.config() | |
try { | |
if (fs.existsSync(".env.local")) { | |
const result = dotenv.config({ path: ".env.local" }) | |
console.log("using .env.local") | |
process.env = { | |
...process.env, | |
...result.parsed, | |
} | |
} | |
} catch (err) { | |
// do nothing | |
console.log("using .env") | |
} | |
const { app, BrowserWindow, screen } = require('electron') | |
try { | |
// used when the app is built with `npm run electron:make` | |
require(path.join(process.resourcesPath, 'standalone/server.js')) | |
} catch (err) { | |
// used when the app is started with `npm run electron:start` | |
require(path.join(process.cwd(), '.next/standalone/server.js')) | |
} | |
// TODO: load the proxy server (for AI providers that refuse browser-side clients) | |
// const proxyServerPath = path.join(currentDir, '.next/standalone/proxy-server.js') | |
// require(proxyServerPath) | |
const createWindow = () => { | |
const mainScreen = screen.getPrimaryDisplay() | |
const allScreens = screen.getAllDisplays() | |
console.log("debug:", { | |
mainScreen, | |
allScreens | |
}) | |
const mainWindow = new BrowserWindow({ | |
// copy the width and height | |
...mainScreen.workAreaSize, | |
icon: './public/logos/clapper.png' | |
}) | |
mainWindow.loadURL('http://0.0.0.0:3000/') | |
mainWindow.on('closed', () => { | |
app.quit() | |
}) | |
} | |
app.whenReady().then(() => { | |
createWindow() | |
}) | |
app.on('window-all-closed', () => { | |
if (process.platform !== 'darwin') { | |
app.quit() | |
} | |
}) |