Files
TokenLens/src/main/main.cjs

45 lines
1.1 KiB
JavaScript

const { app, BrowserWindow, ipcMain } = require("electron");
const path = require("node:path");
const { scanUsage } = require("../lib/tokenUsage.cjs");
let mainWindow;
function createWindow() {
mainWindow = new BrowserWindow({
width: 1440,
height: 980,
minWidth: 1180,
minHeight: 820,
title: "TokenLens",
backgroundColor: "#08111d",
titleBarStyle: "hiddenInset",
trafficLightPosition: { x: 20, y: 20 },
webPreferences: {
preload: path.join(__dirname, "preload.cjs"),
contextIsolation: true,
nodeIntegration: false
}
});
const devServer = process.env.TOKENLENS_DEV_SERVER;
if (devServer) {
mainWindow.loadURL(devServer);
} else {
mainWindow.loadFile(path.join(__dirname, "../../dist/index.html"));
}
}
ipcMain.handle("usage:scan", async () => {
return scanUsage();
});
app.whenReady().then(createWindow);
app.on("window-all-closed", () => {
if (process.platform !== "darwin") app.quit();
});
app.on("activate", () => {
if (BrowserWindow.getAllWindows().length === 0) createWindow();
});