feat: login and register, style is not ready

This commit is contained in:
Lala, Shahd
2026-05-03 20:44:01 +00:00
parent 3b757d7ff7
commit aa70083aed
27 changed files with 1083 additions and 308 deletions
+34
View File
@@ -0,0 +1,34 @@
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable({ providedIn: 'root' })
export class ThemeService {
private readonly darkModeSubject = new BehaviorSubject<boolean>(false);
readonly darkMode$ = this.darkModeSubject.asObservable();
initTheme(): void {
const savedTheme = localStorage.getItem('theme');
this.applyDarkMode(savedTheme === 'dark');
}
toggleTheme(): void {
this.applyDarkMode(!this.darkModeSubject.value);
}
setDarkMode(isDarkMode: boolean): void {
this.applyDarkMode(isDarkMode);
}
private applyDarkMode(isDarkMode: boolean): void {
if (isDarkMode) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
} else {
document.documentElement.removeAttribute('data-theme');
localStorage.removeItem('theme');
}
this.darkModeSubject.next(isDarkMode);
}
}