feat: implement authentication flow with login page, middleware protection, and session-based role management

This commit is contained in:
sazzadulalambd
2026-05-07 16:08:18 +06:00
parent 1ec8882ab7
commit 9687a71570
10 changed files with 629 additions and 77 deletions

19
src/lib/auth.ts Normal file
View File

@@ -0,0 +1,19 @@
export const isAuthenticated = (): boolean => {
return typeof window !== 'undefined' && !!sessionStorage.getItem('authToken');
};
export const getUserRole = (): string | null => {
return typeof window !== 'undefined' ? sessionStorage.getItem('userRole') : null;
};
export const getUserName = (): string | null => {
return typeof window !== 'undefined' ? sessionStorage.getItem('userName') : null;
};
export const logout = () => {
if (typeof window !== 'undefined') {
sessionStorage.removeItem('authToken');
sessionStorage.removeItem('userRole');
sessionStorage.removeItem('userName');
}
};