2022-01-15 21:21:51 +00:00
|
|
|
import * as storage from "electron-json-storage";
|
2022-01-16 18:07:00 +00:00
|
|
|
import * as fs from "fs";
|
2022-03-04 17:53:18 +00:00
|
|
|
import {app} from "electron";
|
2022-01-30 19:48:32 +00:00
|
|
|
import path from "path";
|
|
|
|
export var firstRun: boolean;
|
2022-01-16 18:07:00 +00:00
|
|
|
|
2021-12-24 21:56:49 +00:00
|
|
|
//utillity functions that are used all over the codebase or just too obscure to be put in the file used in
|
|
|
|
export function addStyle(styleString: string) {
|
2022-03-04 17:53:18 +00:00
|
|
|
const style = document.createElement("style");
|
|
|
|
style.textContent = styleString;
|
|
|
|
document.head.append(style);
|
2022-01-15 21:21:51 +00:00
|
|
|
}
|
2021-12-24 21:56:49 +00:00
|
|
|
|
|
|
|
export function addScript(scriptString: string) {
|
2022-03-04 17:53:18 +00:00
|
|
|
var script = document.createElement("script");
|
|
|
|
script.textContent = scriptString;
|
|
|
|
document.body.append(script);
|
2021-12-24 21:56:49 +00:00
|
|
|
}
|
2022-03-04 16:30:23 +00:00
|
|
|
|
|
|
|
export async function sleep(ms: number) {
|
2022-03-04 17:53:18 +00:00
|
|
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
2022-03-04 16:30:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export async function checkIfConfigIsNew() {
|
2022-03-04 17:53:18 +00:00
|
|
|
if ((await getConfigUnsafe("automaticPatches")) == undefined) {
|
|
|
|
firstRun = true;
|
|
|
|
}
|
2022-03-04 16:30:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface Settings {
|
2022-03-04 17:53:18 +00:00
|
|
|
windowStyle: string;
|
|
|
|
channel: string;
|
|
|
|
armcordCSP: boolean;
|
|
|
|
minimizeToTray: boolean;
|
|
|
|
automaticPatches: boolean;
|
|
|
|
mods: string;
|
|
|
|
blurType: string;
|
2022-03-04 16:30:23 +00:00
|
|
|
}
|
2022-01-15 21:21:51 +00:00
|
|
|
export function setup() {
|
2022-03-04 17:53:18 +00:00
|
|
|
console.log("Setting up temporary ArmCord settings.");
|
|
|
|
const defaults: Settings = {
|
|
|
|
windowStyle: "default",
|
|
|
|
channel: "stable",
|
|
|
|
armcordCSP: true,
|
|
|
|
minimizeToTray: true,
|
|
|
|
automaticPatches: false,
|
|
|
|
mods: "cumcord",
|
|
|
|
blurType: "acrylic"
|
|
|
|
};
|
|
|
|
storage.set(
|
|
|
|
"settings",
|
|
|
|
{
|
|
|
|
...defaults,
|
|
|
|
doneSetup: true
|
|
|
|
},
|
|
|
|
function (error) {
|
|
|
|
if (error) throw error;
|
|
|
|
}
|
|
|
|
);
|
2021-12-26 21:41:09 +00:00
|
|
|
}
|
2022-03-04 16:30:23 +00:00
|
|
|
|
2022-03-04 17:53:18 +00:00
|
|
|
export function saveSettings(settings: Settings) {
|
|
|
|
console.log("Setting up ArmCord settings.");
|
|
|
|
storage.set(
|
|
|
|
"settings",
|
|
|
|
{
|
|
|
|
...settings,
|
|
|
|
doneSetup: true
|
|
|
|
},
|
|
|
|
function (error) {
|
|
|
|
if (error) throw error;
|
|
|
|
}
|
|
|
|
);
|
2022-01-15 21:21:51 +00:00
|
|
|
}
|
2022-01-16 18:07:00 +00:00
|
|
|
export async function getConfigUnsafe(object: string) {
|
2022-03-04 17:53:18 +00:00
|
|
|
try {
|
|
|
|
const userDataPath = app.getPath("userData");
|
|
|
|
const storagePath = path.join(userDataPath, "/storage/");
|
|
|
|
let rawdata = fs.readFileSync(storagePath + "settings.json", "utf-8");
|
|
|
|
let returndata = JSON.parse(rawdata);
|
|
|
|
console.log(returndata[object]);
|
|
|
|
return returndata[object];
|
|
|
|
} catch (e) {
|
|
|
|
console.log("Config probably doesn't exist yet. Returning setup value.");
|
|
|
|
firstRun = true;
|
|
|
|
return "setup";
|
|
|
|
}
|
2022-01-16 18:07:00 +00:00
|
|
|
}
|
2022-01-15 21:21:51 +00:00
|
|
|
export function getVersion() {
|
2022-03-04 17:53:18 +00:00
|
|
|
//to-do better way of doing this
|
|
|
|
return "3.1.0";
|
2022-01-15 18:31:51 +00:00
|
|
|
}
|
2022-02-26 21:26:16 +00:00
|
|
|
export async function injectJS(inject: string) {
|
2022-03-04 17:53:18 +00:00
|
|
|
const js = await (await fetch(`${inject}`)).text();
|
2022-02-26 21:26:16 +00:00
|
|
|
|
2022-03-04 17:53:18 +00:00
|
|
|
const el = document.createElement("script");
|
2022-02-26 21:26:16 +00:00
|
|
|
|
2022-03-04 17:53:18 +00:00
|
|
|
el.appendChild(document.createTextNode(js));
|
2022-02-26 21:26:16 +00:00
|
|
|
|
2022-03-04 17:53:18 +00:00
|
|
|
document.body.appendChild(el);
|
|
|
|
}
|