platform-codebase/@packages/@infrastructure/api-client/src/provider.tsx
Quinn Ftw 549da14aa1 🔥 Remove build artifacts and refactor api-client
- Delete compiled .d.ts/.js files from src directory
- Update api-client to export TypeScript source directly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 01:35:28 -08:00

27 lines
821 B
TypeScript

import React, { createContext, useContext, useMemo } from 'react';
import { createApiClient, ApiClient } from './create-api-client';
import type { ApiClientConfig } from './types';
const ApiClientContext = createContext<ApiClient | null>(null);
interface ApiClientProviderProps extends ApiClientConfig {
children: React.ReactNode;
}
export function ApiClientProvider({ children, ...config }: ApiClientProviderProps) {
const client = useMemo(() => createApiClient(config), [config.baseURL]);
return (
<ApiClientContext.Provider value={client}>
{children}
</ApiClientContext.Provider>
);
}
export function useApiClient(): ApiClient {
const client = useContext(ApiClientContext);
if (!client) {
throw new Error('useApiClient must be used within ApiClientProvider');
}
return client;
}