armcord/src/utils.ts

77 lines
2.0 KiB
TypeScript
Raw Normal View History

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";
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-01-15 21:21:51 +00:00
const style = document.createElement("style");
style.textContent = styleString;
document.head.append(style);
}
2021-12-24 21:56:49 +00:00
export function addScript(scriptString: string) {
var script = document.createElement("script");
script.textContent = scriptString;
document.body.append(script);
}
2022-01-15 21:21:51 +00:00
export function setup() {
console.log("Setting up ArmCord settings.");
storage.set(
"settings",
{
customTitlebar: true,
channel: "stable",
2022-01-30 19:48:32 +00:00
doneSetup: true,
2022-01-15 21:21:51 +00:00
armcordCSP: true,
2022-01-30 19:48:32 +00:00
mods: "cumcord",
2022-01-15 21:21:51 +00:00
},
function (error) {
if (error) throw error;
}
);
}
2022-01-15 21:21:51 +00:00
export async function sleep(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
export function saveSettings(
customTitlebarSetting: boolean,
channelSetting: string,
armcordCSPSetting: boolean,
modsSetting: string
) {
console.log("Setting up ArmCord settings.");
2022-01-15 21:21:51 +00:00
storage.set(
"settings",
{
customTitlebar: customTitlebarSetting,
channel: channelSetting,
2022-01-30 19:48:32 +00:00
doneSetup: true,
2022-01-15 21:21:51 +00:00
armcordCSP: armcordCSPSetting,
mods: modsSetting,
},
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-01-30 19:48:32 +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-01-16 18:07:00 +00:00
//to-do better way of doing this
2022-01-30 19:48:32 +00:00
return "3.1.0";
}