33 lines
694 B
TypeScript
33 lines
694 B
TypeScript
import { Injectable, signal } from '@angular/core';
|
|
|
|
const EXPERT_MODE_KEY = 'scn_expert_mode';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class SettingsService {
|
|
private _expertMode = signal(false);
|
|
|
|
expertMode = this._expertMode.asReadonly();
|
|
|
|
constructor() {
|
|
this.loadFromStorage();
|
|
}
|
|
|
|
private loadFromStorage(): void {
|
|
const stored = localStorage.getItem(EXPERT_MODE_KEY);
|
|
if (stored === 'true') {
|
|
this._expertMode.set(true);
|
|
}
|
|
}
|
|
|
|
setExpertMode(enabled: boolean): void {
|
|
localStorage.setItem(EXPERT_MODE_KEY, String(enabled));
|
|
this._expertMode.set(enabled);
|
|
}
|
|
|
|
toggleExpertMode(): void {
|
|
this.setExpertMode(!this._expertMode());
|
|
}
|
|
}
|