aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/containers/smart_contracts_documentation.tsx
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-11-29 05:11:04 +0800
committerFabio Berger <me@fabioberger.com>2017-11-29 05:11:04 +0800
commit72a00ac2df47ff793d74c2a82c7f403f501e784a (patch)
tree082d38d2ed5a36ec4b8f7e0bd156841ca86cf005 /packages/website/ts/containers/smart_contracts_documentation.tsx
parentfcddd503b76283266946dc1f04b299d0606c90bb (diff)
downloaddexon-sol-tools-72a00ac2df47ff793d74c2a82c7f403f501e784a.tar.gz
dexon-sol-tools-72a00ac2df47ff793d74c2a82c7f403f501e784a.tar.zst
dexon-sol-tools-72a00ac2df47ff793d74c2a82c7f403f501e784a.zip
Refactor the topLevel documentation react components for 0x.js and Smart contracts into a single component
Diffstat (limited to 'packages/website/ts/containers/smart_contracts_documentation.tsx')
-rw-r--r--packages/website/ts/containers/smart_contracts_documentation.tsx56
1 files changed, 50 insertions, 6 deletions
diff --git a/packages/website/ts/containers/smart_contracts_documentation.tsx b/packages/website/ts/containers/smart_contracts_documentation.tsx
index ccf3c4a65..4623c976b 100644
--- a/packages/website/ts/containers/smart_contracts_documentation.tsx
+++ b/packages/website/ts/containers/smart_contracts_documentation.tsx
@@ -2,12 +2,54 @@ import * as _ from 'lodash';
import * as React from 'react';
import {connect} from 'react-redux';
import {Dispatch, Store as ReduxStore} from 'redux';
+import {DocsInfo} from 'ts/pages/documentation/docs_info';
import {
- SmartContractsDocumentation as SmartContractsDocumentationComponent,
- SmartContractsDocumentationAllProps,
-} from 'ts/pages/documentation/smart_contracts_documentation';
+ Documentation as DocumentationComponent,
+ DocumentationAllProps,
+} from 'ts/pages/documentation/documentation';
import {Dispatcher} from 'ts/redux/dispatcher';
import {State} from 'ts/redux/reducer';
+import {DocsInfoConfig, WebsitePaths} from 'ts/types';
+import {constants} from 'ts/utils/constants';
+import {doxityUtils} from 'ts/utils/doxity_utils';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/smart_contracts/introduction');
+/* tslint:enable:no-var-requires */
+
+const sections = constants.smartContractDocSections;
+
+const docsInfoConfig: DocsInfoConfig = {
+ packageName: '0x Smart Contracts',
+ packageUrl: 'https://github.com/0xProject/contracts',
+ websitePath: WebsitePaths.SmartContracts,
+ docsJsonRoot: 'https://s3.amazonaws.com/smart-contracts-docs-json',
+ menu: {
+ introduction: [
+ sections.Introduction,
+ ],
+ contracts: [
+ sections.Exchange,
+ sections.TokenRegistry,
+ sections.ZRXToken,
+ sections.EtherToken,
+ sections.TokenTransferProxy,
+ ],
+ },
+ sectionNameToMarkdown: {
+ [sections.Introduction]: IntroMarkdown,
+ },
+ sections,
+ visibleConstructors: [
+ sections.Exchange,
+ sections.TokenRegistry,
+ sections.ZRXToken,
+ sections.EtherToken,
+ sections.TokenTransferProxy,
+ ],
+ convertToDocAgnosticFormatFn: doxityUtils.convertToDocAgnosticFormat.bind(doxityUtils),
+};
+const docsInfo = new DocsInfo(docsInfoConfig);
interface ConnectedState {
docsVersion: string;
@@ -16,16 +58,18 @@ interface ConnectedState {
interface ConnectedDispatch {
dispatcher: Dispatcher;
+ docsInfo: DocsInfo;
}
-const mapStateToProps = (state: State, ownProps: SmartContractsDocumentationAllProps): ConnectedState => ({
+const mapStateToProps = (state: State, ownProps: DocumentationAllProps): ConnectedState => ({
docsVersion: state.docsVersion,
availableDocVersions: state.availableDocVersions,
});
const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
dispatcher: new Dispatcher(dispatch),
+ docsInfo,
});
-export const SmartContractsDocumentation: React.ComponentClass<SmartContractsDocumentationAllProps> =
- connect(mapStateToProps, mapDispatchToProps)(SmartContractsDocumentationComponent);
+export const Documentation: React.ComponentClass<DocumentationAllProps> =
+ connect(mapStateToProps, mapDispatchToProps)(DocumentationComponent);