From bd0f00ddfc36bfc2cf79cf8f9bac186f7defd286 Mon Sep 17 00:00:00 2001 From: Moikapy Date: Mon, 20 Jun 2022 13:51:50 -0400 Subject: [PATCH] market init --- .env-temp | 5 + .gitignore | 32 + Rarible.LICENSE.md | 20 + next-env.d.ts | 5 + next.config.js | 46 + package.json | 117 + pages/_app.tsx | 125 + pages/_document.tsx | 48 + pages/api/graphql.ts | 30 + pages/connect.js | 36 + pages/index.tsx | 321 + public/favicon.png | Bin 0 -> 4236 bytes public/logo512.png | Bin 0 -> 16130 bytes public/manifest.json | 20 + public/robots.txt | 3 + src/actions/index.tsx | 1 + src/actions/session.tsx | 20 + src/actions/types.tsx | 19 + src/common/get-currency.ts | 49 + src/components/ActivityWidget.tsx | 592 + src/components/AllActivityWidget.tsx | 436 + src/components/FormInputs.js | 66 + src/components/NFTForm.tsx | 283 + src/components/NFTInput.js | 33 + src/components/Navbar.tsx | 75 + src/components/OrderItems.tsx | 176 + src/components/OrderWidget.tsx | 447 + src/components/SEO.tsx | 38 + src/components/TabButton.tsx | 35 + src/components/TakoLink.js | 32 + src/components/ToggleButton.tsx | 76 + src/components/common/address.tsx | 13 + src/components/common/banner.js | 19 + src/components/common/button.tsx | 18 + src/components/common/code.tsx | 21 + src/components/common/commented-block.tsx | 34 + src/components/common/copy-to-clipboard.tsx | 29 + src/components/common/dropdown.js | 21 + src/components/common/form-stepper.tsx | 90 + src/components/common/form/form-checkbox.tsx | 20 + src/components/common/form/form-hooks.tsx | 24 + src/components/common/form/form-select.tsx | 29 + src/components/common/form/form-submit.tsx | 56 + .../common/form/form-text-input.tsx | 27 + src/components/common/form/types.ts | 1 + src/components/common/icon.tsx | 6 + src/components/common/inline-code.tsx | 17 + src/components/common/input.tsx | 60 + src/components/common/list-item-link.tsx | 41 + src/components/common/modal.js | 19 + src/components/common/request-result.tsx | 29 + src/components/common/transaction-info.tsx | 49 + .../common/unsupported-blockchain-warning.tsx | 21 + src/components/connector/connectors-setup.ts | 209 + .../environment-selector-provider.tsx | 44 + src/components/connector/environments.ts | 17 + .../connector/sdk-connection-provider.tsx | 43 + src/components/connector/wallet-connetion.ts | 6 + src/components/hooks/orders.tsx | 98 + src/components/hooks/use-request-result.tsx | 49 + src/components/loginModal.js | 39 + src/components/media-viewer/Context.js | 32 + src/components/media-viewer/audio/icons.js | 14 + src/components/media-viewer/audio/index.js | 102 + src/components/media-viewer/audio/style.css | 3 + .../media-viewer/audio/styles.module.scss | 59 + .../media-viewer/audio/visualiser.js | 109 + src/components/media-viewer/constants.js | 101 + src/components/media-viewer/container.js | 149 + src/components/media-viewer/glb/index.js | 71 + .../media-viewer/glb/styles.module.scss | 47 + src/components/media-viewer/html/index.js | 121 + .../media-viewer/html/styles.module.scss | 101 + src/components/media-viewer/html/warning.js | 15 + src/components/media-viewer/htmlHelpers.js | 294 + src/components/media-viewer/image/index.js | 111 + .../media-viewer/image/styles.module.scss | 29 + src/components/media-viewer/index.js | 243 + src/components/media-viewer/layout/README.md | 39 + .../media-viewer/layout/container/index.js | 12 + .../layout/container/styles.module.scss | 25 + src/components/media-viewer/layout/index.js | 3 + .../media-viewer/layout/padding/index.js | 6 + .../layout/padding/styles.module.scss | 7 + .../media-viewer/layout/page/index.js | 25 + .../layout/page/styles.module.scss | 13 + src/components/media-viewer/md/index.js | 19 + src/components/media-viewer/os.js | 12 + src/components/media-viewer/pdf/index.js | 62 + .../media-viewer/pdf/styles.module.scss | 37 + src/components/media-viewer/style.css | 3 + .../media-viewer/styles.module.scss | 68 + src/components/media-viewer/unknown/index.js | 18 + .../media-viewer/unknown/styles.module.scss | 26 + src/components/media-viewer/vector/index.css | 15 + src/components/media-viewer/vector/index.js | 95 + .../media-viewer/vector/styles.module.scss | 45 + src/components/media-viewer/video/index.js | 67 + src/components/media-viewer/video/style.css | 18 + .../media-viewer/video/styles.module.scss | 16 + .../media-viewer/visually-hidden/index.js | 6 + .../visually-hidden/styles.module.scss | 11 + src/components/nft_card.tsx | 153 + src/components/walletbutton.js | 40 + src/components/walletbuttonitem.tsx | 18 + src/lib/identity.js | 164 + src/lib/index.js | 2 + src/lib/metadataSchema.ts | 33 + src/lib/moiWeb3.js | 36 + src/lib/nft-storage.js | 80 + src/metrics/clsMetrics.ts | 24 + src/metrics/fcpMetrics.ts | 28 + src/metrics/fidMetrics.ts | 23 + src/metrics/index.ts | 45 + src/metrics/lcpMetrics.ts | 23 + src/metrics/ttfbMetrics.ts | 24 + src/middleware/graphql/apollo-client.ts | 28 + src/middleware/graphql/resolvers.ts | 50 + src/middleware/graphql/schema/index.ts | 281 + src/middleware/graphql/schema/legacy.ts | 22 + src/react-app-env.d.ts | 1 + src/reducers/errors.tsx | 14 + src/reducers/index.tsx | 13 + src/reducers/session.tsx | 51 + src/store.js | 36 + src/tako.ts | 1005 + src/ui/Featured_NFT.tsx | 306 + src/ui/Layout.tsx | 278 + src/ui/NFT_Gallery.tsx | 134 + src/ui/NFT_View.tsx | 335 + src/ui/token.tsx | 574 + src/ui/wallet.tsx | 133 + src/utility/fromReq.ts | 14 + src/utility/useInterval.js | 25 + src/utils/cut-string.ts | 7 + src/views/404/404-page.tsx | 18 + src/views/about/about-page.tsx | 27 + src/views/accept-bid/acceptbid-form.tsx | 61 + src/views/accept-bid/acceptbid-page.tsx | 70 + .../accept-bid/acceptbid-prepare-form.tsx | 57 + .../accept-bid/comments/accepbid-comment.tsx | 21 + src/views/bid/bid-form.tsx | 82 + src/views/bid/bid-page.tsx | 76 + src/views/bid/bid-prepare-form.tsx | 58 + src/views/bid/comments/bid-comment.tsx | 26 + src/views/buy/buy-form.tsx | 66 + src/views/buy/buy-page.tsx | 70 + src/views/buy/buy-prepare-form.tsx | 57 + src/views/buy/comments/buy-comment.tsx | 28 + .../comments/connector-usage-comment.tsx | 47 + src/views/connect/connect-options.tsx | 101 + src/views/connect/connect-page.tsx | 22 + src/views/connect/connection-status.tsx | 55 + .../comments/collection-deploy-comment.tsx | 29 + .../comments/collection-result-comment.tsx | 11 + src/views/deploy/deploy-page.tsx | 135 + src/views/mint/comments/mint-comment.tsx | 39 + src/views/mint/mint-form.tsx | 76 + src/views/mint/mint-page.tsx | 94 + src/views/mint/mint-prepare-form.tsx | 57 + src/views/sell/comments/sell-comment.tsx | 30 + src/views/sell/sell-form.tsx | 81 + src/views/sell/sell-page.tsx | 76 + src/views/sell/sell-prepare-form.tsx | 57 + storeDir.js | 53 + styles/fonts/OCR-A-Std-Regular.eot | Bin 0 -> 29724 bytes styles/fonts/OCR-A-Std-Regular.svg | 0 styles/fonts/OCR-A-Std-Regular.ttf | Bin 0 -> 29460 bytes styles/fonts/OCR-A-Std-Regular.woff | Bin 0 -> 23732 bytes styles/fonts/OCR-A-Std-Regular.woff2 | Bin 0 -> 17920 bytes .../basiercirclemono-regular-webfont.eot | Bin 0 -> 85986 bytes .../basiercirclemono-regular-webfont.ttf | Bin 0 -> 85684 bytes .../basiercirclemono-regular-webfont.woff | Bin 0 -> 38824 bytes .../basiercirclemono-regular-webfont.woff2 | Bin 0 -> 27772 bytes styles/index.scss | 2 + styles/layout.scss | 18 + styles/main.scss | 35 + styles/mixins.scss | 61 + styles/reset.scss | 179 + styles/typography.scss | 10 + styles/variables.scss | 10 + tsconfig.json | 26 + yarn.lock | 19873 ++++++++++++++++ 183 files changed, 32478 insertions(+) create mode 100644 .env-temp create mode 100644 .gitignore create mode 100644 Rarible.LICENSE.md create mode 100644 next-env.d.ts create mode 100644 next.config.js create mode 100644 package.json create mode 100644 pages/_app.tsx create mode 100644 pages/_document.tsx create mode 100644 pages/api/graphql.ts create mode 100644 pages/connect.js create mode 100644 pages/index.tsx create mode 100644 public/favicon.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 src/actions/index.tsx create mode 100644 src/actions/session.tsx create mode 100644 src/actions/types.tsx create mode 100644 src/common/get-currency.ts create mode 100644 src/components/ActivityWidget.tsx create mode 100644 src/components/AllActivityWidget.tsx create mode 100644 src/components/FormInputs.js create mode 100644 src/components/NFTForm.tsx create mode 100644 src/components/NFTInput.js create mode 100644 src/components/Navbar.tsx create mode 100644 src/components/OrderItems.tsx create mode 100644 src/components/OrderWidget.tsx create mode 100644 src/components/SEO.tsx create mode 100644 src/components/TabButton.tsx create mode 100644 src/components/TakoLink.js create mode 100644 src/components/ToggleButton.tsx create mode 100644 src/components/common/address.tsx create mode 100644 src/components/common/banner.js create mode 100644 src/components/common/button.tsx create mode 100644 src/components/common/code.tsx create mode 100644 src/components/common/commented-block.tsx create mode 100644 src/components/common/copy-to-clipboard.tsx create mode 100644 src/components/common/dropdown.js create mode 100644 src/components/common/form-stepper.tsx create mode 100644 src/components/common/form/form-checkbox.tsx create mode 100644 src/components/common/form/form-hooks.tsx create mode 100644 src/components/common/form/form-select.tsx create mode 100644 src/components/common/form/form-submit.tsx create mode 100644 src/components/common/form/form-text-input.tsx create mode 100644 src/components/common/form/types.ts create mode 100644 src/components/common/icon.tsx create mode 100644 src/components/common/inline-code.tsx create mode 100644 src/components/common/input.tsx create mode 100644 src/components/common/list-item-link.tsx create mode 100644 src/components/common/modal.js create mode 100644 src/components/common/request-result.tsx create mode 100644 src/components/common/transaction-info.tsx create mode 100644 src/components/common/unsupported-blockchain-warning.tsx create mode 100644 src/components/connector/connectors-setup.ts create mode 100644 src/components/connector/environment-selector-provider.tsx create mode 100644 src/components/connector/environments.ts create mode 100644 src/components/connector/sdk-connection-provider.tsx create mode 100644 src/components/connector/wallet-connetion.ts create mode 100644 src/components/hooks/orders.tsx create mode 100644 src/components/hooks/use-request-result.tsx create mode 100644 src/components/loginModal.js create mode 100644 src/components/media-viewer/Context.js create mode 100644 src/components/media-viewer/audio/icons.js create mode 100644 src/components/media-viewer/audio/index.js create mode 100644 src/components/media-viewer/audio/style.css create mode 100644 src/components/media-viewer/audio/styles.module.scss create mode 100644 src/components/media-viewer/audio/visualiser.js create mode 100644 src/components/media-viewer/constants.js create mode 100644 src/components/media-viewer/container.js create mode 100644 src/components/media-viewer/glb/index.js create mode 100644 src/components/media-viewer/glb/styles.module.scss create mode 100644 src/components/media-viewer/html/index.js create mode 100644 src/components/media-viewer/html/styles.module.scss create mode 100644 src/components/media-viewer/html/warning.js create mode 100644 src/components/media-viewer/htmlHelpers.js create mode 100644 src/components/media-viewer/image/index.js create mode 100644 src/components/media-viewer/image/styles.module.scss create mode 100644 src/components/media-viewer/index.js create mode 100644 src/components/media-viewer/layout/README.md create mode 100644 src/components/media-viewer/layout/container/index.js create mode 100644 src/components/media-viewer/layout/container/styles.module.scss create mode 100644 src/components/media-viewer/layout/index.js create mode 100644 src/components/media-viewer/layout/padding/index.js create mode 100644 src/components/media-viewer/layout/padding/styles.module.scss create mode 100644 src/components/media-viewer/layout/page/index.js create mode 100644 src/components/media-viewer/layout/page/styles.module.scss create mode 100644 src/components/media-viewer/md/index.js create mode 100644 src/components/media-viewer/os.js create mode 100644 src/components/media-viewer/pdf/index.js create mode 100644 src/components/media-viewer/pdf/styles.module.scss create mode 100644 src/components/media-viewer/style.css create mode 100644 src/components/media-viewer/styles.module.scss create mode 100644 src/components/media-viewer/unknown/index.js create mode 100644 src/components/media-viewer/unknown/styles.module.scss create mode 100644 src/components/media-viewer/vector/index.css create mode 100644 src/components/media-viewer/vector/index.js create mode 100644 src/components/media-viewer/vector/styles.module.scss create mode 100644 src/components/media-viewer/video/index.js create mode 100644 src/components/media-viewer/video/style.css create mode 100644 src/components/media-viewer/video/styles.module.scss create mode 100644 src/components/media-viewer/visually-hidden/index.js create mode 100644 src/components/media-viewer/visually-hidden/styles.module.scss create mode 100644 src/components/nft_card.tsx create mode 100644 src/components/walletbutton.js create mode 100644 src/components/walletbuttonitem.tsx create mode 100644 src/lib/identity.js create mode 100644 src/lib/index.js create mode 100644 src/lib/metadataSchema.ts create mode 100644 src/lib/moiWeb3.js create mode 100644 src/lib/nft-storage.js create mode 100644 src/metrics/clsMetrics.ts create mode 100644 src/metrics/fcpMetrics.ts create mode 100644 src/metrics/fidMetrics.ts create mode 100644 src/metrics/index.ts create mode 100644 src/metrics/lcpMetrics.ts create mode 100644 src/metrics/ttfbMetrics.ts create mode 100644 src/middleware/graphql/apollo-client.ts create mode 100644 src/middleware/graphql/resolvers.ts create mode 100644 src/middleware/graphql/schema/index.ts create mode 100644 src/middleware/graphql/schema/legacy.ts create mode 100644 src/react-app-env.d.ts create mode 100644 src/reducers/errors.tsx create mode 100644 src/reducers/index.tsx create mode 100644 src/reducers/session.tsx create mode 100644 src/store.js create mode 100644 src/tako.ts create mode 100644 src/ui/Featured_NFT.tsx create mode 100644 src/ui/Layout.tsx create mode 100644 src/ui/NFT_Gallery.tsx create mode 100644 src/ui/NFT_View.tsx create mode 100644 src/ui/token.tsx create mode 100644 src/ui/wallet.tsx create mode 100644 src/utility/fromReq.ts create mode 100644 src/utility/useInterval.js create mode 100644 src/utils/cut-string.ts create mode 100644 src/views/404/404-page.tsx create mode 100644 src/views/about/about-page.tsx create mode 100644 src/views/accept-bid/acceptbid-form.tsx create mode 100644 src/views/accept-bid/acceptbid-page.tsx create mode 100644 src/views/accept-bid/acceptbid-prepare-form.tsx create mode 100644 src/views/accept-bid/comments/accepbid-comment.tsx create mode 100644 src/views/bid/bid-form.tsx create mode 100644 src/views/bid/bid-page.tsx create mode 100644 src/views/bid/bid-prepare-form.tsx create mode 100644 src/views/bid/comments/bid-comment.tsx create mode 100644 src/views/buy/buy-form.tsx create mode 100644 src/views/buy/buy-page.tsx create mode 100644 src/views/buy/buy-prepare-form.tsx create mode 100644 src/views/buy/comments/buy-comment.tsx create mode 100644 src/views/connect/comments/connector-usage-comment.tsx create mode 100644 src/views/connect/connect-options.tsx create mode 100644 src/views/connect/connect-page.tsx create mode 100644 src/views/connect/connection-status.tsx create mode 100644 src/views/deploy/comments/collection-deploy-comment.tsx create mode 100644 src/views/deploy/comments/collection-result-comment.tsx create mode 100644 src/views/deploy/deploy-page.tsx create mode 100644 src/views/mint/comments/mint-comment.tsx create mode 100644 src/views/mint/mint-form.tsx create mode 100644 src/views/mint/mint-page.tsx create mode 100644 src/views/mint/mint-prepare-form.tsx create mode 100644 src/views/sell/comments/sell-comment.tsx create mode 100644 src/views/sell/sell-form.tsx create mode 100644 src/views/sell/sell-page.tsx create mode 100644 src/views/sell/sell-prepare-form.tsx create mode 100644 storeDir.js create mode 100644 styles/fonts/OCR-A-Std-Regular.eot create mode 100644 styles/fonts/OCR-A-Std-Regular.svg create mode 100644 styles/fonts/OCR-A-Std-Regular.ttf create mode 100644 styles/fonts/OCR-A-Std-Regular.woff create mode 100644 styles/fonts/OCR-A-Std-Regular.woff2 create mode 100644 styles/fonts/basiercirclemono-regular-webfont.eot create mode 100644 styles/fonts/basiercirclemono-regular-webfont.ttf create mode 100644 styles/fonts/basiercirclemono-regular-webfont.woff create mode 100644 styles/fonts/basiercirclemono-regular-webfont.woff2 create mode 100644 styles/index.scss create mode 100644 styles/layout.scss create mode 100644 styles/main.scss create mode 100644 styles/mixins.scss create mode 100644 styles/reset.scss create mode 100644 styles/typography.scss create mode 100644 styles/variables.scss create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.env-temp b/.env-temp new file mode 100644 index 0000000..a9738c9 --- /dev/null +++ b/.env-temp @@ -0,0 +1,5 @@ +TAKO_ANALYTICS_KEY= +NFT_STORAGE_KEY= +ETHERSCAN_API= +DEV=true +AKKORO_ENV=dev \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..11f3ac8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/.next +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.idea +out/ +public/sw.js +public/sw.js.map +public/workbox-* +.env + +.vscode/ diff --git a/Rarible.LICENSE.md b/Rarible.LICENSE.md new file mode 100644 index 0000000..a42d1b1 --- /dev/null +++ b/Rarible.LICENSE.md @@ -0,0 +1,20 @@ +Copyright (c) 2021, Rarible DAO + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..5aa1f89 --- /dev/null +++ b/next.config.js @@ -0,0 +1,46 @@ +const withPWA = require('next-pwa'); + +const nextConfig = { + assetPrefix: './', + trailingSlash: true, + reactStrictMode: true, + pwa: { + dest: 'public', + }, + devIndicators: { + autoPrerender: true, + }, + typescript: { + // !! WARN !! + // Dangerously allow production builds to successfully complete even if + // your project has type errors. + // !! WARN !! + ignoreBuildErrors: true, + }, + webpackDevMiddleware: (config) => { + // Solve compiling problem via vagrant + config.watchOptions = { + poll: 1000, // Check for changes every second + aggregateTimeout: 800, // delay before rebuilding + }; + return config; + }, + async rewrites() { + return []; + }, + images: { + domains: [ + 'ipfs.io', + 'rarible.mypinata.cloud', + 'akkoros.mypinata.cloud', + 'ipfs.akkoros.xyz', + ], + }, + env: { + NFT_STORAGE_KEY: process.env.NFT_STORAGE_KEY, + ETHERSCAN_API: process.env.ETHERSCAN_API, + DEV: process.env.DEV, + AKKORO_ENV: process.env.AKKORO_ENV, + }, +}; +module.exports = withPWA(nextConfig); diff --git a/package.json b/package.json new file mode 100644 index 0000000..102b49f --- /dev/null +++ b/package.json @@ -0,0 +1,117 @@ +{ + "name": "takolabs", + "version": "0.0.1", + "private": true, + "dependencies": { + "@apollo/client": "^3.4.16", + "@apollo/react-hooks": "^3.1.5", + "@emotion/react": "^11.8.1", + "@emotion/styled": "^11.8.1", + "@fortawesome/fontawesome-svg-core": "^1.3.0-beta3", + "@fortawesome/free-regular-svg-icons": "^6.0.0-beta3", + "@fortawesome/free-solid-svg-icons": "^6.0.0-beta3", + "@fortawesome/react-fontawesome": "^0.1.17", + "@mui/lab": "^5.0.0-alpha.68", + "@mui/material": "^5.4.2", + "@rarible/connector": "latest", + "@rarible/connector-beacon": "latest", + "@rarible/connector-fcl": "latest", + "@rarible/connector-fortmatic": "latest", + "@rarible/connector-helper": "latest", + "@rarible/connector-iframe": "latest", + "@rarible/connector-mew": "latest", + "@rarible/connector-phantom": "latest", + "@rarible/connector-portis": "latest", + "@rarible/connector-solflare": "latest", + "@rarible/connector-torus": "latest", + "@rarible/connector-walletconnect": "latest", + "@rarible/connector-walletlink": "latest", + "@rarible/estimate-middleware": "latest", + "@rarible/sdk": "latest", + "@rarible/web3-ethereum": "latest", + "@rixio/atom": "^0.12.1", + "@rixio/react": "^0.12.1", + "@testing-library/jest-dom": "^5.16.2", + "@testing-library/react": "^12.1.3", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.4.0", + "@types/lodash": "^4.14.178", + "@types/node": "^17.0.19", + "@types/react": "^17.0.2", + "@types/react-dom": "latest", + "@types/react-syntax-highlighter": "^13.5.2", + "apollo-server-micro": "^2.25.2", + "axios": "^0.24.0", + "bootstrap": "^5.1.3", + "child_process": "^1.0.2", + "classnames": "^2.3.1", + "dotenv": "^16.0.0", + "fflate": "^0.7.3", + "files-from-path": "^0.2.6", + "graphql": "^14.7.0", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.5", + "micro": "^9.3.4", + "mime-types": "^2.1.34", + "moment": "^2.29.3", + "next": "^12.0.9", + "next-pwa": "^5.4.4", + "nft.storage": "latest", + "node-sass": "^7.0.1", + "normalize.css": "^8.0.1", + "react": "latest", + "react-blockies": "^1.4.1", + "react-dom": "latest", + "react-helmet": "^6.1.0", + "react-hook-form": "^7.27.1", + "react-intersection-observer": "^8.33.0", + "react-lazy-load-image-component": "^1.5.1", + "react-pdf": "^5.7.2", + "react-redux": "^7.2.8", + "react-router-dom": "6", + "react-scripts": "^4.0.3", + "react-select": "^5.2.2", + "react-syntax-highlighter": "^15.4.5", + "redux": "^4.1.2", + "redux-devtools-extension": "^2.13.9", + "redux-persist": "^6.0.0", + "redux-persist-expire": "^1.1.0", + "redux-thunk": "^2.4.1", + "screenfull": "^6.0.1", + "tezos-sdk-module": "^0.0.52", + "typescript": "latest", + "url": "^0.11.0", + "web-vitals": "^1.0.1", + "web3": "latest" + }, + "resolutions": { + "//": "See https://github.com/facebook/create-react-app/issues/11773", + "react-error-overlay": "6.0.9" + }, + "scripts": { + "dev": "next dev", + "start": "next start", + "build": "next build", + "export": "next export", + "build:ipfs": "yarn build && yarn export && node storeDir ./out", + "lint": "next lint" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/pages/_app.tsx b/pages/_app.tsx new file mode 100644 index 0000000..05c93bd --- /dev/null +++ b/pages/_app.tsx @@ -0,0 +1,125 @@ +//@ts-nocheck +import React from 'react'; +import {ThemeProvider} from '@mui/material'; +import {appTheme} from '../src/theme'; +import {ApolloProvider} from '@apollo/client'; +import client from '../src/middleware/graphql/apollo-client'; +import type {AppProps /*, AppContext */, NextWebVitalsMetric} from 'next/app'; + +import {Provider} from 'react-redux'; +// @ts-ignore +import {store} from '../src/store'; +import Head from 'next/head'; +import metrics from '../src/metrics'; +import {SdkConnectionProvider} from '@/src/components/connector/sdk-connection-provider'; +import 'bootstrap/dist/css/bootstrap.min.css'; +import Navbar from '../src/components/Navbar'; +import dynamic from 'next/dynamic'; +const EnvironmentSelectorProvider = dynamic( + (): any => + import('../src/components/connector/environment-selector-provider').then( + (mod) => mod.EnvironmentSelectorProvider + ), + {ssr: false} +); + +function MyApp({Component, pageProps}: AppProps) { + return ( + <> + + + + + + + + + + {(connector: any): any => ( + + {/*TODO: Create Layout*/} +
+ +
+ {/* */} +
+ )} +
+
+
+ + ); +} + +export default MyApp; diff --git a/pages/_document.tsx b/pages/_document.tsx new file mode 100644 index 0000000..8d0d0a8 --- /dev/null +++ b/pages/_document.tsx @@ -0,0 +1,48 @@ +//@ts-nocheck +import React from 'react'; + +import Document, { + Html, + Head, + Main, + NextScript, + DocumentContext, +} from 'next/document'; +import {getLangFromReq} from '../src/utility/fromReq'; +interface langType { + lang: string; +} +const scriptTxt: string = ` +(function () { + const { pathname } = window.location + const ipfsMatch = /.*\\/Qm\\w{44}\\//.exec(pathname) + const base = document.createElement('base') + + base.href = ipfsMatch ? ipfsMatch[0] : '/' + document.head.append(base) +})(); +`; +class MyDocument extends Document { + static async getInitialProps(ctx: DocumentContext) { + const initialProps = await Document.getInitialProps(ctx); + const lang = getLangFromReq(ctx.req); + return {...initialProps, lang}; + } + + render(): JSX.Element { + const {lang}: langType = this.props; + return ( + + +