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,8 +37,12 @@ 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")) { | ||||||
|  |         if (ipcRenderer.sendSync("channel")) { | ||||||
|  |             injectHummusTitlebar(); | ||||||
|  |         } else { | ||||||
|             injectTitlebar(); |             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; | ||||||
|  |  | ||||||
|  | @ -125,10 +125,32 @@ async function doAfterDefiningTheWindow() { | ||||||
|         await setLang(Intl.DateTimeFormat().resolvedOptions().locale) |         await setLang(Intl.DateTimeFormat().resolvedOptions().locale) | ||||||
|         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 { | ||||||
|  |         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 { |         } else { | ||||||
|             await mainWindow.loadFile(path.join(__dirname, "/content/splash.html")); |             await mainWindow.loadFile(path.join(__dirname, "/content/splash.html")); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | } | ||||||
| export function createCustomWindow() { | export function createCustomWindow() { | ||||||
|     mainWindow = new BrowserWindow({ |     mainWindow = new BrowserWindow({ | ||||||
|         width: 300, |         width: 300, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue