import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { IProjectSearchResponse, ITransactionSearchResponse } from '../../interfaces/dashboard.interface'; @Injectable({ providedIn: 'root' }) export class ProjectStateService { private projectState = new BehaviorSubject(null); private transactionState = new BehaviorSubject(null); getProjectState(): Observable { return this.projectState.asObservable(); } setProjectState(project: IProjectSearchResponse): void { this.projectState.next(project); } getTransactionState(): Observable { return this.transactionState.asObservable(); } setTransactionState(transaction: ITransactionSearchResponse): void { this.transactionState.next(transaction); } clearState(): void { this.projectState.next(null); this.transactionState.next(null); } }