mirror of
https://github.com/Elvanos/fantasia-archive.git
synced 2024-05-18 11:13:15 +12:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { BrowserWindow } from 'electron'
|
|
import { enable } from '@electron/remote/main'
|
|
import path from 'path'
|
|
|
|
/**
|
|
* Creates the main app window
|
|
*/
|
|
export const mainWindowCreation = () => {
|
|
/**
|
|
* Initial window options
|
|
*/
|
|
let appWindow: BrowserWindow | undefined = new BrowserWindow({
|
|
useContentSize: true,
|
|
frame: false,
|
|
icon: path.resolve(__dirname, '../icons/icon.png'),
|
|
webPreferences: {
|
|
sandbox: false,
|
|
contextIsolation: true,
|
|
preload: path.resolve(__dirname, process.env.QUASAR_ELECTRON_PRELOAD)
|
|
}
|
|
})
|
|
|
|
// Enable actual webContents inside the created window
|
|
enable(appWindow.webContents)
|
|
|
|
// Set the current window as empty and maximize it
|
|
appWindow.setMenu(null)
|
|
appWindow.maximize()
|
|
|
|
// Load the basic app URL
|
|
appWindow.loadURL(process.env.APP_URL)
|
|
|
|
// Open DevTools by default if the app is running in Dev mode or Production with debug enabled
|
|
if (process.env.DEBUGGING) {
|
|
appWindow.webContents.openDevTools()
|
|
}
|
|
|
|
// Make sure the app window properly closes when it is closed in any way, shape or form
|
|
appWindow.on('closed', () => {
|
|
appWindow = undefined
|
|
})
|
|
}
|