diff --git a/.github/workflows/build.yml b/.github/workflows/stable.yml similarity index 99% rename from .github/workflows/build.yml rename to .github/workflows/stable.yml index c3d1aed..6eead7e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/stable.yml @@ -138,7 +138,7 @@ jobs: - uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: delete_release: true - tag_name: v3.0.6 + tag_name: v3.0.7 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release @@ -193,4 +193,4 @@ jobs: }); } env: - releaseTag: ${{ steps.vars.outputs.releaseTag }} + releaseTag: ${{ steps.vars.outputs.releaseTag }} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 82f010b..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "yaml.schemas": { - "https://json.schemastore.org/github-workflow.json": "file:///home/smartfridge/Documents/ArmCord/.github/workflows/build.yml" - } -} \ No newline at end of file diff --git a/assets/lang/en_US.json b/assets/lang/en-US.json similarity index 80% rename from assets/lang/en_US.json rename to assets/lang/en-US.json index 03e21bc..86d1b3c 100644 --- a/assets/lang/en_US.json +++ b/assets/lang/en-US.json @@ -12,17 +12,19 @@ "no": "No", "next": "Next", "setup_question4": "Select a client mod you want to install:", - "setup_question4_clientmodnotice": "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.", - "settings-theme": "ArmCord Theme:", - "settings-theme-glasstron": "Glasstron (experimental)", - "settings-theme-tabs": "Tabs (experimental)", + "setup_question4_clientmodnotice": "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 Discord.", + "settings-theme": "ArmCord theme:", "settings-theme-default": "Default", "settings-theme-native": "Native", "settings-tray": "Minimize to tray", "settings-patches": "Automatic Patches", "settings-channel": "Discord channel:", - "settings-invitewebsocket": "discord.gg support", + "settings-invitewebsocket": "Invite Websocket", "settings-mod": "Client mod:", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None", "settings-save": "Save settings", "settings-updater": "Check for updates" } diff --git a/assets/lang/es-419.json b/assets/lang/es-419.json new file mode 100644 index 0000000..194282e --- /dev/null +++ b/assets/lang/es-419.json @@ -0,0 +1,30 @@ +{ + "loading_screen_start": "Cargando ArmCord…", + "loading_screen_offline": "Parece que no estás conectado a la Internet. Por favor conectate e intentalo de nuevo.", + "loading_screen_update": "Una nueva version de ArmCord está disponible. Por favor actualiza a la última version.", + "setup_question1": "Escoge que tipo de instalación quieres hacer:", + "yes": "Sí", + "setup_question2": "Escoge tu version de Discord:", + "setup_question3": "Dejar que ArmCord se encargue de la instalacion de modificaciones?", + "setup_question1_answer1": "Instalación rápida", + "setup_question1_answer2": "Instalación completa", + "setup_offline": "Parece que no estás conectado a la Internet. Por favor conectate a la Internet e reinicia el instalador de ArmCord.", + "no": "No", + "next": "Siguiente", + "setup_question4": "Selecciona una modificación que te gustaría instalar:", + "setup_question4_clientmodnotice": "Por qué no instalar todas las modificaciones? Tener varias modificaciones a la vez puede causar problemas. Si realmente quieres hacerlo, puedes unirte a nuestro Discord.", + "settings-theme": "Tema de ArmCord:", + "settings-theme-default": "Por Defecto", + "settings-theme-native": "Nativa", + "settings-tray": "Minimizar a la barra de tareas", + "settings-patches": "Automatizar Parches", + "settings-channel": "Version de Discord:", + "settings-invitewebsocket": "Websocket de Invitación", + "settings-mod": "Modificación:", + "settings-prfmMode": "Modo de Rendimiento:", + "settings-prfmMode-performance": "Rendimiento", + "settings-prfmMode-battery": "Batería", + "settings-none": "Ninguna", + "settings-save": "Guardar ajustes", + "settings-updater": "Buscar una actualización" +} diff --git a/assets/lang/fr-FR.json b/assets/lang/fr-FR.json index 28dbdbd..774fd98 100644 --- a/assets/lang/fr-FR.json +++ b/assets/lang/fr-FR.json @@ -1,6 +1,6 @@ { "loading_screen_start": "Démarrage d'ArmCord…", - "loading_screen_update": "Une nouvelle version de ArmCord est disponible. Veuillez mettre à jour la dernière version.", + "loading_screen_update": "Une nouvelle version d'ArmCord est disponible. Veuillez mettre à jour vers la dernière version.", "setup_question1": "Sélectionnez le type de configuration que vous souhaitez effectuer :", "setup_question1_answer1": "Configuration express", "setup_question1_answer2": "Configuration complète", @@ -10,19 +10,21 @@ "no": "Non", "next": "Suivant", "setup_question4": "Sélectionnez le mod client que vous souhaitez installer :", - "setup_question4_clientmodnotice": "Pourquoi pas tous ? Le fait d'avoir plusieurs mods clients en même temps peut causer des problèmes. Si vous voulez vraiment le faire, consultez notre documentation.", + "setup_question4_clientmodnotice": "Pourquoi pas tous ? Le fait d'avoir plusieurs clients mods en même temps peut causer des problèmes. Si vous voulez vraiment le faire, consultez notre Discord.", "loading_screen_offline": "Vous semblez être hors ligne. Veuillez vous connecter à internet et réessayer.", - "setup_offline": "Vous semblez être hors ligne. Veuillez vous connecter à internet et redémarrer ArmCord Setup.", + "setup_offline": "Vous semblez être hors ligne. Veuillez vous connecter à internet et redémarrer l'installateur ArmCord.", "settings-tray": "Minimize to tray", "settings-channel": "Discord channel:", "settings-mod": "Client mod:", "settings-save": "Save settings", "settings-updater": "Check for updates", - "settings-theme": "ArmCord Theme:", - "settings-theme-tabs": "Tabs (experimental)", + "settings-theme": "Thème ArmCord :", "settings-theme-default": "Default", - "settings-theme-glasstron": "Glasstron (experimental)", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "Lien discord.gg", + "settings-prfmMode": "Mode performance :", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Batterie", + "settings-none": "Aucun" } diff --git a/assets/lang/id-ID.json b/assets/lang/id-ID.json new file mode 100644 index 0000000..f0535d3 --- /dev/null +++ b/assets/lang/id-ID.json @@ -0,0 +1,30 @@ +{ + "loading_screen_start": "Starting ArmCord…", + "loading_screen_offline": "You appear to be offline. Please connect to the Internet and try again.", + "loading_screen_update": "A new version of ArmCord is available. Please update to the latest version.", + "setup_question1": "Select what kind of setup you want to perform:", + "setup_question1_answer1": "Express setup", + "setup_question1_answer2": "Full setup", + "setup_question2": "Choose your Discord channel/instance:", + "setup_offline": "You appear to be offline. Please connect to the Internet and restart the ArmCord setup.", + "setup_question3": "Should ArmCord handle client mods installation?", + "yes": "Yes", + "no": "No", + "next": "Next", + "setup_question4": "Select a client mod you want to install:", + "setup_question4_clientmodnotice": "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.", + "settings-theme": "ArmCord Theme:", + "settings-theme-default": "Default", + "settings-theme-native": "Native", + "settings-tray": "Minimize to tray", + "settings-patches": "Automatic Patches", + "settings-channel": "Discord channel:", + "settings-invitewebsocket": "discord.gg support", + "settings-mod": "Client mod:", + "settings-save": "Save settings", + "settings-updater": "Check for updates", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" +} diff --git a/assets/lang/it-IT.json b/assets/lang/it-IT.json index 144d221..f0c9675 100644 --- a/assets/lang/it-IT.json +++ b/assets/lang/it-IT.json @@ -19,10 +19,12 @@ "settings-updater": "Controlla gli aggiornamenti", "settings-mod": "Client mod:", "settings-theme": "ArmCord Theme:", - "settings-theme-glasstron": "Glasstron (experimental)", - "settings-theme-tabs": "Tabs (experimental)", "settings-theme-default": "Default", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } diff --git a/assets/lang/nb-NO.json b/assets/lang/nb-NO.json index 41670f2..00bdd19 100644 --- a/assets/lang/nb-NO.json +++ b/assets/lang/nb-NO.json @@ -19,10 +19,12 @@ "settings-save": "Save settings", "settings-updater": "Check for updates", "settings-theme": "ArmCord Theme:", - "settings-theme-glasstron": "Glasstron (experimental)", - "settings-theme-tabs": "Tabs (experimental)", "settings-theme-default": "Default", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } diff --git a/assets/lang/nl-NL.json b/assets/lang/nl-NL.json index 485d28f..ebac8bc 100644 --- a/assets/lang/nl-NL.json +++ b/assets/lang/nl-NL.json @@ -20,9 +20,11 @@ "settings-updater": "Check voor updates", "settings-patches": "Automatische Patches", "settings-theme": "ArmCord Thema:", - "settings-theme-glasstron": "Glasstron (experimenteel)", - "settings-theme-tabs": "Tabs (experimenteel)", "settings-theme-default": "Standaard", "settings-theme-native": "Native", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-none": "None", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery" } diff --git a/assets/lang/pl-PL.json b/assets/lang/pl-PL.json index 979e56b..05f840e 100644 --- a/assets/lang/pl-PL.json +++ b/assets/lang/pl-PL.json @@ -7,7 +7,7 @@ "no": "Nie", "next": "Dalej", "setup_question4": "Wybierz modyfikację klienta którą chcesz zainstalować:", - "setup_question4_clientmodnotice": "Dlaczego nie wszystkie na raz? Posiadanie wielu modyfikacji może spowodować wiele błędów. Jeśli jednak nalegasz możesz sprawdzić naszą dokumentację.", + "setup_question4_clientmodnotice": "Dlaczego nie wszystkie na raz? Posiadanie wielu modyfikacji może spowodować wiele błędów. Jeśli jednak nalegasz możesz sprawdzić naszego Discorda.", "loading_screen_start": "Ładowanie ArmCord…", "loading_screen_offline": "Wydaje nam się, że nie jesteś połączony z Internetem. Połącz się z internetem i spróbuj ponownie.", "setup_question1_answer1": "Ekspresowa konfiguracja", @@ -19,10 +19,12 @@ "settings-save": "Zapisz ustawienia", "settings-mod": "Modyfikacja klienta:", "settings-theme": "Motyw ArmCord:", - "settings-theme-glasstron": "Glasstron (eksperymentalne)", - "settings-theme-tabs": "Karty (eksperymentalne)", "settings-theme-default": "Domyślny", "settings-theme-native": "Natywny", "settings-patches": "Automatyczne łatki", - "settings-invitewebsocket": "Wsparcie linków discord.gg" + "settings-invitewebsocket": "Websocket dla zaproszeń", + "settings-prfmMode": "Tryb wydajności:", + "settings-prfmMode-performance": "Wydajny", + "settings-prfmMode-battery": "Bateria", + "settings-none": "Nic/Brak" } diff --git a/assets/lang/th-TH.json b/assets/lang/th-TH.json new file mode 100644 index 0000000..79db9f5 --- /dev/null +++ b/assets/lang/th-TH.json @@ -0,0 +1,30 @@ +{ + "loading_screen_start": "เริ่มต้น ArmCord…", + "loading_screen_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง", + "loading_screen_update": "ArmCord เวอร์ชันใหม่พร้อมใช้งานแล้ว โปรดอัปเดตเป็นเวอร์ชันล่าสุด", + "setup_question1": "เลือกประเภทการติดตั้งที่คุณต้องการ:", + "setup_question1_answer1": "ติดตั้งแบบรวดเร็ว", + "setup_question1_answer2": "การตั้งค่าเต็มรูปแบบ", + "setup_offline": "ดูเหมือนว่าคุณออฟไลน์อยู่ โปรดเชื่อมต่ออินเทอร์เน็ตและลองใหม่อีกครั้ง", + "setup_question2": "เลือกช่อง/อินสแตนส์ Discord:", + "setup_question3": "ต้องการให้ ArmCord จัดการการติดตั้งมอดของไคลเอนต์หรือไม่?", + "yes": "ใช่", + "no": "ไม่", + "next": "ถัดไป", + "setup_question4": "เลือกไคลเอนต์มอดที่ต้องการติดตั้ง:", + "settings-prfmMode-battery": "แบตเตอรี่", + "setup_question4_clientmodnotice": "ทำไมไม่ใช้ทั้งหมดล่ะ? การมีไคลเอนต์มอดหลายตัวพร้อมกันอาจทำให้เกิดปัญหาได้ หากต้องการที่จะทำจริงๆ ให้ไปดูใน Discord ของเรา", + "settings-theme": "ธีม ArmCord:", + "settings-theme-default": "ค่าเริ่มต้น", + "settings-theme-native": "ดั้งเดิม", + "settings-tray": "ย่อลงไปในถาดงาน", + "settings-patches": "แพทช์อัตโนมัติ", + "settings-channel": "ช่อง Discord:", + "settings-invitewebsocket": "ใช้ Websocket สำหรับการเชิญ", + "settings-prfmMode": "โหมดประสิทธิภาพ:", + "settings-prfmMode-performance": "ประสิทธิภาพ", + "settings-mod": "ไคลแอนต์มอด:", + "settings-none": "ไม่มี", + "settings-save": "บันทึกการตั้งค่า", + "settings-updater": "ตรวจหาการอัปเดต" +} diff --git a/assets/macos.png b/assets/macos.png new file mode 100644 index 0000000..f43ff68 Binary files /dev/null and b/assets/macos.png differ diff --git a/package.json b/package.json index b48f782..bfd886a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ArmCord", - "version": "3.0.6", + "version": "3.0.7", "description": "ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight.", "main": "ts-out/main.js", "scripts": { @@ -23,19 +23,20 @@ }, "homepage": "https://github.com/armcord/armcord#readme", "devDependencies": { - "@types/node": "^17.0.33", + "@types/node": "^17.0.42", "@types/ws": "^8.5.3", "copyfiles": "^2.4.1", - "electron": "^18.2.4", + "electron": "^19.0.4", "electron-builder": "^23.0.3", "husky": "^8.0.1", - "prettier": "^2.5.1", - "typescript": "^4.6.3" + "prettier": "^2.7.0", + "typescript": "^4.7.3" }, "dependencies": { "electron-context-menu": "github:ArmCord/electron-context-menu", + "os-locale": "^6.0.2", "v8-compile-cache": "^2.3.0", - "ws": "^8.6.0" + "ws": "^8.8.0" }, "build": { "appId": "com.smartfridge.armcord", diff --git a/src/content/css/tabs.css b/src/content/css/tabs.css deleted file mode 100644 index d8f10cb..0000000 --- a/src/content/css/tabs.css +++ /dev/null @@ -1,46 +0,0 @@ -.tabs { - display: block; - top: 0; - left: 0; - right: 0; - flex-shrink: 0; - overflow: hidden; - zoom: 1; - box-sizing: border-box; - width: 100%; - clear: both; - height: 30px; - line-height: 30px; - background-color: #202225; - -webkit-app-region: drag; - width: 100%; - user-select: none; - -webkit-user-select: none; - position: fixed; - z-index: 99999; -} - -.tabs #tabs-controls-container { - float: left; - width: 150px; - height: 100%; - line-height: 30px; - background-color: #202225; - -webkit-app-region: no-drag; -} -.tabs-buttons { - color: white; - background-color: inherit; - float: left; - border: none; - outline: none; - cursor: pointer; - transition: 0.3s; - font-size: 20px; -} -.tabs-buttons:hover { - background-color: #4e515a; -} -.withFrame-haYltI { - height: 30px !important; -} diff --git a/src/content/setup.html b/src/content/setup.html index 6ed4c94..cdf790a 100644 --- a/src/content/setup.html +++ b/src/content/setup.html @@ -12,12 +12,14 @@
- + diff --git a/src/ipc.ts b/src/ipc.ts index c3e799d..6d5af02 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -1,15 +1,18 @@ //ipc stuff import {app, ipcMain, shell, desktopCapturer} from "electron"; -import {createTabsGuest, mainWindow} from "./window"; -import {setConfigBulk, getVersion, getConfig} from "./utils"; -import {customTitlebar, tabs} from "./main"; +import {mainWindow} from "./window"; +import {setConfigBulk, getVersion, getConfig, setLang, getLang, getWindowState} from "./utils"; +import {customTitlebar} from "./main"; import {createSettingsWindow} from "./settings/main"; export function registerIpc() { ipcMain.on("get-app-path", (event, arg) => { event.reply("app-path", app.getAppPath()); }); - ipcMain.on("openTab", (event, number: number) => { - createTabsGuest(number); + ipcMain.on("setLang", (event, lang: string) => { + setLang(lang); + }); + ipcMain.handle("getLang", (event, toGet: string) => { + return getLang(toGet); }); ipcMain.on("open-external-link", (event, href: string) => { shell.openExternal(href); @@ -38,8 +41,22 @@ export function registerIpc() { ipcMain.on("get-app-version", (event) => { event.returnValue = getVersion(); }); - ipcMain.on("splashEnd", (event, arg) => { - mainWindow.setSize(800, 600); + ipcMain.on("splashEnd", async (event, arg) => { + try { + var width = await getWindowState("width") ?? 800; + var height= await getWindowState("height") ?? 600; + var isMaximized = await getWindowState("isMaximized") ?? false; + } catch (e) { + console.log("No window state file found. Fallbacking to default values.") + mainWindow.setSize(800, 600); + } + if (isMaximized) { + mainWindow.setSize(800, 600); //just so the whole thing doesn't cover whole screen + mainWindow.maximize() + } else { + mainWindow.setSize(width, height); + console.log("Not maximized.") + } }); ipcMain.on("restart", (event, arg) => { app.relaunch(); @@ -60,9 +77,6 @@ export function registerIpc() { ipcMain.on("titlebar", (event, arg) => { event.returnValue = customTitlebar; }); - ipcMain.on("tabs", (event, arg) => { - event.returnValue = tabs; - }); ipcMain.on("shouldPatch", async (event, arg) => { event.returnValue = await getConfig("automaticPatches"); }); diff --git a/src/main.ts b/src/main.ts index ec61b77..206755c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,16 +1,15 @@ // Modules to control application life and create native browser window -import {app, BrowserWindow, session, dialog} from "electron"; +import {app, BrowserWindow, session} from "electron"; import "v8-compile-cache"; -import {getConfig, setup, checkIfConfigExists} from "./utils"; +import {getConfig, checkIfConfigExists, injectElectronFlags} from "./utils"; import "./extensions/mods"; import "./extensions/plugin"; import "./tray"; -import {createCustomWindow, createNativeWindow, createTabsHost} from "./window"; +import {createCustomWindow, createNativeWindow} from "./window"; import "./shortcuts"; export var settings: any; export var customTitlebar: boolean; -export var tabs: boolean; if (process.platform == "linux") { if (process.env.$XDG_SESSION_TYPE == "wayland") { @@ -24,7 +23,7 @@ if (process.platform == "linux") { } } checkIfConfigExists(); - +injectElectronFlags(); app.whenReady().then(async () => { switch (await getConfig("windowStyle")) { case "default": @@ -37,17 +36,6 @@ app.whenReady().then(async () => { case "discord": createNativeWindow(); break; - case "glasstron": - dialog.showErrorBox( - "Glasstron is unsupported.", - "This build doesn't include Glasstron functionality, please edit windowStyle value in your settings.json to something different (default for example)" - ); - app.quit(); - break; - case "tabs": - createTabsHost(); - tabs = true; - break; default: createCustomWindow(); customTitlebar = true; @@ -72,16 +60,8 @@ app.whenReady().then(async () => { case "native": createNativeWindow(); break; - case "glasstron": - dialog.showErrorBox( - "Glasstron is unsupported.", - "This build doesn't include Glasstron functionality, please edit windowStyle value in your settings.json to something different (default for example)" - ); - app.quit(); - break; - case "tabs": - createTabsHost(); - tabs = true; + case "discord": + createNativeWindow(); break; default: createCustomWindow(); diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts index 23fe888..a4ea57d 100644 --- a/src/preload/bridge.ts +++ b/src/preload/bridge.ts @@ -15,7 +15,11 @@ contextBridge.exposeInMainWorld("armcord", { }, electron: process.versions.electron, channel: ipcRenderer.sendSync("channel"), - openTab: (number: number) => ipcRenderer.sendSync("openTab", number), + setLang: (lang: string) => ipcRenderer.send("setLang", lang), + getLang: (toGet: string) => + ipcRenderer.invoke("getLang", toGet).then((result) => { + return result; + }), version: ipcRenderer.sendSync("get-app-version", "app-version"), getDisplayMediaSelector: getDisplayMediaSelector, openSettingsWindow: () => ipcRenderer.send("openSettingsWindow") diff --git a/src/preload/preload.ts b/src/preload/preload.ts index fcde5a0..c476172 100644 --- a/src/preload/preload.ts +++ b/src/preload/preload.ts @@ -4,11 +4,18 @@ import "./patch"; import * as fs from "fs"; import * as path from "path"; import {injectTitlebar} from "./titlebar"; -import {sleep, addStyle, injectJS} from "../utils"; +import {sleep, addStyle, injectJS, addScript} from "../utils"; import {ipcRenderer} from "electron"; -import {injectTabs} from "./tabs"; var version = ipcRenderer.sendSync("get-app-version", "app-version"); - +async function updateLang() { + if (window.location.href.indexOf("setup.html") > -1) { + console.log("Setup, skipping lang update"); + } else { + addScript(`function getDiscordLang() { + {const _w=webpackChunkdiscord_app;let lang;_w.push([[Symbol()],{},e=>{for(const k in e.c){const m=e.c[k].exports;const mDef=m?.default&&m.__esModule?m.default:m;if(mDef?._chosenLocale&&!lang)lang=mDef}}]);_w.pop();window.armcord.setLang(lang._chosenLocale);return lang._chosenLocale;void 0}} + getDiscordLang();`); + } +} declare global { interface Window { armcord: any; @@ -21,16 +28,16 @@ const clientMods = { }; console.log("ArmCord"); +ipcRenderer.on("themeLoader", (event, message) => { + addStyle(message); +}); if (window.location.href.indexOf("splash.html") > -1) { console.log("Skipping titlebar injection and client mod injection."); } else { if (ipcRenderer.sendSync("titlebar")) { injectTitlebar(); } - if (ipcRenderer.sendSync("tabs")) { - injectTabs(); - } - sleep(5000).then(() => { + sleep(5000).then(async () => { const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); addStyle(fs.readFileSync(cssPath, "utf8")); @@ -38,14 +45,17 @@ if (window.location.href.indexOf("splash.html") > -1) { case "goosemod": injectJS(clientMods.goosemod); console.log("Loading GooseMod..."); + await updateLang(); break; case "cumcord": injectJS(clientMods.cumcord); console.log("Loading Cumcord..."); + await updateLang(); break; case "flicker": injectJS(clientMods.flicker); console.log("Loading FlickerMod..."); + await updateLang(); break; } }); diff --git a/src/preload/tabs.ts b/src/preload/tabs.ts deleted file mode 100644 index 960dc16..0000000 --- a/src/preload/tabs.ts +++ /dev/null @@ -1,26 +0,0 @@ -import {addStyle} from "../utils"; -import * as fs from "fs"; -import * as path from "path"; -export function injectTabs() { - document.addEventListener("DOMContentLoaded", function (event) { - var elem = document.createElement("div"); - elem.innerHTML = ``; - elem.classList.add("withFrame-haYltI"); - if (document.getElementById("app-mount") == null) { - document.body.appendChild(elem); - } else { - document.getElementById("app-mount")!.prepend(elem); - } - const cssPath = path.join(__dirname, "../", "/content/css/tabs.css"); - addStyle(fs.readFileSync(cssPath, "utf8")); - }); -} diff --git a/src/preload/titlebar.ts b/src/preload/titlebar.ts index 3c58fc1..5c55ec5 100644 --- a/src/preload/titlebar.ts +++ b/src/preload/titlebar.ts @@ -38,10 +38,8 @@ export function injectTitlebar() { maximize!.addEventListener("click", () => { if (ipcRenderer.sendSync("win-isMaximized") == true) { ipcRenderer.send("win-unmaximize"); - document.body.removeAttribute("isMaximized"); } else { ipcRenderer.send("win-maximize"); - document.body.setAttribute("isMaximized", ""); } }); @@ -54,6 +52,3 @@ export function injectTitlebar() { }); }); } -export function removeTitlebar() { - document.querySelector("#titlebar")!.remove(); -} diff --git a/src/settings/main.ts b/src/settings/main.ts index 53a46d4..e25b865 100644 --- a/src/settings/main.ts +++ b/src/settings/main.ts @@ -1,5 +1,5 @@ import {BrowserWindow, shell, ipcMain} from "electron"; -import {getConfig, setConfigBulk, Settings} from "../utils"; +import {getConfig, setConfigBulk, Settings, getLang} from "../utils"; import path from "path"; var settingsWindow: BrowserWindow; var instance: number = 0; diff --git a/src/settings/preload.ts b/src/settings/preload.ts index 0c90a53..38c986d 100644 --- a/src/settings/preload.ts +++ b/src/settings/preload.ts @@ -2,6 +2,10 @@ import {contextBridge, ipcRenderer} from "electron"; console.log("ArmCord Settings"); contextBridge.exposeInMainWorld("settings", { save: (...args: any) => ipcRenderer.send("saveSettings", ...args), + getLang: (toGet: string) => + ipcRenderer.invoke("getLang", toGet).then((result) => { + return result; + }), get: (toGet: string) => ipcRenderer.invoke("getSetting", toGet).then((result) => { return result; diff --git a/src/settings/settings.html b/src/settings/settings.html index 7d723c5..4b0b806 100644 --- a/src/settings/settings.html +++ b/src/settings/settings.html @@ -14,7 +14,7 @@ -

ArmCord theme:

+

ArmCord theme:


@@ -24,19 +24,19 @@

- +

- +

- +
@@ -47,7 +47,7 @@ -

Discord channel:

+

Discord channel:

-

Client mod:

+

Client mod:

- - +
+ +

Performance mode:

+
+ - +