44 lines
886 B
TypeScript
44 lines
886 B
TypeScript
import { app, BrowserWindow } from "electron";
|
|
import { Service } from "@Service/Service";
|
|
const ENV = process.env ?? {};
|
|
|
|
class ElectronApp {
|
|
|
|
public service: Service;
|
|
|
|
public serviceUrl: string = "http://127.0.0.1";
|
|
|
|
public constructor() {
|
|
this.service = new Service();
|
|
}
|
|
|
|
public async runService() {
|
|
|
|
let defaultPort: number | undefined = parseInt(ENV.LIVING_TOGETHER_DEFAULT_PORT ?? "");
|
|
if (isNaN(defaultPort)) defaultPort = undefined;
|
|
|
|
this.serviceUrl = await this.service.run(
|
|
ENV.LIVING_TOGETHER_BASE_PATH, defaultPort
|
|
);
|
|
}
|
|
|
|
public mainWindows?: BrowserWindow;
|
|
|
|
public async runMainThread() {
|
|
|
|
await app.whenReady();
|
|
|
|
await this.runService();
|
|
|
|
this.mainWindows = new BrowserWindow({
|
|
width: 800,
|
|
height: 600,
|
|
titleBarStyle: 'hidden',
|
|
frame: false,
|
|
});
|
|
|
|
this.mainWindows.loadURL(this.serviceUrl);
|
|
}
|
|
}
|
|
|
|
new ElectronApp().runMainThread(); |