veza/apps/web/src/providers/index.ts
senke efb5b19276 feat(auth): add centralized AuthProvider component
Created AuthProvider React component to centralize auth initialization
logic and eliminate race conditions.

Features:
- Single source of truth for auth initialization
- Checks for tokens on mount (TokenStorage.hasTokens())
- Calls refreshUser() if tokens exist
- Shows loading screen while auth initializing
- Always sets ready state (prevents stuck loading)
- Comprehensive error handling and logging
- Optional custom loading component prop

Benefits:
- Eliminates race condition: router no longer renders before auth ready
- Centralizes auth logic (was scattered in App.tsx, interceptors)
- Reusable across different app entry points
- Clean separation of concerns

Usage:

Impact: Reduces auth-related race conditions, improves code maintainability.

Fixes: P3.1 from audit AUDIT_TEMP_29_01_2026.md
2026-01-29 23:42:26 +01:00

7 lines
165 B
TypeScript

/**
* Providers barrel export
*
* Centralized exports for all React context providers
*/
export { AuthProvider, useAuthInitialization } from './AuthProvider';