import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; export const prefsKey = "feudalPrefs"; export interface Prefs { showEmptyVOs?: boolean; }; @Injectable({ providedIn: 'root' }) export class PreferencesService { private prefs: Prefs = {}; private prefs$ = new BehaviorSubject(this.prefs); constructor() { this.load(); } public save(prefs: Prefs): void { console.log("Saved prefs:", prefs); localStorage.setItem(prefsKey, JSON.stringify(prefs)); } public load(): void { this.prefs = JSON.parse(localStorage.getItem(prefsKey)); if (this.prefs != null && this.prefs != undefined) { this.prefs$.next(this.prefs); } console.log("Loaded prefs:", this.prefs); } public connect(): Observable { return this.prefs$.asObservable(); } }