mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
enable swtiching built-in themes on-the-fly
This commit is contained in:
@@ -9,12 +9,13 @@ const monitoredOpts = [
|
||||
|
||||
const AppyOpts = [
|
||||
{ compact_view: (val) => toggleCompact(val) },
|
||||
{ gradio_theme: (val, old) => setTheme(val, old) },
|
||||
{ font_size: (val) => setFontSize(val) },
|
||||
];
|
||||
|
||||
async function updateOpts(json_string) {
|
||||
const settings_data = JSON.parse(json_string);
|
||||
opts = settings_data.values;
|
||||
const new_opts = settings_data.values;
|
||||
opts_metadata = settings_data.metadata;
|
||||
|
||||
for (const op of monitoredOpts) {
|
||||
@@ -22,16 +23,18 @@ async function updateOpts(json_string) {
|
||||
const callback = op[key];
|
||||
if (opts[key] && opts[key] !== settings_data.values[key]) {
|
||||
log('updateOpts', key, opts[key], settings_data.values[key]);
|
||||
if (callback) callback(opts[key]);
|
||||
if (callback) callback(new_opts[key], opts[key]);
|
||||
}
|
||||
}
|
||||
|
||||
for (const op of AppyOpts) {
|
||||
const key = Object.keys(op)[0];
|
||||
const callback = op[key];
|
||||
if (callback) callback(settings_data.values[key]);
|
||||
if (callback) callback(new_opts[key], opts[key]);
|
||||
}
|
||||
|
||||
opts = new_opts;
|
||||
|
||||
Object.entries(opts_metadata).forEach(([opt, meta]) => {
|
||||
if (!opts_tabs[meta.tab_name]) opts_tabs[meta.tab_name] = {};
|
||||
if (!opts_tabs[meta.tab_name].unsaved_keys) opts_tabs[meta.tab_name].unsaved_keys = new Set();
|
||||
|
||||
Reference in New Issue
Block a user