More webapp changes+fixes
This commit is contained in:
32
webapp/src/app/core/services/settings.service.ts
Normal file
32
webapp/src/app/core/services/settings.service.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user