1
0
Fork 0
mirror of synced 2024-06-30 12:00:31 +12:00
budibase/packages/server/src/electron.js

47 lines
1.2 KiB
JavaScript
Raw Normal View History

2020-05-18 22:01:09 +12:00
const { app, BrowserWindow } = require("electron")
const { join } = require("path")
const { homedir } = require("os")
const isDev = require("electron-is-dev")
const { autoUpdater } = require("electron-updater")
const unhandled = require("electron-unhandled")
2020-05-08 00:33:25 +12:00
2020-05-18 22:01:09 +12:00
require("dotenv").config({ path: join(homedir(), ".budibase", ".env") })
if (isDev) {
unhandled({
2020-05-18 22:01:09 +12:00
showDialog: true,
})
}
2020-05-19 05:05:36 +12:00
const APP_URL = "http://localhost:4001/_builder"
2020-05-18 22:01:09 +12:00
const APP_TITLE = "Budibase Builder"
2020-05-08 00:52:24 +12:00
let win
2020-05-16 05:13:18 +12:00
async function createWindow() {
app.server = await require("./app")()
2020-05-18 22:01:09 +12:00
win = new BrowserWindow({ width: 1920, height: 1080 })
win.setTitle(APP_TITLE)
win.loadURL(APP_URL)
if (isDev) {
2020-05-18 22:01:09 +12:00
win.webContents.openDevTools()
} else {
2020-05-18 22:01:09 +12:00
autoUpdater.checkForUpdatesAndNotify()
}
2020-05-08 00:33:25 +12:00
}
app.whenReady().then(createWindow)
// Quit when all windows are closed.
app.on("window-all-closed", () => {
2020-05-18 22:01:09 +12:00
// On macOS it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== "darwin") app.quit()
})
app.on("activate", () => {
2020-05-18 22:01:09 +12:00
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (win === null) createWindow()
})