Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,44 @@
|
||||
// Generated, do not edit. sha256:06a40e9a9b07fffcb17863260da0fc8eb04737e1ff80b20eaa9403c734f9d87d
|
||||
import { PREFERENCES } from '../shared/config.js';
|
||||
import { getPref, getSettings, setPref } from './data/preferences.js';
|
||||
|
||||
let app = null;
|
||||
const timers = new Map();
|
||||
|
||||
export async function loadAppSettings() {
|
||||
app = await getSettings();
|
||||
for (const key of Object.keys(PREFERENCES.timers)) timers.set(key, await getPref('timers', key));
|
||||
return app;
|
||||
}
|
||||
|
||||
function geladen() {
|
||||
if (app === null) {
|
||||
throw new Error('app-settings: not loaded yet. loadAppSettings() belongs to the boot, before the first render.');
|
||||
}
|
||||
return app;
|
||||
}
|
||||
|
||||
export function appSetting(key) {
|
||||
const s = geladen();
|
||||
if (!Object.hasOwn(PREFERENCES.app, key)) throw new Error(`Unknown app preference: ${key}.`);
|
||||
return s[key];
|
||||
}
|
||||
|
||||
export function baseCurrency() { return geladen().baseCurrency; }
|
||||
|
||||
export function appSettings() { return { ...geladen() }; }
|
||||
|
||||
export function timerSetting(key) {
|
||||
geladen();
|
||||
return timers.get(key);
|
||||
}
|
||||
|
||||
export async function setAppSetting(key, value) {
|
||||
await setPref('app', key, value);
|
||||
if (app) app[key] = value;
|
||||
}
|
||||
|
||||
export async function setTimerSetting(key, value) {
|
||||
await setPref('timers', key, value);
|
||||
timers.set(key, value);
|
||||
}
|
||||
Reference in new issue
Block a user