Files
ui/src/auth/authContext.ts
Первов Артем 2c4aef1185 ui creation
2026-06-17 09:46:52 +03:00

21 lines
608 B
TypeScript

import { createContext, useContext } from 'react';
import type { AuthState } from './keycloak';
export type AuthContextValue = AuthState & {
login: () => Promise<void>;
logout: () => Promise<void>;
};
export const AuthContext = createContext<AuthContextValue | null>(null);
/** Дает компонентам доступ к данным пользователя и действиям login/logout. */
export function useAuth(): AuthContextValue {
const context = useContext(AuthContext);
if (!context) {
throw new Error('useAuth must be used within AuthProvider');
}
return context;
}