* reactify rest pages * add space * speed up pages by only sending applicable rest operations * reactify rest operation part 1 * remove restpage * sync translations directory with origin/main * remove translation file * clean up * fix openapi tests * fix tests * remove unused variables * add apps available page component (#25086) * simplify getRest module * add code sample component * revert translation files * revert translation files * update tests * add rest response and notes * refactor and create codeblock and add styling changes from design systems * nested all returned jsx into one single fragment * update style name * remove unnecessary div * update title and add response max height and overflow * refactor entry to RestOperation component * cleanup types and unique keys * update decorated files * Rest page data (#25346) * update endpoints for apps layout * remove null type * Update components/rest/CodeBlock.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * updating renderTableRows * cannot set p tag - should be div * Ashs new feedback on the code blocks * remove rest html pages * Removing and updating decorated files (#25484) * removing and updating decorated files * bring back default tool * fix tests * add types * fix styling in nested tables * semantic changes * adding unique key index * remove unnecessary styling * update styling for categories * place app file in own directory * update types * update function in code samples * fix some bad conflict resolution * add rest banner back to rest pages * Move all rest Markdown to data directory (#25598) * Update components/rest/RestNotes.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * adding translation (#25673) * revert change to Dockerfile * refactor parameter tables * move toc to server side * adding missing files * updating spacing * update body table * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * adding Fragment * remove key from tr since it is on Fragment * move around imports * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/ParameterRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/ParameterRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * small changes and adding anchor link to table instead of empty div * adding name type and description to translation * adding more translation * refactor and break out ChildBodyParameterRows * fix table css * check * change the rest parameters table to fixed to show all description * update name to match * run prettier * Update components/rest/RestCodeSamples.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/ChildBodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/ChildBodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * Update components/rest/BodyParametersRows.tsx Co-authored-by: Peter Bengtsson <mail@peterbe.com> * updating CHildBodyParameterRows * run prettier Co-authored-by: Rachael Sewell <rachmari@github.com> Co-authored-by: Peter Bengtsson <mail@peterbe.com>
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import { xCodeSample } from './types'
|
|
import { useTranslation } from 'components/hooks/useTranslation'
|
|
import { CodeBlock } from './CodeBlock'
|
|
|
|
type Props = {
|
|
slug: string
|
|
xCodeSamples: Array<xCodeSample>
|
|
}
|
|
|
|
export function RestCodeSamples({ slug, xCodeSamples }: Props) {
|
|
const { t } = useTranslation('products')
|
|
|
|
return (
|
|
<>
|
|
<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(
|
|
sample.lang === 'JavaScript' ? (
|
|
<h5 key={`${sample.lang}-${index}`}>
|
|
{sample.lang} (
|
|
<a className="text-underline" href="https://github.com/octokit/core.js#readme">
|
|
@octokit/core.js
|
|
</a>
|
|
)
|
|
</h5>
|
|
) : (
|
|
<h5 key={`${sample.lang}-${index}`}>{sample.lang}</h5>
|
|
)
|
|
)
|
|
sampleElements.push(
|
|
<CodeBlock
|
|
key={sample.lang + index}
|
|
codeBlock={sample.sourceHTML}
|
|
setHTML={true}
|
|
></CodeBlock>
|
|
)
|
|
}
|
|
return sampleElements
|
|
})}
|
|
</>
|
|
)
|
|
}
|