// src/app/auth.service.ts import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' // This makes the service available globally in the app }) export class AuthService { constructor() { } // Sign-up method to handle user registration signUp(name: string, role: string, email: string, password: string): Promise { return new Promise((resolve) => { // Simulating storing user data in localStorage const user = { name, role, email, password }; localStorage.setItem('user', JSON.stringify(user)); // Save user data in localStorage localStorage.setItem('userRole', role); // Save only the role in localStorage (for later use) resolve('User signed up'); }); } // Sign-in method to handle user login signIn(email: string, password: string): Promise { return new Promise((resolve, reject) => { const user = JSON.parse(localStorage.getItem('user') || '{}'); // Check if email and password match the stored data if (user.email === email && user.password === password) { resolve('User signed in'); } else { reject('Invalid credentials'); } }); } // Helper methods to manage user session and check if the user is logged in isLoggedIn(): boolean { return !!localStorage.getItem('user'); } // Get the user's role from localStorage getUserRole(): string | null { return localStorage.getItem('userRole'); } // Logout function to clear the session logout(): void { localStorage.removeItem('user'); localStorage.removeItem('userRole'); } }