mirror of
https://github.com/smartfrigde/armcord.git
synced 2024-08-14 23:56:58 +00:00
Add Cordwood, better Hummus support and skip splash
This commit is contained in:
parent
9717eaedb1
commit
0fb71dfe2b
6 changed files with 90 additions and 7 deletions
|
@ -28,7 +28,7 @@ const unstrictCSP = () => {
|
||||||
"https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
|
"https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
|
||||||
"https://raw.githubusercontent.com/Cumcord/Cumcord/master/dist/build.js",
|
"https://raw.githubusercontent.com/Cumcord/Cumcord/master/dist/build.js",
|
||||||
"https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
|
"https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
|
||||||
"https://localhost:1234/dist.js"
|
"https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
|
||||||
];
|
];
|
||||||
|
|
||||||
electron.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders, url}, done) => {
|
electron.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders, url}, done) => {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import "./capturer";
|
||||||
import "./patch";
|
import "./patch";
|
||||||
import * as fs from "fs";
|
import * as fs from "fs";
|
||||||
import * as path from "path";
|
import * as path from "path";
|
||||||
import {injectTitlebar} from "./titlebar";
|
import {injectHummusTitlebar, injectTitlebar} from "./titlebar";
|
||||||
import {sleep, addStyle, injectJS, addScript} from "../utils";
|
import {sleep, addStyle, injectJS, addScript} from "../utils";
|
||||||
import {ipcRenderer} from "electron";
|
import {ipcRenderer} from "electron";
|
||||||
import {injectMobileStuff} from "./mobile";
|
import {injectMobileStuff} from "./mobile";
|
||||||
|
@ -25,7 +25,8 @@ declare global {
|
||||||
const clientMods = {
|
const clientMods = {
|
||||||
goosemod: "https://api.goosemod.com/inject.js",
|
goosemod: "https://api.goosemod.com/inject.js",
|
||||||
cumcord: "https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
|
cumcord: "https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
|
||||||
flicker: "https://raw.githubusercontent.com/FlickerMod/dist/main/build.js"
|
flicker: "https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
|
||||||
|
cordwood: "https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log("ArmCord " + version);
|
console.log("ArmCord " + version);
|
||||||
|
@ -36,7 +37,11 @@ if (window.location.href.indexOf("splash.html") > -1) {
|
||||||
console.log("Skipping titlebar injection and client mod injection.");
|
console.log("Skipping titlebar injection and client mod injection.");
|
||||||
} else {
|
} else {
|
||||||
if (ipcRenderer.sendSync("titlebar")) {
|
if (ipcRenderer.sendSync("titlebar")) {
|
||||||
injectTitlebar();
|
if (ipcRenderer.sendSync("channel")) {
|
||||||
|
injectHummusTitlebar();
|
||||||
|
} else {
|
||||||
|
injectTitlebar();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ipcRenderer.sendSync("mobileMode")) {
|
if (ipcRenderer.sendSync("mobileMode")) {
|
||||||
injectMobileStuff();
|
injectMobileStuff();
|
||||||
|
@ -61,6 +66,11 @@ if (window.location.href.indexOf("splash.html") > -1) {
|
||||||
console.log("Loading FlickerMod...");
|
console.log("Loading FlickerMod...");
|
||||||
await updateLang();
|
await updateLang();
|
||||||
break;
|
break;
|
||||||
|
case "cordwood":
|
||||||
|
injectJS(clientMods.cordwood);
|
||||||
|
console.log("Loading Cordwood...");
|
||||||
|
await updateLang();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,3 +54,42 @@ export function injectTitlebar() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
export function injectHummusTitlebar() {
|
||||||
|
document.addEventListener("DOMContentLoaded", function (event) {
|
||||||
|
var elem = document.createElement("div");
|
||||||
|
elem.innerHTML = `
|
||||||
|
<button class="win-minimize" id="minimize"></button><button class="win-maximize" id="maximize"></button><button class="win-close" id="quit"></button>
|
||||||
|
`;
|
||||||
|
elem.classList.add("win-buttons");
|
||||||
|
elem.classList.add("win-buttons-light");
|
||||||
|
document.getElementsByClassName("titlebar")[0].appendChild(elem);
|
||||||
|
document.body.setAttribute("customTitlebar", "");
|
||||||
|
document.body.setAttribute("armcord-platform", os.platform());
|
||||||
|
addStyle(".chat>.title-wrap {width: 87% !important;}");
|
||||||
|
addStyle(".friends-header {width: 91% !important;}");
|
||||||
|
var minimize = document.getElementById("minimize");
|
||||||
|
var maximize = document.getElementById("maximize");
|
||||||
|
var quit = document.getElementById("quit");
|
||||||
|
|
||||||
|
minimize!.addEventListener("click", () => {
|
||||||
|
ipcRenderer.send("win-minimize");
|
||||||
|
});
|
||||||
|
|
||||||
|
maximize!.addEventListener("click", () => {
|
||||||
|
if (ipcRenderer.sendSync("win-isMaximized") == true) {
|
||||||
|
ipcRenderer.send("win-unmaximize");
|
||||||
|
document.body.removeAttribute("isMaximized");
|
||||||
|
} else if (ipcRenderer.sendSync("win-isNormal") == true) {
|
||||||
|
ipcRenderer.send("win-maximize");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
quit!.addEventListener("click", () => {
|
||||||
|
if (ipcRenderer.sendSync("minimizeToTray") === true) {
|
||||||
|
ipcRenderer.send("win-hide");
|
||||||
|
} else if (ipcRenderer.sendSync("minimizeToTray") === false) {
|
||||||
|
ipcRenderer.send("win-quit");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
@ -112,8 +112,9 @@
|
||||||
<b>PTB</b> - public test build. Receives features earlier than stable but is a bit older than
|
<b>PTB</b> - public test build. Receives features earlier than stable but is a bit older than
|
||||||
Canary.
|
Canary.
|
||||||
<br />
|
<br />
|
||||||
<b>Hummus</b> - unofficial instance of Discord that takes you back to 2016! None of the client mods
|
<b>Hummus</b> - unofficial instance of Discord that takes you back to 2016! Only client mod
|
||||||
bundled with ArmCord work with it. It's run by community, so you take all the risk by using it.
|
available to run alongside with it is Cordwood. It's run by community, so you take all the risk by
|
||||||
|
using it.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -168,6 +169,13 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<h1 class="center advancedText">⚠️Advanced user zone⚠️</h1>
|
<h1 class="center advancedText">⚠️Advanced user zone⚠️</h1>
|
||||||
|
<div class="switch acAltPaste">
|
||||||
|
<label class="header2" id="settings-skipSplash">Skip splash screen (experimental)</label>
|
||||||
|
<input class="tgl tgl-light left" id="skipSplash" type="checkbox" />
|
||||||
|
<label class="tgl-btn left" for="skipSplash"></label>
|
||||||
|
<p class="description2">Skips ArmCord splash screen when you start up the app.</p>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
<button id="settings-pluginsFolder" class="center">Open plugins folder</button>
|
<button id="settings-pluginsFolder" class="center">Open plugins folder</button>
|
||||||
<br />
|
<br />
|
||||||
<button id="settings-themesFolder" class="center">Open themes folder</button>
|
<button id="settings-themesFolder" class="center">Open themes folder</button>
|
||||||
|
@ -206,6 +214,7 @@
|
||||||
document.getElementById("tray").checked = await settings.get("minimizeToTray");
|
document.getElementById("tray").checked = await settings.get("minimizeToTray");
|
||||||
document.getElementById("websocket").checked = await settings.get("inviteWebsocket");
|
document.getElementById("websocket").checked = await settings.get("inviteWebsocket");
|
||||||
document.getElementById("alternativePaste").checked = await settings.get("alternativePaste");
|
document.getElementById("alternativePaste").checked = await settings.get("alternativePaste");
|
||||||
|
document.getElementById("skipSplash").checked = await settings.get("skipSplash");
|
||||||
document.getElementById("mobile").checked = await settings.get("mobileMode");
|
document.getElementById("mobile").checked = await settings.get("mobileMode");
|
||||||
document.getElementById("patches").value = await settings.get("automaticPatches");
|
document.getElementById("patches").value = await settings.get("automaticPatches");
|
||||||
document.getElementById("mod").value = await settings.get("mods");
|
document.getElementById("mod").value = await settings.get("mods");
|
||||||
|
@ -222,6 +231,7 @@
|
||||||
armcordCSP: document.getElementById("csp").checked,
|
armcordCSP: document.getElementById("csp").checked,
|
||||||
minimizeToTray: document.getElementById("tray").checked,
|
minimizeToTray: document.getElementById("tray").checked,
|
||||||
alternativePaste: document.getElementById("alternativePaste").checked,
|
alternativePaste: document.getElementById("alternativePaste").checked,
|
||||||
|
skipSplash: document.getElementById("skipSplash").checked,
|
||||||
automaticPatches: document.getElementById("patches").checked,
|
automaticPatches: document.getElementById("patches").checked,
|
||||||
mods: document.getElementById("mod").value,
|
mods: document.getElementById("mod").value,
|
||||||
mobileMode: document.getElementById("mobile").checked,
|
mobileMode: document.getElementById("mobile").checked,
|
||||||
|
|
|
@ -42,6 +42,7 @@ export function setup() {
|
||||||
alternativePaste: false,
|
alternativePaste: false,
|
||||||
mods: "cumcord",
|
mods: "cumcord",
|
||||||
performanceMode: "none",
|
performanceMode: "none",
|
||||||
|
skipSplash: false,
|
||||||
inviteWebsocket: true,
|
inviteWebsocket: true,
|
||||||
mobileMode: false,
|
mobileMode: false,
|
||||||
trayIcon: "ac_plug_colored",
|
trayIcon: "ac_plug_colored",
|
||||||
|
@ -191,6 +192,7 @@ export interface Settings {
|
||||||
alternativePaste: boolean;
|
alternativePaste: boolean;
|
||||||
mods: string;
|
mods: string;
|
||||||
mobileMode: boolean,
|
mobileMode: boolean,
|
||||||
|
skipSplash: boolean,
|
||||||
performanceMode: string;
|
performanceMode: string;
|
||||||
inviteWebsocket: boolean;
|
inviteWebsocket: boolean;
|
||||||
trayIcon: string;
|
trayIcon: string;
|
||||||
|
|
|
@ -126,7 +126,29 @@ async function doAfterDefiningTheWindow() {
|
||||||
mainWindow.setSize(390, 470);
|
mainWindow.setSize(390, 470);
|
||||||
await mainWindow.loadFile(path.join(__dirname, "/content/setup.html"));
|
await mainWindow.loadFile(path.join(__dirname, "/content/setup.html"));
|
||||||
} else {
|
} else {
|
||||||
await mainWindow.loadFile(path.join(__dirname, "/content/splash.html"));
|
if (await getConfig("skipSplash") == true) {
|
||||||
|
switch (await getConfig("channel")) {
|
||||||
|
case "stable":
|
||||||
|
mainWindow.loadURL("https://discord.com/app");
|
||||||
|
break;
|
||||||
|
case "canary":
|
||||||
|
mainWindow.loadURL("https://canary.discord.com/app");
|
||||||
|
break;
|
||||||
|
case "ptb":
|
||||||
|
mainWindow.loadURL("https://ptb.discord.com/app");
|
||||||
|
break;
|
||||||
|
case "hummus":
|
||||||
|
mainWindow.loadURL("https://hummus.sys42.net/");
|
||||||
|
break;
|
||||||
|
case undefined:
|
||||||
|
mainWindow.loadURL("https://discord.com/app");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mainWindow.loadURL("https://discord.com/app");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
await mainWindow.loadFile(path.join(__dirname, "/content/splash.html"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export function createCustomWindow() {
|
export function createCustomWindow() {
|
||||||
|
|
Loading…
Reference in a new issue