mirror of
https://github.com/smartfrigde/armcord.git
synced 2024-08-14 23:56:58 +00:00
Titlebar, client mod, Discord, everything loads
This commit is contained in:
parent
c2c0e50fd3
commit
521278cf00
10 changed files with 236 additions and 206 deletions
15
package-lock.json
generated
15
package-lock.json
generated
|
@ -5,6 +5,7 @@
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
|
"name": "armcord",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"license": "OSL-3.0",
|
"license": "OSL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -17,7 +18,7 @@
|
||||||
"ws": "^8.4.0"
|
"ws": "^8.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "^16.0.5"
|
"electron": "^16.0.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/get": {
|
"node_modules/@electron/get": {
|
||||||
|
@ -343,9 +344,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/electron": {
|
"node_modules/electron": {
|
||||||
"version": "16.0.5",
|
"version": "16.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz",
|
||||||
"integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==",
|
"integrity": "sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1561,9 +1562,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"electron": {
|
"electron": {
|
||||||
"version": "16.0.5",
|
"version": "16.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz",
|
||||||
"integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==",
|
"integrity": "sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@electron/get": "^1.13.0",
|
"@electron/get": "^1.13.0",
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/armcord/armcord#readme",
|
"homepage": "https://github.com/armcord/armcord#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "^16.0.5"
|
"electron": "^16.0.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/electron-json-storage": "^4.5.0",
|
"@types/electron-json-storage": "^4.5.0",
|
||||||
|
|
12
src/content/css/discord.css
Normal file
12
src/content/css/discord.css
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
.info-1VyQPT:last-child:before {
|
||||||
|
content: "ArmCord Version: 3.0.0"!important;
|
||||||
|
height: auto;
|
||||||
|
line-height: 16px;
|
||||||
|
text-align: center;
|
||||||
|
color: var(--text-muted);
|
||||||
|
font-size: 12px;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
.notice-3bPHh-.colorDefault-22HBa0 {
|
||||||
|
display: none;
|
||||||
|
}
|
|
@ -5,122 +5,104 @@
|
||||||
--armcord-color: #7289da;
|
--armcord-color: #7289da;
|
||||||
--titlebar-color: var(--background-tertiary);
|
--titlebar-color: var(--background-tertiary);
|
||||||
}
|
}
|
||||||
.titleebar {
|
.titlebar {
|
||||||
position: absolute;
|
display: block;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
box-sizing: border-box;
|
flex-shrink: 0;
|
||||||
width: 100%;
|
overflow: hidden;
|
||||||
font-size: 13px;
|
zoom: 1;
|
||||||
padding: 0 16px;
|
box-sizing: border-box;
|
||||||
overflow: hidden;
|
width: 100%;
|
||||||
flex-shrink: 0;
|
clear: both;
|
||||||
align-items: center;
|
height: 30px;
|
||||||
justify-content: center;
|
line-height: 30px;
|
||||||
user-select: none;
|
background-color: #202225;
|
||||||
zoom: 1;
|
-webkit-app-region: drag;
|
||||||
line-height: 22px;
|
width: 100%;
|
||||||
height: 22px;
|
user-select: none;
|
||||||
display: flex;
|
-webkit-user-select: none;
|
||||||
z-index: 99999;
|
position: fixed;
|
||||||
}
|
z-index: 99999;
|
||||||
.titlebar {
|
}
|
||||||
display: block;
|
.titlebar #window-title {
|
||||||
top: 0;
|
width: 30%;
|
||||||
left: 0;
|
height: 100%;
|
||||||
right: 0;
|
line-height: 30px;
|
||||||
flex-shrink: 0;
|
float: left;
|
||||||
overflow: hidden;
|
padding: 0 0 0 1em;
|
||||||
zoom: 1;
|
}
|
||||||
box-sizing: border-box;
|
|
||||||
width: 100%;
|
.titlebar #window-controls-container {
|
||||||
clear:both;
|
float: right;
|
||||||
height: 30px;
|
width: 150px;
|
||||||
line-height: 30px;
|
height: 100%;
|
||||||
background-color: #202225;
|
line-height: 30px;
|
||||||
-webkit-app-region: drag;
|
background-color: #202225;
|
||||||
width: 100%;
|
-webkit-app-region: no-drag;
|
||||||
user-select: none;
|
}
|
||||||
-webkit-user-select: none;
|
|
||||||
position: fixed;
|
.titlebar #window-controls-container #minimize,
|
||||||
z-index: 99999;
|
.titlebar #window-controls-container #maximize,
|
||||||
|
.titlebar #window-controls-container #quit {
|
||||||
}
|
float: left;
|
||||||
.appMount-3lHmkl{
|
height: 100%;
|
||||||
|
width: 33%;
|
||||||
}
|
text-align: center;
|
||||||
.titlebar #window-title {
|
color: #f7f7f7;
|
||||||
width: 30%;
|
cursor: default;
|
||||||
height: 100%;
|
}
|
||||||
line-height: 30px;
|
|
||||||
float: left;
|
.titlebar #window-controls-container #minimize:hover {
|
||||||
padding: 0 0 0 1em;
|
background-color: #99aab5;
|
||||||
}
|
}
|
||||||
|
.titlebar #window-controls-container #maximize:hover {
|
||||||
.titlebar #window-controls-container {
|
background-color: #99aab5;
|
||||||
float: right;
|
}
|
||||||
width: 150px;
|
.titlebar #window-controls-container #quit:hover {
|
||||||
height: 100%;
|
background-color: #f04747;
|
||||||
line-height: 30px;
|
}
|
||||||
background-color: #202225;
|
.titlebar #window-controls-container #quit {
|
||||||
-webkit-app-region: no-drag;
|
background-color: #f7f7f7;
|
||||||
}
|
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
|
no-repeat 50% 50%;
|
||||||
.titlebar #window-controls-container #minimize,
|
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
.titlebar #window-controls-container #maximize,
|
no-repeat 50% 50%;
|
||||||
.titlebar #window-controls-container #quit {
|
}
|
||||||
float: left;
|
.titlebar #window-controls-container #minimize {
|
||||||
height: 100%;
|
background-color: #f7f7f7;
|
||||||
width: 33%;
|
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
text-align: center;
|
no-repeat 50% 50%;
|
||||||
color: #f7f7f7;
|
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
cursor: default;
|
no-repeat 50% 50%;
|
||||||
}
|
}
|
||||||
|
.titlebar #window-controls-container #maximize {
|
||||||
.titlebar #window-controls-container #minimize:hover {
|
background-color: #f7f7f7;
|
||||||
background-color: #99AAB5;
|
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
}
|
no-repeat 50% 50%;
|
||||||
.titlebar #window-controls-container #maximize:hover {
|
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E")
|
||||||
background-color: #99AAB5;
|
no-repeat 50% 50%;
|
||||||
}
|
}
|
||||||
.titlebar #window-controls-container #quit:hover {
|
.window-title:after {
|
||||||
background-color: #F04747;
|
content: "Cord";
|
||||||
}
|
color: var(--cord-color) !important;
|
||||||
.titlebar #window-controls-container #quit {
|
font-weight: normal;
|
||||||
background-color: #f7f7f7;
|
font-size: 14px;
|
||||||
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
font-family: Discordinated;
|
||||||
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
}
|
||||||
}
|
.window-title:before {
|
||||||
.titlebar #window-controls-container #minimize {
|
content: "ARM";
|
||||||
background-color: #f7f7f7;
|
color: var(--armcord-color);
|
||||||
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
font-weight: normal;
|
||||||
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
font-size: 14px;
|
||||||
}
|
font-family: Helvetica, sans-serif;
|
||||||
.titlebar #window-controls-container #maximize {
|
}
|
||||||
background-color: #f7f7f7;
|
.window-title {
|
||||||
-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
font-size: 0px !important;
|
||||||
mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%;
|
margin-left: initial !important;
|
||||||
}
|
transform: translate(10px, 0px);
|
||||||
.window-title:after {
|
}
|
||||||
content: "Cord";
|
.withFrame-haYltI {
|
||||||
color: var(--cord-color) !important;
|
height: 30px !important;
|
||||||
font-weight: normal;
|
}
|
||||||
font-size: 14px;
|
|
||||||
font-family: Discordinated;
|
|
||||||
}
|
|
||||||
.window-title:before {
|
|
||||||
content: "ARM";
|
|
||||||
color: var(--armcord-color);
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Helvetica, sans-serif;
|
|
||||||
}
|
|
||||||
.window-title {
|
|
||||||
font-size: 0px !important;
|
|
||||||
margin-left: initial !important;
|
|
||||||
transform: translate(10px, 0px);
|
|
||||||
}
|
|
||||||
.withFrame-haYltI {
|
|
||||||
height: 23px !important;
|
|
||||||
}
|
|
||||||
|
|
|
@ -22,23 +22,23 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
function discord(){
|
function discord() {
|
||||||
switch (window.armcord.channel) {
|
switch (window.armcord.channel) {
|
||||||
case "stable":
|
case "stable":
|
||||||
window.location.href = "https://discord.com/app";
|
window.location.href = "https://discord.com/app";
|
||||||
break;
|
break;
|
||||||
case "canary":
|
case "canary":
|
||||||
window.location.href = "https://canary.discord.com/app";
|
window.location.href = "https://canary.discord.com/app";
|
||||||
break;
|
break;
|
||||||
case "ptb":
|
case "ptb":
|
||||||
window.location.href = "https://ptb.discord.com/app";
|
window.location.href = "https://ptb.discord.com/app";
|
||||||
break;
|
break;
|
||||||
case "foss":
|
case "foss":
|
||||||
window.location.href = "https://dev.fosscord.com/app";
|
window.location.href = "https://dev.fosscord.com/app";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
window.location.href = "https://discord.com/app";
|
window.location.href = "https://discord.com/app";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function fade(element) {
|
function fade(element) {
|
||||||
var op = 1; // initial opacity
|
var op = 1; // initial opacity
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
<select name="mod" id="mod" class="dropdown-button">
|
<select name="mod" id="mod" class="dropdown-button">
|
||||||
<option value="cumcord">Cumcord</option>
|
<option value="cumcord">Cumcord</option>
|
||||||
<option value="goosemod">GooseMod</option>
|
<option value="goosemod">GooseMod</option>
|
||||||
<option value="flicker">Flicker (WIP)</option>
|
<option value="flicker">Flicker (Heavily WIP)</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<p>Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation ;)</p>
|
<p>Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation ;)</p>
|
||||||
|
|
|
@ -26,25 +26,43 @@
|
||||||
"You appear to be offline. Please connect to the internet and try again.";
|
"You appear to be offline. Please connect to the internet and try again.";
|
||||||
} else {
|
} else {
|
||||||
text.innerHTML = "Starting ArmCord...";
|
text.innerHTML = "Starting ArmCord...";
|
||||||
|
fetch("https://armcord.smartfridge.space/latest.json")
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((data) => {
|
||||||
|
if (data.version !== window.armcord.version) {
|
||||||
|
var elem = document.createElement("img");
|
||||||
|
elem.classList.add("logo");
|
||||||
|
elem.src = "https://armcord.smartfridge.space/update.webp";
|
||||||
|
document.body.prepend(elem);
|
||||||
|
document.getElementById("splashscreen-armcord").remove();
|
||||||
|
text.innerHTML =
|
||||||
|
"A new version of ArmCord is available. Please update to the latest version.";
|
||||||
|
} else {
|
||||||
|
console.log("ArmCord is up to date.")
|
||||||
|
}
|
||||||
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
window.armcord.splashEnd();
|
window.armcord.splashEnd();
|
||||||
switch (window.armcord.channel) {
|
switch (window.armcord.channel) {
|
||||||
case "stable":
|
case "stable":
|
||||||
window.location.href = "https://discord.com/app";
|
window.location.replace("https://discord.com/app");
|
||||||
break;
|
break;
|
||||||
case "canary":
|
case "canary":
|
||||||
window.location.href = "https://canary.discord.com/app";
|
window.location.replace("https://canary.discord.com/app");
|
||||||
break;
|
break;
|
||||||
case "ptb":
|
case "ptb":
|
||||||
window.location.href = "https://ptb.discord.com/app";
|
window.location.replace("https://ptb.discord.com/app");
|
||||||
break;
|
break;
|
||||||
case "foss":
|
case "foss":
|
||||||
window.location.href = "https://dev.fosscord.com/app";
|
window.location.replace("https://dev.fosscord.com/app");
|
||||||
|
break;
|
||||||
|
case undefined:
|
||||||
|
window.location.replace("https://discord.com/app");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
window.location.href = "https://discord.com/app";
|
window.location.replace("https://discord.com/app");
|
||||||
}}, 5000);
|
}
|
||||||
|
}, 5000);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
43
src/main.ts
43
src/main.ts
|
@ -7,11 +7,12 @@ import { saveSettings } from "./utils";
|
||||||
import "./extensions/mods";
|
import "./extensions/mods";
|
||||||
import "./extensions/plugin";
|
import "./extensions/plugin";
|
||||||
import "./tray";
|
import "./tray";
|
||||||
var isSetup = null;
|
|
||||||
var contentPath: string = "null";
|
var contentPath: string = "null";
|
||||||
var frame: boolean;
|
var frame: boolean;
|
||||||
|
var channel: string;
|
||||||
|
var titlebar: boolean;
|
||||||
export var mainWindow: BrowserWindow;
|
export var mainWindow: BrowserWindow;
|
||||||
|
var settings:any;
|
||||||
storage.keys(function (error, keys) {
|
storage.keys(function (error, keys) {
|
||||||
if (error) throw error;
|
if (error) throw error;
|
||||||
|
|
||||||
|
@ -24,26 +25,31 @@ storage.has("settings", function (error, hasKey) {
|
||||||
|
|
||||||
if (!hasKey) {
|
if (!hasKey) {
|
||||||
console.log("First run of the ArmCord. Starting setup.");
|
console.log("First run of the ArmCord. Starting setup.");
|
||||||
isSetup = true;
|
|
||||||
// setup(); will be done at setup
|
// setup(); will be done at setup
|
||||||
contentPath = __dirname + "/content/setup.html";
|
contentPath = __dirname + "/content/setup.html";
|
||||||
} else {
|
} else {
|
||||||
console.log("ArmCord has been run before. Skipping setup.");
|
console.log("ArmCord has been run before. Skipping setup.");
|
||||||
isSetup = false;
|
|
||||||
contentPath = __dirname + "/content/splash.html";
|
contentPath = __dirname + "/content/splash.html";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
storage.get("settings", function (error, data: any) {
|
storage.get("settings", function (error, data: any) {
|
||||||
if (error) throw error;
|
if (error) throw error;
|
||||||
console.log(data);
|
console.log(data);
|
||||||
frame = data.customTitlebar;
|
titlebar = data.customTitlebar;
|
||||||
console.log(frame);
|
channel = data.channel;
|
||||||
|
settings = data;
|
||||||
|
if ((titlebar = true)) {
|
||||||
|
frame = false;
|
||||||
|
} else {
|
||||||
|
frame = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
function createWindow() {
|
function createWindow() {
|
||||||
mainWindow = new BrowserWindow({
|
mainWindow = new BrowserWindow({
|
||||||
width: 300,
|
width: 300,
|
||||||
height: 350,
|
height: 350,
|
||||||
title: "ArmCord",
|
title: "ArmCord",
|
||||||
|
icon: "./assets/ac_icon_transparent.png",
|
||||||
frame: frame,
|
frame: frame,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
preload: path.join(__dirname, "preload/preload.js"),
|
preload: path.join(__dirname, "preload/preload.js"),
|
||||||
|
@ -79,22 +85,18 @@ function createWindow() {
|
||||||
ipcMain.on("splashEnd", (event, arg) => {
|
ipcMain.on("splashEnd", (event, arg) => {
|
||||||
mainWindow.setSize(800, 600);
|
mainWindow.setSize(800, 600);
|
||||||
});
|
});
|
||||||
ipcMain.on("channel", (event) => {
|
|
||||||
storage.get("settings", function (error, data: any) {
|
|
||||||
if (error) throw error;
|
|
||||||
event.returnValue = data.channel;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
ipcMain.on("saveSettings", (event, ...args) => {
|
ipcMain.on("saveSettings", (event, ...args) => {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
saveSettings(...args);
|
saveSettings(...args);
|
||||||
});
|
});
|
||||||
ipcMain.on('clientmod' , (event, arg) => {
|
ipcMain.on("channel", (event) => {
|
||||||
storage.get("settings", function (error, data: any) {
|
|
||||||
if (error) throw error;
|
event.returnValue = channel;
|
||||||
event.returnValue = data.mods;
|
});
|
||||||
});
|
ipcMain.on("clientmod", (event, arg) => {
|
||||||
})
|
event.returnValue = settings.mods;
|
||||||
|
});
|
||||||
|
|
||||||
ipcMain.on("setting-armcordCSP", (event) => {
|
ipcMain.on("setting-armcordCSP", (event) => {
|
||||||
storage.get("settings", function (error, data: any) {
|
storage.get("settings", function (error, data: any) {
|
||||||
if (error) throw error;
|
if (error) throw error;
|
||||||
|
@ -110,10 +112,11 @@ function createWindow() {
|
||||||
);
|
);
|
||||||
mainWindow.webContents.userAgent =
|
mainWindow.webContents.userAgent =
|
||||||
"Mozilla/5.0 (X11; Linux x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; //fake useragent
|
"Mozilla/5.0 (X11; Linux x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; //fake useragent
|
||||||
mainWindow.webContents.on("new-window", function (e, url) {
|
mainWindow.webContents.setWindowOpenHandler(({ url }) => {
|
||||||
e.preventDefault();
|
|
||||||
shell.openExternal(url);
|
shell.openExternal(url);
|
||||||
|
return { action: "deny" };
|
||||||
});
|
});
|
||||||
|
|
||||||
mainWindow.loadFile(contentPath);
|
mainWindow.loadFile(contentPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,31 @@
|
||||||
import { contextBridge, ipcRenderer } from 'electron';
|
import { contextBridge, ipcRenderer } from "electron";
|
||||||
import {getDisplayMediaSelector} from './capturer';
|
import { getDisplayMediaSelector } from "./capturer";
|
||||||
|
|
||||||
console.log(ipcRenderer.send('channel'))
|
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld("armcord", {
|
contextBridge.exposeInMainWorld("armcord", {
|
||||||
window: {
|
window: {
|
||||||
show: () => ipcRenderer.send('win-show'),
|
show: () => ipcRenderer.send("win-show"),
|
||||||
hide: () => ipcRenderer.send('win-hide'),
|
hide: () => ipcRenderer.send("win-hide"),
|
||||||
minimize: () => ipcRenderer.send('win-minimize'),
|
minimize: () => ipcRenderer.send("win-minimize"),
|
||||||
maximize: () => ipcRenderer.send('win-maximize'),
|
maximize: () => ipcRenderer.send("win-maximize"),
|
||||||
},
|
},
|
||||||
electron: process.versions.electron,
|
electron: process.versions.electron,
|
||||||
version: ipcRenderer.send('get-app-version', 'app-version'),
|
channel: ipcRenderer.sendSync('channel'),
|
||||||
|
version: ipcRenderer.sendSync("get-app-version", "app-version"),
|
||||||
getDisplayMediaSelector: getDisplayMediaSelector,
|
getDisplayMediaSelector: getDisplayMediaSelector,
|
||||||
saveSettings: (...args: any) => ipcRenderer.send('saveSettings', ...args),
|
saveSettings: (...args: any) => ipcRenderer.send("saveSettings", ...args),
|
||||||
splashEnd: () => ipcRenderer.send('splashEnd'),
|
splashEnd: () => ipcRenderer.send("splashEnd"),
|
||||||
channel: ipcRenderer.send('channel')
|
loadDiscord: () => ipcRenderer.send("loadDiscord"),
|
||||||
});
|
});
|
||||||
contextBridge.exposeInMainWorld("electron", {}) //deprecated, used for legacy purposes, will be removed in future versions
|
contextBridge.exposeInMainWorld("electron", {
|
||||||
|
//deprecated, used for legacy purposes, will be removed in future versions
|
||||||
|
window: {
|
||||||
|
show: () => ipcRenderer.send("win-show"),
|
||||||
|
hide: () => ipcRenderer.send("win-hide"),
|
||||||
|
minimize: () => ipcRenderer.send("win-minimize"),
|
||||||
|
maximize: () => ipcRenderer.send("win-maximize"),
|
||||||
|
},
|
||||||
|
electron: process.versions.electron,
|
||||||
|
warning: 'This is a deprecated API and will be removed in future versions (3.0.0 --> 3.1.0).',
|
||||||
|
version: ipcRenderer.sendSync("get-app-version", "app-version"),
|
||||||
|
});
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
import "./capturer";
|
|
||||||
import "./bridge";
|
import "./bridge";
|
||||||
|
import "./capturer";
|
||||||
|
import * as fs from "fs";
|
||||||
|
import * as path from "path";
|
||||||
import { injectTitlebar } from "./titlebar";
|
import { injectTitlebar } from "./titlebar";
|
||||||
|
import { sleep, addStyle } from "../utils";
|
||||||
import { ipcRenderer } from "electron";
|
import { ipcRenderer } from "electron";
|
||||||
declare global {
|
|
||||||
interface Window {
|
|
||||||
splash: any;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const clientMods = {
|
const clientMods = {
|
||||||
goosemod: "https://api.goosemod.com/inject.js",
|
goosemod: "https://api.goosemod.com/inject.js",
|
||||||
|
@ -29,18 +27,23 @@ 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 {
|
||||||
injectTitlebar();
|
injectTitlebar();
|
||||||
switch (ipcRenderer.sendSync("clientmod")) {
|
sleep(5000).then(() => {
|
||||||
case "goosemod":
|
const cssPath = path.join(__dirname, "../", "/content/css/discord.css");
|
||||||
injectJS(clientMods.goosemod);
|
addStyle(fs.readFileSync(cssPath, "utf8"));
|
||||||
console.log("Loading GooseMod...");
|
|
||||||
break;
|
switch (ipcRenderer.sendSync("clientmod")) {
|
||||||
case "cumcord":
|
case "goosemod":
|
||||||
injectJS(clientMods.cumcord);
|
injectJS(clientMods.goosemod);
|
||||||
console.log("Loading Cumcord...");
|
console.log("Loading GooseMod...");
|
||||||
break;
|
break;
|
||||||
case "flicker":
|
case "cumcord":
|
||||||
injectJS(clientMods.flicker);
|
injectJS(clientMods.cumcord);
|
||||||
console.log("Loading FlickerMod...");
|
console.log("Loading Cumcord...");
|
||||||
break;
|
break;
|
||||||
}
|
case "flicker":
|
||||||
|
injectJS(clientMods.flicker);
|
||||||
|
console.log("Loading FlickerMod...");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,4 +26,4 @@ export function saveSettings(customTitlebarSetting: boolean, channelSetting: str
|
||||||
storage.set('settings', { customTitlebar: customTitlebarSetting, channel: channelSetting, firstRun: 'done', armcordCSP: armcordCSPSetting, mods: modsSetting }, function(error) {
|
storage.set('settings', { customTitlebar: customTitlebarSetting, channel: channelSetting, firstRun: 'done', armcordCSP: armcordCSPSetting, mods: modsSetting }, function(error) {
|
||||||
if (error) throw error;
|
if (error) throw error;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue