1- import React , { FC } from 'react'
1+ import React , { FC , useState } from 'react'
22import PropTypes from 'prop-types'
33import Helmet from 'react-helmet'
44import { graphql } from 'gatsby'
@@ -8,45 +8,52 @@ import { CodeBlock, Example, Footer, Header, Seo, Sidebar, Toc } from './../comp
88import { CCol , CContainer , CRow } from '../../index'
99import './../styles/styles.scss'
1010
11+ export const myContext = React . createContext ( )
12+
1113const components = {
12- // pre: (props) => <div {...props} />,
13- // inlineCode: (props) => <span {...props} />,
14- // code: (props) => <CodeBlock {...props} />,
1514 pre : ( props ) => < CodeBlock { ...props } /> ,
1615 // eslint-disable-next-line react/display-name
1716 table : ( props ) => < table { ...props } className = "table table-striped" /> ,
1817 Example,
1918}
2019
2120const DocsLayout : FC = ( { data : { mdx } } ) => {
21+ const [ sidebarVisible , setSidebarVisible ] = useState ( )
2222 return (
2323 < >
2424 < Seo title = { mdx . frontmatter . title } description = { mdx . frontmatter . description } />
2525 < Helmet >
2626 < script src = "https://media.ethicalads.io/media/client/ethicalads.min.js" />
2727 </ Helmet >
28- < Sidebar />
29- < div className = "wrapper d-flex flex-column min-vh-100" >
30- < Header />
31- < div className = "body flex-grow-1 px-3" >
32- < CContainer lg >
33- < CRow >
34- < CCol lg = { 9 } >
35- < h1 > { mdx . frontmatter . title } </ h1 >
36- < p className = "docs-lead fs-4 fw-light" > { mdx . frontmatter . description } </ p >
37- < div data-ea-publisher = "coreui-io" data-ea-type = "image" > </ div >
38- < MDXProvider components = { components } >
39- < MDXRenderer frontmatter = { mdx . frontmatter } > { mdx . body } </ MDXRenderer >
40- </ MDXProvider >
41- </ CCol >
42- < CCol lg = { 3 } >
43- < Toc items = { mdx . tableOfContents } />
44- </ CCol >
45- </ CRow >
46- </ CContainer >
28+ < myContext . Provider
29+ value = { {
30+ sidebarVisible,
31+ toggleSidebar : ( ) => setSidebarVisible ( ! sidebarVisible ) ,
32+ } }
33+ >
34+ < Sidebar />
35+ < div className = "wrapper d-flex flex-column min-vh-100" >
36+ < Header />
37+ < div className = "body flex-grow-1 px-3" >
38+ < CContainer lg >
39+ < CRow >
40+ < CCol lg = { 9 } >
41+ < h1 > { mdx . frontmatter . title } </ h1 >
42+ < p className = "docs-lead fs-4 fw-light" > { mdx . frontmatter . description } </ p >
43+ < div data-ea-publisher = "coreui-io" data-ea-type = "image" > </ div >
44+ < MDXProvider components = { components } >
45+ < MDXRenderer frontmatter = { mdx . frontmatter } > { mdx . body } </ MDXRenderer >
46+ </ MDXProvider >
47+ </ CCol >
48+ < CCol lg = { 3 } >
49+ < Toc items = { mdx . tableOfContents } />
50+ </ CCol >
51+ </ CRow >
52+ </ CContainer >
53+ </ div >
54+ < Footer />
4755 </ div >
48- < Footer />
49- </ div >
56+ </ myContext . Provider >
5057 </ >
5158 )
5259}
0 commit comments