/* eslint-disable */
import React from 'react';
import {Link} from 'react-router-dom';
import Helmet from 'react-helmet';
import styles from './styles.css';
import Layout from '@theme/Layout'; // eslint-disable-line
export default class Docs extends React.Component {
renderSidebar(metadata, docsSidebars, docsMetadatas) {
const {sidebar, language, id: thisID} = metadata;
if (!sidebar || !docsSidebars) {
return null;
}
const thisSidebar = docsSidebars[sidebar];
return (
thisSidebar &&
Object.keys(thisSidebar).map(categoryName => {
return (
{categoryName}
{thisSidebar[categoryName].map(rawLinkID => {
const linkID = (language ? `${language}-` : '') + rawLinkID;
const linkMetadata = docsMetadatas[linkID];
if (!linkMetadata) {
throw new Error(
`Improper sidebars.json file, document with id '${linkID}' not found.`,
);
}
const linkClassName =
linkID === thisID ? 'navListItemActive' : 'navListItem';
return (
-
{linkMetadata.sidebar_label || linkMetadata.title}
);
})}
);
})
);
}
render() {
const {
route,
siteConfig,
docsMetadatas,
docsSidebars,
metadata,
} = this.props;
return (
{(metadata && metadata.title) || siteConfig.title}
{this.renderSidebar(metadata, docsSidebars, docsMetadatas)}
{metadata.previous &&
docsMetadatas[metadata.previous] && (
← {metadata.previous_title}
)}
{' ⚫️ '}
{metadata.next &&
docsMetadatas[metadata.next] && (
{metadata.next_title} →
)}
{this.props.children}
);
}
}