main: use functional methods

This commit is contained in:
leejooy96 committed 2022-07-21 09:27:57 +09:00
1 parent 99e95970bd
commit d1c3d4fc58
3 files changed
+28 -34

No files matched your search

+22 -17
View File
@@ -1,12 +1,24 @@
import { app, BrowserWindow } from 'electron'
import Constants from './utils/Constants'
import Utils from './utils'
import { join } from 'path'
import * as electronRemote from '@electron/remote/main'
export default class MainRunner {
static async createMainWindow (mainWindow) {
const getAppIcon = () => {
return join(__static, Constants.APP_ICON)
}
const exitApp = (mainWindow) => {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.hide()
}
mainWindow = null
app.exit()
}
export const createMainWindow = async (mainWindow) => {
mainWindow = new BrowserWindow({
title: Constants.APP_NAME,
icon: Utils.getAppIcon(),
icon: getAppIcon(),
show: false,
width: Constants.IS_DEV_ENV ? 1500 : 1200,
height: 650,
@@ -18,7 +30,7 @@ export default class MainRunner {
mainWindow.on('close', (event) => {
event.preventDefault()
MainRunner.exitApp(mainWindow)
exitApp(mainWindow)
})
mainWindow.on('show', () => {
@@ -29,6 +41,8 @@ export default class MainRunner {
if (Constants.IS_DEV_ENV) {
mainWindow.webContents.openDevTools()
}
electronRemote.initialize()
})
mainWindow.once('ready-to-show', () => {
@@ -40,16 +54,16 @@ export default class MainRunner {
await mainWindow.loadURL(`${Constants.APP_INDEX_URL}`)
return mainWindow
}
}
static createErrorWindow (errorWindow, mainWindow, details) {
export const createErrorWindow = (errorWindow, mainWindow, details) => {
if (!Constants.IS_DEV_ENV) {
mainWindow?.hide()
}
errorWindow = new BrowserWindow({
title: Constants.APP_NAME,
icon: Utils.getAppIcon(),
icon: getAppIcon(),
show: false,
resizable: Constants.IS_DEV_ENV,
webPreferences: Constants.DEFAULT_WEB_PREFERENCES
@@ -73,13 +87,4 @@ export default class MainRunner {
})
return errorWindow
}
static exitApp (mainWindow) {
if (mainWindow && !mainWindow.isDestroyed()) {
mainWindow.hide()
}
mainWindow = null
app.exit()
}
}
+6 -9
View File
@@ -1,28 +1,25 @@
import 'v8-compile-cache'
import { app } from 'electron'
import path from 'path'
import MainRunner from './MainRunner'
import { join, dirname } from 'path'
import { fileURLToPath } from 'url'
import Constants from './utils/Constants'
import * as electronRemote from '@electron/remote/main'
import { createErrorWindow, createMainWindow } from './MainRunner'
let mainWindow
let errorWindow
app.on('ready', () => {
electronRemote.initialize()
if (!Constants.IS_DEV_ENV) {
global.__static = path.join(path.dirname(fileURLToPath(import.meta.url)), '/static')
global.__static = join(dirname(fileURLToPath(import.meta.url)), '/static')
.replace(/\\/g, '\\\\')
}
mainWindow = MainRunner.createMainWindow(mainWindow)
mainWindow = createMainWindow(mainWindow)
})
app.on('activate', () => {
if (!mainWindow) {
mainWindow = MainRunner.createMainWindow(mainWindow)
mainWindow = createMainWindow(mainWindow)
}
})
@@ -36,5 +33,5 @@ app.on('window-all-closed', () => {
})
app.on('render-process-gone', (ev, webContents, details) => {
errorWindow = MainRunner.createErrorWindow(errorWindow, mainWindow, details)
errorWindow = createErrorWindow(errorWindow, mainWindow, details)
})
-8
View File
@@ -1,8 +0,0 @@
import path from 'path'
import Constants from './Constants'
export default class Utils {
static getAppIcon () {
return path.join(__static, Constants.APP_ICON)
}
}