docusaurus/v2/lib/core/App.js

43 lines
1.3 KiB
JavaScript

/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import React, {useState} from 'react';
import {renderRoutes} from 'react-router-config';
import routes from '@generated/routes'; // eslint-disable-line
// TODO: Generalize for blog plugin.
import blogMetadata from '@generated/docusaurus-plugin-content-blog/blogMetadata.json'; // eslint-disable-line
import docsMetadatas from '@generated/docsMetadatas'; // eslint-disable-line
import env from '@generated/env'; // eslint-disable-line
import docsSidebars from '@generated/docsSidebars'; // eslint-disable-line
import pagesMetadatas from '@generated/pagesMetadatas'; // eslint-disable-line
import siteConfig from '@generated/docusaurus.config'; //eslint-disable-line
import DocusaurusContext from '@docusaurus/context';
// TODO: allow choosing prismjs theme
import 'prismjs/themes/prism.css';
const data = {
blogMetadata,
docsMetadatas,
docsSidebars,
env,
pagesMetadatas,
siteConfig,
};
function App() {
const [context, setContext] = useState({});
return (
<DocusaurusContext.Provider value={{...data, ...context, setContext}}>
{renderRoutes(routes)}
</DocusaurusContext.Provider>
);
}
export default App;