- 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>
27 lines
821 B
TypeScript
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;
|
|
}
|