From faa3c79e6507a439fc1798863ff60ece08a8d67d Mon Sep 17 00:00:00 2001 From: Akshay Date: Wed, 2 Jun 2021 00:24:33 +0200 Subject: [PATCH] Fix: Refactor components --- src/templates/ContentWrapperTemplate.jsx | 79 +++++++++++++++ src/templates/Swagger/index.jsx | 117 +++++++---------------- src/templates/Typedoc/index.jsx | 91 ++++-------------- 3 files changed, 130 insertions(+), 157 deletions(-) create mode 100644 src/templates/ContentWrapperTemplate.jsx diff --git a/src/templates/ContentWrapperTemplate.jsx b/src/templates/ContentWrapperTemplate.jsx new file mode 100644 index 00000000..2039ff9e --- /dev/null +++ b/src/templates/ContentWrapperTemplate.jsx @@ -0,0 +1,79 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import { Helmet } from 'react-helmet' +import Layout from '../components/Layout' +import Content from '../components/Content' +import HeaderSection from '../components/HeaderSection' +import Sidebar from '../components/Sidebar' +import DocHeader from '../components/DocHeader' +import Seo from '../components/Seo' + +import stylesDoc from './Doc.module.scss' + +export default class ContentWrapperTemplate extends Component { + static propTypes = { + data: PropTypes.object.isRequired, + location: PropTypes.object.isRequired, + pageContext: PropTypes.object.isRequired, + toc: PropTypes.object.isRequired, + info: PropTypes.object.isRequired + } + + sectionTitle = this.props.data.allSectionsYaml.edges.map(({ node }) => { + if (node.title.toLowerCase().includes('references')) { + return node.title + } + }) + + render() { + const { location, pageContext } = this.props + const { title, description, version } = this.props.info + + return ( + <> + + + + + + + + + + +
+ +
+ + v{version} + + } + /> + + {this.props.children} +
+
+
+
+ + ) + } +} diff --git a/src/templates/Swagger/index.jsx b/src/templates/Swagger/index.jsx index 01ead7e9..b8b9c475 100644 --- a/src/templates/Swagger/index.jsx +++ b/src/templates/Swagger/index.jsx @@ -1,21 +1,14 @@ -import React, { Component } from 'react' +import React from 'react' import PropTypes from 'prop-types' import { graphql } from 'gatsby' -import { Helmet } from 'react-helmet' -import Layout from '../../components/Layout' -import Content from '../../components/Content' -import HeaderSection from '../../components/HeaderSection' -import Sidebar from '../../components/Sidebar' -import DocHeader from '../../components/DocHeader' import DocFooter from '../../components/DocFooter' -import Seo from '../../components/Seo' import Toc from './Toc' import Paths from './Paths' -import stylesDoc from '../Doc.module.scss' import styles from './index.module.scss' +import ContentWrapperTemplate from '../ContentWrapperTemplate' const SwaggerMeta = ({ contact, license }) => (