mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
- Replace @hey-api/openapi-ts with openapi-typescript and openapi-react-query - Generate TypeScript types from OpenAPI spec - Set up React Query infrastructure with QueryClientProvider - Migrate all API hooks to use React Query patterns - Maintain backward compatibility for existing components - Remove old API infrastructure and dependencies
58 lines
1.0 KiB
TypeScript
58 lines
1.0 KiB
TypeScript
import { GetTranscript } from "../../api";
|
|
import { useTranscriptGet } from "../../lib/api-hooks";
|
|
|
|
type ErrorTranscript = {
|
|
error: Error;
|
|
loading: false;
|
|
response: null;
|
|
reload: () => void;
|
|
};
|
|
|
|
type LoadingTranscript = {
|
|
response: null;
|
|
loading: true;
|
|
error: false;
|
|
reload: () => void;
|
|
};
|
|
|
|
type SuccessTranscript = {
|
|
response: GetTranscript;
|
|
loading: false;
|
|
error: null;
|
|
reload: () => void;
|
|
};
|
|
|
|
const useTranscript = (
|
|
id: string | null,
|
|
): ErrorTranscript | LoadingTranscript | SuccessTranscript => {
|
|
const { data, isLoading, error, refetch } = useTranscriptGet(id);
|
|
|
|
// Map to the expected return format
|
|
if (isLoading) {
|
|
return {
|
|
response: null,
|
|
loading: true,
|
|
error: false,
|
|
reload: refetch,
|
|
};
|
|
}
|
|
|
|
if (error) {
|
|
return {
|
|
error: error as Error,
|
|
loading: false,
|
|
response: null,
|
|
reload: refetch,
|
|
};
|
|
}
|
|
|
|
return {
|
|
response: data as GetTranscript,
|
|
loading: false,
|
|
error: null,
|
|
reload: refetch,
|
|
};
|
|
};
|
|
|
|
export default useTranscript;
|