first commit
This commit is contained in:
35
client/src/lib/auth.ts
Normal file
35
client/src/lib/auth.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
const TOKEN_KEY = 'catstagram_token';
|
||||
const USER_KEY = 'catstagram_user';
|
||||
|
||||
export interface User {
|
||||
id: number;
|
||||
username: string;
|
||||
points: number;
|
||||
created_at?: string;
|
||||
}
|
||||
|
||||
export function getToken(): string | null {
|
||||
return localStorage.getItem(TOKEN_KEY);
|
||||
}
|
||||
|
||||
export function setToken(token: string): void {
|
||||
localStorage.setItem(TOKEN_KEY, token);
|
||||
}
|
||||
|
||||
export function getUser(): User | null {
|
||||
const raw = localStorage.getItem(USER_KEY);
|
||||
return raw ? JSON.parse(raw) : null;
|
||||
}
|
||||
|
||||
export function setUser(user: User): void {
|
||||
localStorage.setItem(USER_KEY, JSON.stringify(user));
|
||||
}
|
||||
|
||||
export function clearAuth(): void {
|
||||
localStorage.removeItem(TOKEN_KEY);
|
||||
localStorage.removeItem(USER_KEY);
|
||||
}
|
||||
|
||||
export function isAuthenticated(): boolean {
|
||||
return !!getToken();
|
||||
}
|
||||
Reference in New Issue
Block a user