ente_nazionale_frontend/lib/auth.ts
Linas cb0c8dc140 Add missing lib/ (API client, auth, models) and logo asset
lib/ was never committed despite every page importing from it - a
fresh clone couldn't build. public/logo-encap.jpg was likewise
missing even though app/login/page.tsx already references it.
Also gitignore .idea/, which shouldn't be tracked.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017hQcuUQFue2bFvrYw2UQhK
2026-08-24 17:20:22 +03:00

31 lines
808 B
TypeScript

"use client";
import { useEffect, useState } from "react";
import { logout as clearAuthToken } from "./api";
import type { User } from "./models";
export type StoredUser = Pick<User, "email" | "role">;
export function useStoredUser() {
const [user, setUser] = useState<StoredUser | null>(null);
const [ready, setReady] = useState(false);
useEffect(() => {
const email = localStorage.getItem("user_email");
const role = localStorage.getItem("user_role") as StoredUser["role"] | null;
if (email && role) {
setUser({ email, role });
}
setReady(true);
}, []);
return { user, ready };
}
export function clearStoredUser() {
clearAuthToken();
localStorage.removeItem("user_role");
localStorage.removeItem("user_email");
localStorage.removeItem("association_id");
}