Files
MajoorWaldi-ComfyUI-Majoor-…/ui/features/viewer/ViewerState.ts
T

38 lines
1.2 KiB
TypeScript

import { createDefaultViewerState } from "./state.js";
import { SettingsStore } from "../../app/settings/SettingsStore.js";
const VIEWER_PREFS_KEY = "mjr_viewer_prefs_v1";
export { createDefaultViewerState };
export function loadViewerPrefs(): Record<string, any> {
try {
const raw = SettingsStore.get(VIEWER_PREFS_KEY);
if (!raw) return {};
const parsed = JSON.parse(raw);
return parsed && typeof parsed === "object" ? parsed : {};
} catch {
return {};
}
}
export function saveViewerPrefs(state: Record<string, any>): void {
try {
if (!state) return;
const prefs = {
analysisMode: String(state.analysisMode || "none"),
loupeEnabled: !!state.loupeEnabled,
probeEnabled: !!state.probeEnabled,
hudEnabled: !!state.hudEnabled,
genInfoOpen: !!state.genInfoOpen,
audioVisualizerMode: String(state.audioVisualizerMode || "artistic"),
abWipePercent: Number.isFinite(Number(state._abWipePercent))
? Number(state._abWipePercent)
: 50,
};
SettingsStore.set(VIEWER_PREFS_KEY, JSON.stringify(prefs));
} catch (e: any) {
console.debug?.(e);
}
}