mirror of
https://github.com/Pandipipas/scoreko-electron-dev.git
synced 2026-06-06 05:32:06 +00:00
refactor(cleanup): completar fase 5 con renombrados semánticos
This commit is contained in:
+23
-23
@@ -7,20 +7,20 @@ import { createNodecgProcessManager } from "./nodecg/process-manager";
|
||||
import { getRemainingDelayMs } from "./utils/timing";
|
||||
import { createLoadingWindow, createMainWindow } from "./windows/window-factory";
|
||||
|
||||
const runtimeConfig = getRuntimeConfig();
|
||||
const appConfig = getRuntimeConfig();
|
||||
|
||||
const isDev = !app.isPackaged;
|
||||
const rootPath = isDev ? path.resolve(__dirname, "../..") : process.resourcesPath;
|
||||
const nodecgPath = path.resolve(rootPath, "lib", "nodecg");
|
||||
const dashboardUrl = `http://localhost:${runtimeConfig.nodecgPort}/bundles/${runtimeConfig.bundleName}/${runtimeConfig.dashboardRoute}`;
|
||||
const loadingUrl = `http://localhost:${runtimeConfig.nodecgPort}/bundles/${runtimeConfig.bundleName}/${runtimeConfig.loadingRoute}`;
|
||||
const baseUrl = `http://127.0.0.1:${runtimeConfig.nodecgPort}`;
|
||||
const nodecgRootPath = path.resolve(rootPath, "lib", "nodecg");
|
||||
const mainDashboardUrl = `http://localhost:${appConfig.nodecgPort}/bundles/${appConfig.bundleName}/${appConfig.mainDashboardRoute}`;
|
||||
const loadingDashboardUrl = `http://localhost:${appConfig.nodecgPort}/bundles/${appConfig.bundleName}/${appConfig.loadingDashboardRoute}`;
|
||||
const nodecgBaseUrl = `http://127.0.0.1:${appConfig.nodecgPort}`;
|
||||
|
||||
const nodecgManager = createNodecgProcessManager({
|
||||
isDev,
|
||||
nodecgPath,
|
||||
baseUrl,
|
||||
runtimeConfig,
|
||||
nodecgRootPath,
|
||||
nodecgBaseUrl,
|
||||
appConfig,
|
||||
log,
|
||||
});
|
||||
|
||||
@@ -30,19 +30,19 @@ let mainWindow: BrowserWindow | null = null;
|
||||
let loadingWindow: BrowserWindow | null = null;
|
||||
let shutdownState: AppShutdownState = "running";
|
||||
|
||||
async function launch(): Promise<void> {
|
||||
mainWindow = createMainWindow({ runtimeConfig, rootPath, dashboardUrl });
|
||||
loadingWindow = createLoadingWindow({ runtimeConfig, rootPath });
|
||||
async function launchApplication(): Promise<void> {
|
||||
mainWindow = createMainWindow({ appConfig, rootPath, mainDashboardUrl });
|
||||
loadingWindow = createLoadingWindow({ appConfig, rootPath });
|
||||
|
||||
nodecgManager.startNodeCG();
|
||||
nodecgManager.startNodecgProcess();
|
||||
|
||||
await nodecgManager.waitForNodeCGReady(Date.now());
|
||||
await nodecgManager.waitForNodecgReady(Date.now());
|
||||
|
||||
if (!loadingWindow || loadingWindow.isDestroyed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
await loadingWindow.loadURL(loadingUrl);
|
||||
await loadingWindow.loadURL(loadingDashboardUrl);
|
||||
loadingWindow.show();
|
||||
|
||||
const loadingShownAt = Date.now();
|
||||
@@ -51,9 +51,9 @@ async function launch(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
await mainWindow.loadURL(dashboardUrl);
|
||||
await mainWindow.loadURL(mainDashboardUrl);
|
||||
|
||||
const remainingLoadingDelay = getRemainingDelayMs(runtimeConfig.loadDelayMs, loadingShownAt);
|
||||
const remainingLoadingDelay = getRemainingDelayMs(appConfig.loadDelayMs, loadingShownAt);
|
||||
if (remainingLoadingDelay > 0) {
|
||||
await sleep(remainingLoadingDelay);
|
||||
}
|
||||
@@ -83,24 +83,24 @@ function stopNodecgGracefully(): Promise<void> {
|
||||
}
|
||||
|
||||
if (shutdownState === "stopping") {
|
||||
return nodecgManager.stopNodeCG();
|
||||
return nodecgManager.stopNodecgProcessGracefully();
|
||||
}
|
||||
|
||||
shutdownState = "stopping";
|
||||
|
||||
return nodecgManager.stopNodeCG().finally(() => {
|
||||
return nodecgManager.stopNodecgProcessGracefully().finally(() => {
|
||||
shutdownState = "stopped";
|
||||
});
|
||||
}
|
||||
|
||||
app.on("ready", () => {
|
||||
app.setName(runtimeConfig.title);
|
||||
app.setName(appConfig.title);
|
||||
|
||||
if (process.platform === "win32") {
|
||||
app.setAppUserModelId(runtimeConfig.userModelId);
|
||||
app.setAppUserModelId(appConfig.userModelId);
|
||||
}
|
||||
|
||||
launch().catch((error: unknown) => {
|
||||
launchApplication().catch((error: unknown) => {
|
||||
showFatalError("No se pudo iniciar Scoreko.", error);
|
||||
closeLoadingWindow();
|
||||
app.exit(1);
|
||||
@@ -109,8 +109,8 @@ app.on("ready", () => {
|
||||
|
||||
app.on("activate", async () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
mainWindow = createMainWindow({ runtimeConfig, rootPath, dashboardUrl });
|
||||
await mainWindow.loadURL(dashboardUrl);
|
||||
mainWindow = createMainWindow({ appConfig, rootPath, mainDashboardUrl });
|
||||
await mainWindow.loadURL(mainDashboardUrl);
|
||||
mainWindow.show();
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user