diff --git a/package-lock.json b/package-lock.json index 1ab33f327..bcc54b194 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,9 @@ "docusaurus-theme-openapi-docs": "^1.5.1", "prism-react-renderer": "^1.3.1", "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-markdown": "^8.0.7", + "react-tabs": "^4.3.0" }, "devDependencies": { "@docusaurus/core": "2.2.0", @@ -11024,8 +11026,9 @@ "license": "MIT" }, "node_modules/react-markdown": { - "version": "8.0.5", - "license": "MIT", + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", "dependencies": { "@types/hast": "^2.0.0", "@types/prop-types": "^15.0.0", @@ -11302,6 +11305,18 @@ "react": ">=15" } }, + "node_modules/react-tabs": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-4.3.0.tgz", + "integrity": "sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q==", + "dependencies": { + "clsx": "^1.1.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-0 || ^18.0.0" + } + }, "node_modules/react-textarea-autosize": { "version": "8.4.0", "dev": true, @@ -21693,7 +21708,9 @@ "version": "1.0.1" }, "react-markdown": { - "version": "8.0.5", + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", "requires": { "@types/hast": "^2.0.0", "@types/prop-types": "^15.0.0", @@ -21858,6 +21875,15 @@ "tiny-warning": "^1.0.0" } }, + "react-tabs": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-4.3.0.tgz", + "integrity": "sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q==", + "requires": { + "clsx": "^1.1.0", + "prop-types": "^15.5.0" + } + }, "react-textarea-autosize": { "version": "8.4.0", "dev": true, diff --git a/package.json b/package.json index d4a608686..68a28421d 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,9 @@ "docusaurus-theme-openapi-docs": "^1.5.1", "prism-react-renderer": "^1.3.1", "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-markdown": "^8.0.7", + "react-tabs": "^4.3.0" }, "overrides": { "mermaid": "9.1.7" diff --git a/src/components/marketplace/MarketplaceCard/index.js b/src/components/marketplace/MarketplaceCard/index.js index f1961e750..a07d0a13c 100644 --- a/src/components/marketplace/MarketplaceCard/index.js +++ b/src/components/marketplace/MarketplaceCard/index.js @@ -20,7 +20,7 @@ export default function MarketplaceCard({ }) { function setFilters(e) { - openDialogFunc(rawData); + openDialogFunc({"rawData": rawData, "title": title, "image": image}); } return ( diff --git a/src/components/marketplace/MarketplaceCardDetail/index.js b/src/components/marketplace/MarketplaceCardDetail/index.js index e75f2a6e5..dcbe7df4e 100644 --- a/src/components/marketplace/MarketplaceCardDetail/index.js +++ b/src/components/marketplace/MarketplaceCardDetail/index.js @@ -4,14 +4,51 @@ import Link from '@docusaurus/Link'; import useBaseUrl from '@docusaurus/useBaseUrl'; import ThemedImage from '@theme/ThemedImage'; import {addDarkToFileName} from '../../../util/util'; +import { Tab, Tabs, TabList, TabPanel } from 'react-tabs'; +import 'react-tabs/style/react-tabs.css'; +import ReactMarkdown from 'react-markdown' export default function MarketplaceCardDetail({ details }) { + const getDivText = (data, id) => { + const requirementPosition = data.indexOf('id="' + id + '"') + const requirementEndPosition = data.indexOf('', requirementPosition) + if (requirementPosition > 0 && requirementEndPosition > 0) { + return data.substring(requirementPosition + 6 + id.length, requirementEndPosition) + } else { + return "No requirements found for this marketplace item" + } + + } + + return ( -