Files
2024-08-03 19:42:40 +02:00

41 lines
1.1 KiB
JavaScript

import { SettingUtils } from './sn0w.js';
import { app } from '../../../scripts/app.js';
import { api } from '../../../scripts/api.js';
async function updateLoggingLevel() {
await api.fetchApi(`${SettingUtils.API_PREFIX}/update_logging_level`, {
method: 'GET',
});
SettingUtils.logSn0w(`Logging levels selected:\n${await SettingUtils.getSetting("sn0w.LoggingLevel")}`, "debug")
}
const debouncedUpdateLoggingLevel = SettingUtils.debounce(updateLoggingLevel, 1000);
const id = 'sn0w.LoggingLevel';
const settingDefinition = {
id,
name: '[Sn0w] Logging Level',
type: SettingUtils.createCheckboxSetting,
defaultValue: ['WARNING', 'INFORMATIONAL'],
onChange: debouncedUpdateLoggingLevel,
attrs: {
options: [
{ label: 'Warnings', value: 'WARNING' },
{ label: 'Informational', value: 'INFORMATIONAL' },
{ label: 'Debug', value: 'DEBUG' },
],
tooltip: '',
},
};
let setting;
const extension = {
name: id,
init() {
setting = app.ui.settings.addSetting(settingDefinition);
},
};
app.registerExtension(extension);