From ea20492372e3cb28d50167e9c28f658cb628bd71 Mon Sep 17 00:00:00 2001
From: smartfridge <37928912+smartfrigde@users.noreply.github.com>
Date: Sat, 10 Dec 2022 20:33:35 +0100
Subject: [PATCH] Fix skip splash
---
src/settings/settings.html | 1 -
src/window.ts | 42 +++++++++++++++++++++++---------------
2 files changed, 26 insertions(+), 17 deletions(-)
diff --git a/src/settings/settings.html b/src/settings/settings.html
index b2c11b2..fcb5755 100644
--- a/src/settings/settings.html
+++ b/src/settings/settings.html
@@ -177,7 +177,6 @@
-
diff --git a/src/window.ts b/src/window.ts
index e7804c4..9a89f4e 100644
--- a/src/window.ts
+++ b/src/window.ts
@@ -12,7 +12,9 @@ import {
setConfig,
setLang,
setWindowState,
- transparency
+ transparency,
+ sleep,
+ modInstallState
} from "./utils";
import {registerIpc} from "./ipc";
import {setMenu} from "./menu";
@@ -74,10 +76,13 @@ async function doAfterDefiningTheWindow() {
if (!gotTheLock) {
app.quit();
} else {
- app.on("second-instance", (event, commandLine, workingDirectory) => {
- // i love stack overflow
+ app.on("second-instance", (event, commandLine, workingDirectory, additionalData) => {
+ // Print out data received from the second instance.
+ console.log(additionalData);
+
+ // Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
- mainWindow.restore();
+ if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
}
});
@@ -214,30 +219,35 @@ async function doAfterDefiningTheWindow() {
await setLang(Intl.DateTimeFormat().resolvedOptions().locale);
mainWindow.setSize(390, 470);
await mainWindow.loadFile(path.join(__dirname, "/content/setup.html"));
- } else {
- if ((await getConfig("skipSplash")) == true) {
- switch (await getConfig("channel")) {
+ } else if ((await getConfig("skipSplash")) == true) {
+ while (modInstallState == "installing") {
+ sleep(1000);
+ }
+ mainWindow.loadURL("data:text/html,%3Ch1%3ELoading%21%3C%2Fh1%3E");
+ mainWindow.webContents.executeJavaScript(`
+ window.armcord.splashEnd();
+ switch (window.armcord.channel) {
case "stable":
- await mainWindow.loadURL("https://discord.com/app");
+ window.location.replace("https://discord.com/app");
break;
case "canary":
- await mainWindow.loadURL("https://canary.discord.com/app");
+ window.location.replace("https://canary.discord.com/app");
break;
case "ptb":
- await mainWindow.loadURL("https://ptb.discord.com/app");
+ window.location.replace("https://ptb.discord.com/app");
break;
case "hummus":
- await mainWindow.loadURL("https://hummus.sys42.net/");
+ window.location.replace("https://hummus.sys42.net/");
break;
case undefined:
- await mainWindow.loadURL("https://discord.com/app");
+ window.location.replace("https://discord.com/app");
break;
default:
- await mainWindow.loadURL("https://discord.com/app");
+ window.location.replace("https://discord.com/app");
}
- } else {
- await mainWindow.loadFile(path.join(__dirname, "/content/splash.html"));
- }
+ `);
+ } else {
+ await mainWindow.loadFile(path.join(__dirname, "/content/splash.html"));
}
}
export function createCustomWindow() {