1
0
mirror of synced 2025-12-21 02:46:50 -05:00
Files
docs/components/rest/RestCodeSamples.tsx
2022-03-11 09:40:45 -08:00

36 lines
1.0 KiB
TypeScript

import type { xCodeSample } from './types'
import { useTranslation } from 'components/hooks/useTranslation'
import { CodeBlock } from './CodeBlock'
import { Fragment } from 'react'
type Props = {
slug: string
xCodeSamples: Array<xCodeSample>
}
export function RestCodeSamples({ slug, xCodeSamples }: Props) {
const { t } = useTranslation('products')
return (
<Fragment key={xCodeSamples + slug}>
<h4 id={`${slug}--code-samples`}>
<a href={`#${slug}--code-samples`}>{`${t('rest.reference.code_samples')}`}</a>
</h4>
{xCodeSamples.map((sample, index) => {
const sampleElements: JSX.Element[] = []
if (sample.lang !== 'Ruby') {
sampleElements.push(
<CodeBlock
key={sample.lang + index}
headingLang={sample.lang}
codeBlock={sample.source}
highlight={sample.lang === 'JavaScript' ? 'javascript' : 'curl'}
></CodeBlock>
)
}
return sampleElements
})}
</Fragment>
)
}