Phase 1:
- S0: Fix open redirect (safeNavigate), delete AuthContext/legacy auth, encrypt API keys, gitignore .env files
- S1: Split client.ts god object into 5 modules, unify toast system, delete unused Sidebar
- S2: Add glass button variant, migrate 32 z-index to SUMI tokens, fix card dark mode
- S3: Skip nav link, aria-hidden on icons, focus-visible ring fixes, alt attrs, aria-live regions
- S4: React.memo on list items, fix key={index}, loading=lazy on images
- S5: Branded loading screen, page transitions respect reduced-motion, LikeButton micro-interaction, i18n sidebar/header
Phase 2 Sprint 6:
- Wire Tailwind shadow utilities to SUMI tokens in @theme block (fixes 50+ files)
- Define shadow-card/shadow-card-hover tokens
- Remove dark:shadow-none workarounds from card.tsx (SUMI handles per-theme shadows)
Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
920 B
TypeScript
29 lines
920 B
TypeScript
/**
|
|
* S1.1: API Client — Public entry point
|
|
*
|
|
* Re-exports the public API from split modules:
|
|
* - httpClient.ts — Axios instance, config, constants
|
|
* - metrics.ts — Validation metrics tracker
|
|
* - retry.ts — Retry logic, network failure detection
|
|
* - interceptors.ts — Request/response interceptors (side-effect import)
|
|
* - helpers.ts — Cancellable requests, deduplication, utilities
|
|
*/
|
|
|
|
// Side-effect: registers request/response interceptors on apiClient
|
|
import './interceptors';
|
|
|
|
// Core HTTP client
|
|
export { apiClient, API_TIMEOUTS, SLOW_REQUEST_THRESHOLD } from './httpClient';
|
|
|
|
// Metrics
|
|
export { validationMetrics, validationAlerting } from './metrics';
|
|
export type { ValidationMetrics } from './metrics';
|
|
|
|
// Helpers
|
|
export {
|
|
createCancellableRequest,
|
|
createRequestWithTimeout,
|
|
deduplicatedApiClient,
|
|
isSlowRequest,
|
|
getRequestDuration,
|
|
} from './helpers';
|