diff --git a/.eslintrc b/.eslintrc index 6de5599fe..538380cd5 100644 --- a/.eslintrc +++ b/.eslintrc @@ -27,6 +27,7 @@ "plugins": ["@typescript-eslint", "prettier"], "rules": { "react/prop-types": "off", + "react/no-unused-prop-types": "off", "@typescript-eslint/explicit-function-return-type": "off" } } diff --git a/.gitignore b/.gitignore index 1ede78279..6a6c384ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ node_modules out .DS_Store -.next .idea .env coverage diff --git a/content/pages/history.json b/content/pages/history.json new file mode 100644 index 000000000..6ec83422f --- /dev/null +++ b/content/pages/history.json @@ -0,0 +1,4 @@ +{ + "title": "History", + "description": "Find the data sets and jobs that you previously accessed." +} diff --git a/content/pages/publish.json b/content/pages/publish.json new file mode 100644 index 000000000..41f9bdd96 --- /dev/null +++ b/content/pages/publish.json @@ -0,0 +1,4 @@ +{ + "title": "Publish Data", + "description": "Highlight the important features of your data set to make it more discoverable and catch the interest of data consumers." +} diff --git a/gatsby-config.js b/gatsby-config.js index 152f3f446..939e66f8f 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -1,10 +1,10 @@ require('dotenv').config() -const siteConfig = require('./site.config.js') +const siteConfig = require('./content/site.json') module.exports = { siteMetadata: { - ...siteConfig + ...siteConfig.site }, plugins: [ { diff --git a/package-lock.json b/package-lock.json index 5cdfa8d94..66f0fd302 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6009,6 +6009,36 @@ "@types/yargs": "^13.0.0" } }, + "@loadable/component": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@loadable/component/-/component-5.13.0.tgz", + "integrity": "sha512-+qS6xoA4DN5Pjm5sR6vWuuYEhMWZ9Y7ALgI8JuDOMCiqOG+PTau0phOyqFgrFqDXijVpeInoIoZQdW1FKjGBYA==", + "requires": { + "@babel/runtime": "^7.7.7", + "hoist-non-react-statics": "^3.3.1", + "react-is": "^16.12.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.3.tgz", + "integrity": "sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } + } + }, "@mdx-js/mdx": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.6.tgz", @@ -32909,8 +32939,7 @@ "react-fast-compare": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==", - "dev": true + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" }, "react-focus-lock": { "version": "2.4.0", @@ -32926,6 +32955,17 @@ "use-sidecar": "^1.0.1" } }, + "react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + } + }, "react-helmet-async": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.0.6.tgz", @@ -33126,6 +33166,11 @@ "no-scroll": "^2.1.1" } }, + "react-side-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.0.tgz", + "integrity": "sha512-IgmcegOSi5SNX+2Snh1vqmF0Vg/CbkycU9XZbOHJlZ6kMzTmi3yc254oB1WCkgA7OQtIAoLmcSFuHTc/tlcqXg==" + }, "react-sizeme": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", @@ -37855,11 +37900,6 @@ "integrity": "sha512-rXpsyvOnqdScyied4Uglsp14qzag1JIemLeTWGKbwpotWht57hbP78aNT+Q4wdFKQfQibbUX4fb6Qb4y11aVOQ==", "dev": true }, - "use-debounce": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-3.4.2.tgz", - "integrity": "sha512-rW44wZaFPh3XiwUzGBA0JRuklpbfKO/szU/5CYD2Q/erLmCem63lJ650p3a+NJE6S+g0rulKtBOfa/3rw/GN+Q==" - }, "use-sidecar": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.2.tgz", diff --git a/package.json b/package.json index 428cb683f..7eaa15952 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "storybook:build": "build-storybook -c .storybook -o public/storybook" }, "dependencies": { + "@loadable/component": "^5.13.0", "@oceanprotocol/art": "^2.2.0", "@oceanprotocol/react": "0.0.11", "@oceanprotocol/squid": "^2.2.0", @@ -48,6 +49,7 @@ "react-dom": "^16.13.1", "react-dotdotdot": "^1.3.1", "react-dropzone": "^11.0.1", + "react-helmet": "^6.1.0", "react-jsonschema-form": "^1.8.1", "react-markdown": "^4.3.1", "react-paginate": "^6.3.2", @@ -56,7 +58,6 @@ "react-toastify": "^6.0.6", "shortid": "^2.2.15", "slugify": "^1.4.4", - "use-debounce": "^3.4.2", "web3connect": "^1.0.0-beta.33" }, "devDependencies": { diff --git a/src/components/atoms/FormWidgets/DateRangeWidget.tsx b/src/components/atoms/FormWidgets/DateRangeWidget.tsx index 2bbd7e69a..9be3234d1 100644 --- a/src/components/atoms/FormWidgets/DateRangeWidget.tsx +++ b/src/components/atoms/FormWidgets/DateRangeWidget.tsx @@ -1,11 +1,11 @@ import React, { useEffect, useState } from 'react' import { WidgetProps } from 'react-jsonschema-form' -import dynamic from 'next/dynamic' +import loadable from '@loadable/component' import styles from './DateRangeWidget.module.css' import { toStringNoMS } from '../../../utils' // lazy load this module, it's huge -const LazyDatePicker = dynamic(() => import('react-datepicker')) +const LazyDatePicker = loadable(() => import('react-datepicker')) export function getWidgetValue( date1: Date, diff --git a/src/components/atoms/FormWidgets/TermsWidget.tsx b/src/components/atoms/FormWidgets/TermsWidget.tsx index a95a88dcd..cb6383aa4 100644 --- a/src/components/atoms/FormWidgets/TermsWidget.tsx +++ b/src/components/atoms/FormWidgets/TermsWidget.tsx @@ -1,8 +1,6 @@ import React from 'react' import { WidgetProps } from 'react-jsonschema-form' import styles from './TermsWidget.module.css' -import Markdown from '../Markdown' -import terms from '../../../../content/terms.md' export default function TermsWidget(props: WidgetProps) { const { @@ -21,7 +19,7 @@ export default function TermsWidget(props: WidgetProps) { return ( <> - + {/* */}