import { useParams } from 'common'
import type { ShowApiKey } from '../../Docs/Docs.types'
import { GeneralContent } from '@/components/interfaces/Docs/GeneralContent'
import { ResourceContent } from '@/components/interfaces/Docs/ResourceContent'
import { RpcContent } from '@/components/interfaces/Docs/RpcContent'
import { buildEntityMaps } from '@/components/interfaces/Integrations/DataApi/DataApi.utils'
import { DocViewError } from '@/components/interfaces/Integrations/DataApi/DocViewError'
import { DocViewLoading } from '@/components/interfaces/Integrations/DataApi/DocViewLoading'
import { useProjectSettingsV2Query } from '@/data/config/project-settings-v2-query'
import { useProjectJsonSchemaQuery } from '@/data/docs/project-json-schema-query'
interface DocViewProps {
selectedLang: 'js' | 'bash'
selectedApiKey: ShowApiKey
}
export const DocView = ({ selectedLang, selectedApiKey }: DocViewProps) => {
const { ref: projectRef, page, resource, rpc } = useParams()
const { data: settings, error: settingsError } = useProjectSettingsV2Query({ projectRef })
const {
data: jsonSchema,
error: jsonSchemaError,
isPending: isLoading,
refetch,
} = useProjectJsonSchemaQuery({ projectRef })
const { paths } = jsonSchema || {}
const PAGE_KEY = resource || rpc || page || 'index'
const { resources, rpcs } = buildEntityMaps(paths)
if (settingsError || jsonSchemaError) {
return