Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
TheLazySquid
GitHub Repository: TheLazySquid/GimkitCheat
Path: blob/main/src/hud/hudVarsManager.ts
4172 views
1
import { getValue, setValue } from '../persist';
2
import type { IMenuTransform } from '../types';
3
import { defaultCss, defaultMenuTransforms } from './defaultVars';
4
5
let cssVarsString = getValue('cssVars')
6
let cssVars: Record<string, string> = {};
7
if(cssVarsString) cssVars = JSON.parse(cssVarsString);
8
9
// merge default css vars with saved vars
10
cssVars = Object.assign({}, defaultCss, cssVars);
11
12
export async function addVars() {
13
if(!document.documentElement) {
14
await new Promise(res => window.addEventListener('DOMContentLoaded', res))
15
}
16
for(let [key, value] of Object.entries(cssVars)) {
17
document.documentElement.style.setProperty(`--${key}`, value);
18
}
19
}
20
21
export function getCssVar(key: string) {
22
return cssVars[key];
23
}
24
25
export function setCssVar(key: string, value: string) {
26
cssVars[key] = value;
27
setValue('cssVars', JSON.stringify(cssVars));
28
}
29
30
export function setCssVars(vars: Record<string, string>) {
31
cssVars = Object.assign({}, cssVars, vars);
32
setValue('cssVars', JSON.stringify(cssVars));
33
}
34
35
let menuTransformsString = getValue('menuTransforms');
36
let menuTransforms: Record<string, IMenuTransform> = {};
37
if(menuTransformsString) menuTransforms = JSON.parse(menuTransformsString);
38
39
// merge default menu transforms with saved transforms
40
menuTransforms = Object.assign({}, defaultMenuTransforms, menuTransforms);
41
42
export function getMenuTransform(menuName: string) {
43
return menuTransforms[menuName];
44
}
45
46
export function setMenuTransform(menuName: string, transform: IMenuTransform) {
47
menuTransforms[menuName] = transform;
48
setValue('menuTransforms', JSON.stringify(menuTransforms));
49
}
50
51
let hotkeysString = getValue('hotkeys');
52
let hotkeys: Record<string, string[]> = {};
53
if(hotkeysString) hotkeys = JSON.parse(hotkeysString);
54
55
export function getHotkey(menuName: string) {
56
return hotkeys[menuName];
57
}
58
59
export function setHotkey(menuName: string, keys: string[]) {
60
hotkeys[menuName] = keys;
61
setValue('hotkeys', JSON.stringify(hotkeys));
62
}
63