client-app/src/app/core/services/user-preference.service.ts
2025-07-02 22:40:35 -03:00

30 lines
978 B
TypeScript

import { inject, Injectable } from '@angular/core';
import { DEFAULT_USER_PREFERENCES, UserPreferences } from '../models/user-preference';
import { CookieHelperService } from './common/cookie.service';
@Injectable({
providedIn: 'root'
})
export class UserPreferencesService {
private readonly COOKIE_KEY = 'user_preferences';
private cookieService = inject(CookieHelperService);
getPreferences(): UserPreferences {
const preferences = this.cookieService.get<UserPreferences>(this.COOKIE_KEY);
return preferences || { ...DEFAULT_USER_PREFERENCES };
}
savePreferences(preferences: UserPreferences): void {
this.cookieService.set(this.COOKIE_KEY, preferences);
}
getUserPrefenceByKey(keyName: string): any {
const preferences = this.getPreferences();
return preferences[keyName as keyof typeof preferences];
}
resetToDefaults(): void {
this.cookieService.remove(this.COOKIE_KEY);
}
}