import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; export interface User { id: string; name: string; department: string; medical_allowance: number; } @Injectable({ providedIn: 'root' }) export class SessionService { private currentUserSubject = new BehaviorSubject(null); currentUser$: Observable = this.currentUserSubject.asObservable(); constructor() { const savedUser = localStorage.getItem('currentUser'); if (savedUser) { this.currentUserSubject.next(JSON.parse(savedUser)); } } setCurrentUser(user: User): void { localStorage.setItem('currentUser', JSON.stringify(user)); this.currentUserSubject.next(user); } getCurrentUser(): User | null { return this.currentUserSubject.value; } logout(): void { localStorage.removeItem('currentUser'); this.currentUserSubject.next(null); } }