Merge 6e33e9ed98
into 57c039eac8
This commit is contained in:
commit
38a1df4fae
|
@ -13,9 +13,13 @@
|
|||
"@oceanprotocol/typographies": "^0.1.0",
|
||||
"@svgr/webpack": "^7.0.0",
|
||||
"axios": "^1.1.3",
|
||||
"chart.js": "^4.3.0",
|
||||
"dotenv": "^16.0.3",
|
||||
"next": "12.3.1",
|
||||
"moment": "^2.29.4",
|
||||
"next": "13.0.5",
|
||||
"react": "18.2.0",
|
||||
"react-chartjs-2": "^5.2.0",
|
||||
"react-datepicker": "^4.11.0",
|
||||
"react-dom": "18.2.0",
|
||||
"swr": "^1.3.0",
|
||||
"tiny-relative-date": "^1.3.0"
|
||||
|
@ -1732,10 +1736,11 @@
|
|||
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.19.0",
|
||||
"license": "MIT",
|
||||
"version": "7.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz",
|
||||
"integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.13.4"
|
||||
"regenerator-runtime": "^0.13.11"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
@ -2603,9 +2608,15 @@
|
|||
"@jridgewell/sourcemap-codec": "1.4.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@kurkle/color": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
|
||||
"integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
|
||||
},
|
||||
"node_modules/@next/env": {
|
||||
"version": "12.3.1",
|
||||
"license": "MIT"
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.5.tgz",
|
||||
"integrity": "sha512-F3KLtiDrUslAZhTYTh8Zk5ZaavbYwLUn3NYPBnOjAXU8hWm0QVGVzKIOuURQ098ofRU4e9oglf3Sj9pFx5nI5w=="
|
||||
},
|
||||
"node_modules/@next/eslint-plugin-next": {
|
||||
"version": "12.3.1",
|
||||
|
@ -2635,9 +2646,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-android-arm-eabi": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.3.1.tgz",
|
||||
"integrity": "sha512-i+BvKA8tB//srVPPQxIQN5lvfROcfv4OB23/L1nXznP+N/TyKL8lql3l7oo2LNhnH66zWhfoemg3Q4VJZSruzQ==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.5.tgz",
|
||||
"integrity": "sha512-YO691dxHlviy6H0eghgwqn+5kU9J3iQnKERHTDSppqjjGDBl6ab4wz9XfI5AhljjkaTg3TknHoIEWFDoZ4Ve8g==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -2650,9 +2661,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-android-arm64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.3.1.tgz",
|
||||
"integrity": "sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.5.tgz",
|
||||
"integrity": "sha512-ugbwffkUmp8cd2afehDC8LtQeFUxElRUBBngfB5UYSWBx18HW4OgzkPFIY8jUBH16zifvGZWXbICXJWDHrOLtw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -2665,9 +2676,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-arm64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.1.tgz",
|
||||
"integrity": "sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.5.tgz",
|
||||
"integrity": "sha512-mshlh8QOtOalfZbc17uNAftWgqHTKnrv6QUwBe+mpGz04eqsSUzVz1JGZEdIkmuDxOz00cK2NPoc+VHDXh99IQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -2680,9 +2691,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-x64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.3.1.tgz",
|
||||
"integrity": "sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.5.tgz",
|
||||
"integrity": "sha512-SfigOKW4Z2UB3ruUPyvrlDIkcJq1hiw1wvYApWugD+tQsAkYZKEoz+/8emCmeYZ6Gwgi1WHV+z52Oj8u7bEHPg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -2695,9 +2706,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-freebsd-x64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.3.1.tgz",
|
||||
"integrity": "sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.5.tgz",
|
||||
"integrity": "sha512-0NJg8HZr4yG8ynmMGFXQf+Mahvq4ZgBmUwSlLXXymgxEQgH17erH/LoR69uITtW+KTsALgk9axEt5AAabM4ucg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -2710,9 +2721,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm-gnueabihf": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.1.tgz",
|
||||
"integrity": "sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.5.tgz",
|
||||
"integrity": "sha512-Cye+h3oDT3NDWjACMlRaolL8fokpKie34FlPj9nfoW7bYKmoMBY1d4IO/GgBF+5xEl7HkH0Ny/qex63vQ0pN+A==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -2725,9 +2736,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.1.tgz",
|
||||
"integrity": "sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.5.tgz",
|
||||
"integrity": "sha512-5BfDS/VoRDR5QUGG9oedOCEZGmV2zxUVFYLUJVPMSMeIgqkjxWQBiG2BUHZI6/LGk9yvHmjx7BTvtBCLtRg6IQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -2740,9 +2751,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-musl": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.1.tgz",
|
||||
"integrity": "sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.5.tgz",
|
||||
"integrity": "sha512-xenvqlXz+KxVKAB1YR723gnVNszpsCvKZkiFFaAYqDGJ502YuqU2fwLsaSm/ASRizNcBYeo9HPLTyc3r/9cdMQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -2755,11 +2766,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-gnu": {
|
||||
"version": "12.3.1",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.5.tgz",
|
||||
"integrity": "sha512-9Ahi1bbdXwhrWQmOyoTod23/hhK05da/FzodiNqd6drrMl1y7+RujoEcU8Dtw3H1mGWB+yuTlWo8B4Iba8hqiQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
|
@ -2769,11 +2781,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-musl": {
|
||||
"version": "12.3.1",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.5.tgz",
|
||||
"integrity": "sha512-V+1mnh49qmS9fOZxVRbzjhBEz9IUGJ7AQ80JPWAYQM5LI4TxfdiF4APLPvJ52rOmNeTqnVz1bbKtVOso+7EZ4w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
|
@ -2783,9 +2796,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-wRE9rkp7I+/3Jf2T9PFIJOKq3adMWYEFkPOA7XAkUfYbQHlDJm/U5cVCWUsKByyQq5RThwufI91sgd19MfxRxg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -2798,9 +2811,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-Q1XQSLEhFuFhkKFdJIGt7cYQ4T3u6P5wrtUNreg5M+7P+fjSiC8+X+Vjcw+oebaacsdl0pWZlK+oACGafush1w==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -2813,9 +2826,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-x64-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-t5gRblrwwiNZP6cT7NkxlgxrFgHWtv9ei5vUraCLgBqzvIsa7X+PnarZUeQCXqz6Jg9JSGGT9j8lvzD97UqeJQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -2874,6 +2887,15 @@
|
|||
"resolved": "https://registry.npmjs.org/@oceanprotocol/typographies/-/typographies-0.1.0.tgz",
|
||||
"integrity": "sha512-kMsZsqvzpz9KzVbVZzllwhPoIC3zbqsdRrClagZL/C2PHzgLrKGC1kYn3gPt0RMIFg9ZjrwieKaxlgIK9i9zzg=="
|
||||
},
|
||||
"node_modules/@popperjs/core": {
|
||||
"version": "2.11.7",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
|
||||
"integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/popperjs"
|
||||
}
|
||||
},
|
||||
"node_modules/@rushstack/eslint-patch": {
|
||||
"version": "1.2.0",
|
||||
"dev": true,
|
||||
|
@ -3119,8 +3141,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@swc/helpers": {
|
||||
"version": "0.4.11",
|
||||
"license": "MIT",
|
||||
"version": "0.4.14",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
|
||||
"integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
|
@ -3676,6 +3699,27 @@
|
|||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chart.js": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz",
|
||||
"integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==",
|
||||
"dependencies": {
|
||||
"@kurkle/color": "^0.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"pnpm": ">=7"
|
||||
}
|
||||
},
|
||||
"node_modules/classnames": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
|
||||
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
|
||||
},
|
||||
"node_modules/client-only": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"dev": true,
|
||||
|
@ -3851,6 +3895,21 @@
|
|||
"dev": true,
|
||||
"license": "BSD-2-Clause"
|
||||
},
|
||||
"node_modules/date-fns": {
|
||||
"version": "2.30.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
|
||||
"integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.21.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.11"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/date-fns"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.3.4",
|
||||
"license": "MIT",
|
||||
|
@ -5467,6 +5526,14 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/moment": {
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/mri": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
|
||||
|
@ -5512,42 +5579,42 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/next": {
|
||||
"version": "12.3.1",
|
||||
"license": "MIT",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-13.0.5.tgz",
|
||||
"integrity": "sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==",
|
||||
"dependencies": {
|
||||
"@next/env": "12.3.1",
|
||||
"@swc/helpers": "0.4.11",
|
||||
"@next/env": "13.0.5",
|
||||
"@swc/helpers": "0.4.14",
|
||||
"caniuse-lite": "^1.0.30001406",
|
||||
"postcss": "8.4.14",
|
||||
"styled-jsx": "5.0.7",
|
||||
"use-sync-external-store": "1.2.0"
|
||||
"styled-jsx": "5.1.0"
|
||||
},
|
||||
"bin": {
|
||||
"next": "dist/bin/next"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.22.0"
|
||||
"node": ">=14.6.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@next/swc-android-arm-eabi": "12.3.1",
|
||||
"@next/swc-android-arm64": "12.3.1",
|
||||
"@next/swc-darwin-arm64": "12.3.1",
|
||||
"@next/swc-darwin-x64": "12.3.1",
|
||||
"@next/swc-freebsd-x64": "12.3.1",
|
||||
"@next/swc-linux-arm-gnueabihf": "12.3.1",
|
||||
"@next/swc-linux-arm64-gnu": "12.3.1",
|
||||
"@next/swc-linux-arm64-musl": "12.3.1",
|
||||
"@next/swc-linux-x64-gnu": "12.3.1",
|
||||
"@next/swc-linux-x64-musl": "12.3.1",
|
||||
"@next/swc-win32-arm64-msvc": "12.3.1",
|
||||
"@next/swc-win32-ia32-msvc": "12.3.1",
|
||||
"@next/swc-win32-x64-msvc": "12.3.1"
|
||||
"@next/swc-android-arm-eabi": "13.0.5",
|
||||
"@next/swc-android-arm64": "13.0.5",
|
||||
"@next/swc-darwin-arm64": "13.0.5",
|
||||
"@next/swc-darwin-x64": "13.0.5",
|
||||
"@next/swc-freebsd-x64": "13.0.5",
|
||||
"@next/swc-linux-arm-gnueabihf": "13.0.5",
|
||||
"@next/swc-linux-arm64-gnu": "13.0.5",
|
||||
"@next/swc-linux-arm64-musl": "13.0.5",
|
||||
"@next/swc-linux-x64-gnu": "13.0.5",
|
||||
"@next/swc-linux-x64-musl": "13.0.5",
|
||||
"@next/swc-win32-arm64-msvc": "13.0.5",
|
||||
"@next/swc-win32-ia32-msvc": "13.0.5",
|
||||
"@next/swc-win32-x64-msvc": "13.0.5"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^6.0.0 || ^7.0.0",
|
||||
"react": "^17.0.2 || ^18.0.0-0",
|
||||
"react-dom": "^17.0.2 || ^18.0.0-0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"sass": "^1.3.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
|
@ -5605,7 +5672,6 @@
|
|||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
|
@ -5990,7 +6056,6 @@
|
|||
},
|
||||
"node_modules/prop-types": {
|
||||
"version": "15.8.1",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.4.0",
|
||||
|
@ -6051,6 +6116,32 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-chartjs-2": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz",
|
||||
"integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==",
|
||||
"peerDependencies": {
|
||||
"chart.js": "^4.1.1",
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-datepicker": {
|
||||
"version": "4.11.0",
|
||||
"resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.11.0.tgz",
|
||||
"integrity": "sha512-50n93o7mQwBEhg05tbopjFKgs8qgi8VBCAOMC4VqrKut72eAjESc/wXS/k5hRtnP0oe2FCGw7MJuIwh37wuXOw==",
|
||||
"dependencies": {
|
||||
"@popperjs/core": "^2.9.2",
|
||||
"classnames": "^2.2.6",
|
||||
"date-fns": "^2.24.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react-onclickoutside": "^6.12.2",
|
||||
"react-popper": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.9.0 || ^17 || ^18",
|
||||
"react-dom": "^16.9.0 || ^17 || ^18"
|
||||
}
|
||||
},
|
||||
"node_modules/react-dom": {
|
||||
"version": "18.2.0",
|
||||
"license": "MIT",
|
||||
|
@ -6062,11 +6153,42 @@
|
|||
"react": "^18.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-fast-compare": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz",
|
||||
"integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg=="
|
||||
},
|
||||
"node_modules/react-is": {
|
||||
"version": "16.13.1",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/react-onclickoutside": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz",
|
||||
"integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==",
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^15.5.x || ^16.x || ^17.x || ^18.x",
|
||||
"react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x"
|
||||
}
|
||||
},
|
||||
"node_modules/react-popper": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz",
|
||||
"integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==",
|
||||
"dependencies": {
|
||||
"react-fast-compare": "^3.0.1",
|
||||
"warning": "^4.0.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@popperjs/core": "^2.0.0",
|
||||
"react": "^16.8.0 || ^17 || ^18",
|
||||
"react-dom": "^16.8.0 || ^17 || ^18"
|
||||
}
|
||||
},
|
||||
"node_modules/regenerate": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
|
||||
|
@ -6084,8 +6206,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/regenerator-runtime": {
|
||||
"version": "0.13.9",
|
||||
"license": "MIT"
|
||||
"version": "0.13.11",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
|
||||
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
|
||||
},
|
||||
"node_modules/regenerator-transform": {
|
||||
"version": "0.15.1",
|
||||
|
@ -6395,8 +6518,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/styled-jsx": {
|
||||
"version": "5.0.7",
|
||||
"license": "MIT",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||
"dependencies": {
|
||||
"client-only": "0.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
},
|
||||
|
@ -6510,8 +6637,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.4.0",
|
||||
"license": "0BSD"
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
|
||||
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
|
||||
},
|
||||
"node_modules/tsutils": {
|
||||
"version": "3.21.0",
|
||||
|
@ -6655,13 +6783,6 @@
|
|||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/use-sync-external-store": {
|
||||
"version": "1.2.0",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/utf-8-validate": {
|
||||
"version": "5.0.10",
|
||||
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
|
||||
|
@ -6677,6 +6798,14 @@
|
|||
"node": ">=6.14.2"
|
||||
}
|
||||
},
|
||||
"node_modules/warning": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"dev": true,
|
||||
|
@ -7907,9 +8036,11 @@
|
|||
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.19.0",
|
||||
"version": "7.21.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz",
|
||||
"integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.4"
|
||||
"regenerator-runtime": "^0.13.11"
|
||||
}
|
||||
},
|
||||
"@babel/runtime-corejs3": {
|
||||
|
@ -8432,8 +8563,15 @@
|
|||
"@jridgewell/sourcemap-codec": "1.4.14"
|
||||
}
|
||||
},
|
||||
"@kurkle/color": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz",
|
||||
"integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw=="
|
||||
},
|
||||
"@next/env": {
|
||||
"version": "12.3.1"
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.5.tgz",
|
||||
"integrity": "sha512-F3KLtiDrUslAZhTYTh8Zk5ZaavbYwLUn3NYPBnOjAXU8hWm0QVGVzKIOuURQ098ofRU4e9oglf3Sj9pFx5nI5w=="
|
||||
},
|
||||
"@next/eslint-plugin-next": {
|
||||
"version": "12.3.1",
|
||||
|
@ -8457,77 +8595,81 @@
|
|||
}
|
||||
},
|
||||
"@next/swc-android-arm-eabi": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.3.1.tgz",
|
||||
"integrity": "sha512-i+BvKA8tB//srVPPQxIQN5lvfROcfv4OB23/L1nXznP+N/TyKL8lql3l7oo2LNhnH66zWhfoemg3Q4VJZSruzQ==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.5.tgz",
|
||||
"integrity": "sha512-YO691dxHlviy6H0eghgwqn+5kU9J3iQnKERHTDSppqjjGDBl6ab4wz9XfI5AhljjkaTg3TknHoIEWFDoZ4Ve8g==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-android-arm64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.3.1.tgz",
|
||||
"integrity": "sha512-CmgU2ZNyBP0rkugOOqLnjl3+eRpXBzB/I2sjwcGZ7/Z6RcUJXK5Evz+N0ucOxqE4cZ3gkTeXtSzRrMK2mGYV8Q==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.5.tgz",
|
||||
"integrity": "sha512-ugbwffkUmp8cd2afehDC8LtQeFUxElRUBBngfB5UYSWBx18HW4OgzkPFIY8jUBH16zifvGZWXbICXJWDHrOLtw==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-darwin-arm64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.1.tgz",
|
||||
"integrity": "sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.5.tgz",
|
||||
"integrity": "sha512-mshlh8QOtOalfZbc17uNAftWgqHTKnrv6QUwBe+mpGz04eqsSUzVz1JGZEdIkmuDxOz00cK2NPoc+VHDXh99IQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-darwin-x64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.3.1.tgz",
|
||||
"integrity": "sha512-9S6EVueCVCyGf2vuiLiGEHZCJcPAxglyckTZcEwLdJwozLqN0gtS0Eq0bQlGS3dH49Py/rQYpZ3KVWZ9BUf/WA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.5.tgz",
|
||||
"integrity": "sha512-SfigOKW4Z2UB3ruUPyvrlDIkcJq1hiw1wvYApWugD+tQsAkYZKEoz+/8emCmeYZ6Gwgi1WHV+z52Oj8u7bEHPg==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-freebsd-x64": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.3.1.tgz",
|
||||
"integrity": "sha512-qcuUQkaBZWqzM0F1N4AkAh88lLzzpfE6ImOcI1P6YeyJSsBmpBIV8o70zV+Wxpc26yV9vpzb+e5gCyxNjKJg5Q==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.5.tgz",
|
||||
"integrity": "sha512-0NJg8HZr4yG8ynmMGFXQf+Mahvq4ZgBmUwSlLXXymgxEQgH17erH/LoR69uITtW+KTsALgk9axEt5AAabM4ucg==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-arm-gnueabihf": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.1.tgz",
|
||||
"integrity": "sha512-diL9MSYrEI5nY2wc/h/DBewEDUzr/DqBjIgHJ3RUNtETAOB3spMNHvJk2XKUDjnQuluLmFMloet9tpEqU2TT9w==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.5.tgz",
|
||||
"integrity": "sha512-Cye+h3oDT3NDWjACMlRaolL8fokpKie34FlPj9nfoW7bYKmoMBY1d4IO/GgBF+5xEl7HkH0Ny/qex63vQ0pN+A==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-arm64-gnu": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.1.tgz",
|
||||
"integrity": "sha512-o/xB2nztoaC7jnXU3Q36vGgOolJpsGG8ETNjxM1VAPxRwM7FyGCPHOMk1XavG88QZSQf+1r+POBW0tLxQOJ9DQ==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.5.tgz",
|
||||
"integrity": "sha512-5BfDS/VoRDR5QUGG9oedOCEZGmV2zxUVFYLUJVPMSMeIgqkjxWQBiG2BUHZI6/LGk9yvHmjx7BTvtBCLtRg6IQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-arm64-musl": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.1.tgz",
|
||||
"integrity": "sha512-2WEasRxJzgAmP43glFNhADpe8zB7kJofhEAVNbDJZANp+H4+wq+/cW1CdDi8DqjkShPEA6/ejJw+xnEyDID2jg==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.5.tgz",
|
||||
"integrity": "sha512-xenvqlXz+KxVKAB1YR723gnVNszpsCvKZkiFFaAYqDGJ502YuqU2fwLsaSm/ASRizNcBYeo9HPLTyc3r/9cdMQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-x64-gnu": {
|
||||
"version": "12.3.1",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.5.tgz",
|
||||
"integrity": "sha512-9Ahi1bbdXwhrWQmOyoTod23/hhK05da/FzodiNqd6drrMl1y7+RujoEcU8Dtw3H1mGWB+yuTlWo8B4Iba8hqiQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-x64-musl": {
|
||||
"version": "12.3.1",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.5.tgz",
|
||||
"integrity": "sha512-V+1mnh49qmS9fOZxVRbzjhBEz9IUGJ7AQ80JPWAYQM5LI4TxfdiF4APLPvJ52rOmNeTqnVz1bbKtVOso+7EZ4w==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-arm64-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-hswVFYQYIeGHE2JYaBVtvqmBQ1CppplQbZJS/JgrVI3x2CurNhEkmds/yqvDONfwfbttTtH4+q9Dzf/WVl3Opw==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-wRE9rkp7I+/3Jf2T9PFIJOKq3adMWYEFkPOA7XAkUfYbQHlDJm/U5cVCWUsKByyQq5RThwufI91sgd19MfxRxg==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-ia32-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-Kny5JBehkTbKPmqulr5i+iKntO5YMP+bVM8Hf8UAmjSMVo3wehyLVc9IZkNmcbxi+vwETnQvJaT5ynYBkJ9dWA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-Q1XQSLEhFuFhkKFdJIGt7cYQ4T3u6P5wrtUNreg5M+7P+fjSiC8+X+Vjcw+oebaacsdl0pWZlK+oACGafush1w==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-x64-msvc": {
|
||||
"version": "12.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.1.tgz",
|
||||
"integrity": "sha512-W1ijvzzg+kPEX6LAc+50EYYSEo0FVu7dmTE+t+DM4iOLqgGHoW9uYSz9wCVdkXOEEMP9xhXfGpcSxsfDucyPkA==",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.5.tgz",
|
||||
"integrity": "sha512-t5gRblrwwiNZP6cT7NkxlgxrFgHWtv9ei5vUraCLgBqzvIsa7X+PnarZUeQCXqz6Jg9JSGGT9j8lvzD97UqeJQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@nodelib/fs.scandir": {
|
||||
|
@ -8565,6 +8707,11 @@
|
|||
"resolved": "https://registry.npmjs.org/@oceanprotocol/typographies/-/typographies-0.1.0.tgz",
|
||||
"integrity": "sha512-kMsZsqvzpz9KzVbVZzllwhPoIC3zbqsdRrClagZL/C2PHzgLrKGC1kYn3gPt0RMIFg9ZjrwieKaxlgIK9i9zzg=="
|
||||
},
|
||||
"@popperjs/core": {
|
||||
"version": "2.11.7",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
|
||||
"integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw=="
|
||||
},
|
||||
"@rushstack/eslint-patch": {
|
||||
"version": "1.2.0",
|
||||
"dev": true
|
||||
|
@ -8689,7 +8836,9 @@
|
|||
}
|
||||
},
|
||||
"@swc/helpers": {
|
||||
"version": "0.4.11",
|
||||
"version": "0.4.14",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
|
||||
"integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
|
||||
"requires": {
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
|
@ -9050,6 +9199,24 @@
|
|||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"chart.js": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz",
|
||||
"integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==",
|
||||
"requires": {
|
||||
"@kurkle/color": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"classnames": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
|
||||
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
|
||||
},
|
||||
"client-only": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"dev": true,
|
||||
|
@ -9173,6 +9340,14 @@
|
|||
"version": "1.0.8",
|
||||
"dev": true
|
||||
},
|
||||
"date-fns": {
|
||||
"version": "2.30.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
|
||||
"integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.21.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.3.4",
|
||||
"requires": {
|
||||
|
@ -10259,6 +10434,11 @@
|
|||
"version": "1.2.6",
|
||||
"dev": true
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
},
|
||||
"mri": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
|
||||
|
@ -10289,27 +10469,28 @@
|
|||
"dev": true
|
||||
},
|
||||
"next": {
|
||||
"version": "12.3.1",
|
||||
"version": "13.0.5",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-13.0.5.tgz",
|
||||
"integrity": "sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==",
|
||||
"requires": {
|
||||
"@next/env": "12.3.1",
|
||||
"@next/swc-android-arm-eabi": "12.3.1",
|
||||
"@next/swc-android-arm64": "12.3.1",
|
||||
"@next/swc-darwin-arm64": "12.3.1",
|
||||
"@next/swc-darwin-x64": "12.3.1",
|
||||
"@next/swc-freebsd-x64": "12.3.1",
|
||||
"@next/swc-linux-arm-gnueabihf": "12.3.1",
|
||||
"@next/swc-linux-arm64-gnu": "12.3.1",
|
||||
"@next/swc-linux-arm64-musl": "12.3.1",
|
||||
"@next/swc-linux-x64-gnu": "12.3.1",
|
||||
"@next/swc-linux-x64-musl": "12.3.1",
|
||||
"@next/swc-win32-arm64-msvc": "12.3.1",
|
||||
"@next/swc-win32-ia32-msvc": "12.3.1",
|
||||
"@next/swc-win32-x64-msvc": "12.3.1",
|
||||
"@swc/helpers": "0.4.11",
|
||||
"@next/env": "13.0.5",
|
||||
"@next/swc-android-arm-eabi": "13.0.5",
|
||||
"@next/swc-android-arm64": "13.0.5",
|
||||
"@next/swc-darwin-arm64": "13.0.5",
|
||||
"@next/swc-darwin-x64": "13.0.5",
|
||||
"@next/swc-freebsd-x64": "13.0.5",
|
||||
"@next/swc-linux-arm-gnueabihf": "13.0.5",
|
||||
"@next/swc-linux-arm64-gnu": "13.0.5",
|
||||
"@next/swc-linux-arm64-musl": "13.0.5",
|
||||
"@next/swc-linux-x64-gnu": "13.0.5",
|
||||
"@next/swc-linux-x64-musl": "13.0.5",
|
||||
"@next/swc-win32-arm64-msvc": "13.0.5",
|
||||
"@next/swc-win32-ia32-msvc": "13.0.5",
|
||||
"@next/swc-win32-x64-msvc": "13.0.5",
|
||||
"@swc/helpers": "0.4.14",
|
||||
"caniuse-lite": "^1.0.30001406",
|
||||
"postcss": "8.4.14",
|
||||
"styled-jsx": "5.0.7",
|
||||
"use-sync-external-store": "1.2.0"
|
||||
"styled-jsx": "5.1.0"
|
||||
}
|
||||
},
|
||||
"node-gyp-build": {
|
||||
|
@ -10343,8 +10524,7 @@
|
|||
}
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"dev": true
|
||||
"version": "4.1.1"
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.12.2",
|
||||
|
@ -10573,7 +10753,6 @@
|
|||
},
|
||||
"prop-types": {
|
||||
"version": "15.8.1",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "^1.4.0",
|
||||
"object-assign": "^4.1.1",
|
||||
|
@ -10611,6 +10790,25 @@
|
|||
"loose-envify": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"react-chartjs-2": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz",
|
||||
"integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==",
|
||||
"requires": {}
|
||||
},
|
||||
"react-datepicker": {
|
||||
"version": "4.11.0",
|
||||
"resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.11.0.tgz",
|
||||
"integrity": "sha512-50n93o7mQwBEhg05tbopjFKgs8qgi8VBCAOMC4VqrKut72eAjESc/wXS/k5hRtnP0oe2FCGw7MJuIwh37wuXOw==",
|
||||
"requires": {
|
||||
"@popperjs/core": "^2.9.2",
|
||||
"classnames": "^2.2.6",
|
||||
"date-fns": "^2.24.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react-onclickoutside": "^6.12.2",
|
||||
"react-popper": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"react-dom": {
|
||||
"version": "18.2.0",
|
||||
"requires": {
|
||||
|
@ -10618,9 +10816,28 @@
|
|||
"scheduler": "^0.23.0"
|
||||
}
|
||||
},
|
||||
"react-fast-compare": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz",
|
||||
"integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg=="
|
||||
},
|
||||
"react-is": {
|
||||
"version": "16.13.1",
|
||||
"dev": true
|
||||
"version": "16.13.1"
|
||||
},
|
||||
"react-onclickoutside": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz",
|
||||
"integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==",
|
||||
"requires": {}
|
||||
},
|
||||
"react-popper": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz",
|
||||
"integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==",
|
||||
"requires": {
|
||||
"react-fast-compare": "^3.0.1",
|
||||
"warning": "^4.0.2"
|
||||
}
|
||||
},
|
||||
"regenerate": {
|
||||
"version": "1.4.2",
|
||||
|
@ -10636,7 +10853,9 @@
|
|||
}
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.13.9"
|
||||
"version": "0.13.11",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
|
||||
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
|
||||
},
|
||||
"regenerator-transform": {
|
||||
"version": "0.15.1",
|
||||
|
@ -10829,8 +11048,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"styled-jsx": {
|
||||
"version": "5.0.7",
|
||||
"requires": {}
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
|
||||
"integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
|
||||
"requires": {
|
||||
"client-only": "0.0.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
|
@ -10898,7 +11121,9 @@
|
|||
}
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.4.0"
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
|
||||
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
|
||||
},
|
||||
"tsutils": {
|
||||
"version": "3.21.0",
|
||||
|
@ -10982,10 +11207,6 @@
|
|||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"use-sync-external-store": {
|
||||
"version": "1.2.0",
|
||||
"requires": {}
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"version": "5.0.10",
|
||||
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
|
||||
|
@ -10997,6 +11218,14 @@
|
|||
"node-gyp-build": "^4.3.0"
|
||||
}
|
||||
},
|
||||
"warning": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
|
||||
"requires": {
|
||||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"which": {
|
||||
"version": "2.0.2",
|
||||
"dev": true,
|
||||
|
|
|
@ -16,9 +16,13 @@
|
|||
"@oceanprotocol/typographies": "^0.1.0",
|
||||
"@svgr/webpack": "^7.0.0",
|
||||
"axios": "^1.1.3",
|
||||
"chart.js": "^4.3.0",
|
||||
"dotenv": "^16.0.3",
|
||||
"next": "12.3.1",
|
||||
"moment": "^2.29.4",
|
||||
"next": "13.0.5",
|
||||
"react": "18.2.0",
|
||||
"react-chartjs-2": "^5.2.0",
|
||||
"react-datepicker": "^4.11.0",
|
||||
"react-dom": "18.2.0",
|
||||
"swr": "^1.3.0",
|
||||
"tiny-relative-date": "^1.3.0"
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
import React, { useEffect, useState, ReactElement } from 'react'
|
||||
import {
|
||||
Chart as ChartJS,
|
||||
CategoryScale,
|
||||
LinearScale,
|
||||
BarElement,
|
||||
Title,
|
||||
Tooltip,
|
||||
Legend
|
||||
} from 'chart.js'
|
||||
import styles from '../styles/Home.module.css'
|
||||
import { Bar } from 'react-chartjs-2'
|
||||
|
||||
ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend)
|
||||
|
||||
export default function Chart({
|
||||
path,
|
||||
title,
|
||||
from,
|
||||
to
|
||||
}: {
|
||||
path: string
|
||||
title: string
|
||||
from: number
|
||||
to: number
|
||||
}): ReactElement {
|
||||
const [chartData, setChartData] = useState(null)
|
||||
console.log('from: ', from)
|
||||
console.log('to: ', to)
|
||||
|
||||
const options = {
|
||||
responsive: true,
|
||||
plugins: {
|
||||
legend: {
|
||||
position: 'top' as const
|
||||
},
|
||||
title: {
|
||||
display: true,
|
||||
text: title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
async function fetchData() {
|
||||
const res = await fetch(
|
||||
`http://localhost:8000${path}?since=${from}&limit=${to}`
|
||||
)
|
||||
const data = await res.json()
|
||||
console.log(data)
|
||||
|
||||
// Assuming the response data is an object with keys as labels and values as data points
|
||||
const labels = Object.keys(data)
|
||||
const datasetData = Object.values(data)
|
||||
|
||||
setChartData({
|
||||
labels: labels,
|
||||
datasets: [
|
||||
{
|
||||
label: 'NFTS Published',
|
||||
data: datasetData
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
fetchData()
|
||||
}, [])
|
||||
|
||||
if (!chartData) {
|
||||
return <div>Loading...</div>
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={styles.card}>
|
||||
<Bar options={options} data={chartData} className={styles.chart} />
|
||||
</div>
|
||||
)
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
.menu {
|
||||
width: 100%;
|
||||
padding: calc(var(--spacer) / 2) calc(var(--spacer) / 3);
|
||||
}
|
||||
.link1 {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
order: 3;
|
||||
margin-top: calc(var(--spacer) / 2);
|
||||
text-align: right;
|
||||
border-top: 1px solid var(--border-color);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
width: calc(100% + 2rem);
|
||||
}
|
||||
|
||||
.actions {
|
||||
order: 2;
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
white-space: nowrap;
|
||||
overflow-y: hidden;
|
||||
overflow-x: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-ms-overflow-style: none;
|
||||
}
|
||||
|
||||
.navigation::-webkit-scrollbar,
|
||||
.navigation::-moz-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dateSelection {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.navigation li {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: calc(var(--spacer) / 3);
|
||||
margin-left: calc(var(--spacer) / 3);
|
||||
}
|
||||
|
||||
.link {
|
||||
display: block;
|
||||
padding: calc(var(--spacer) / 4) calc(var(--spacer) / 2);
|
||||
text-transform: uppercase;
|
||||
color: var(--color-secondary);
|
||||
font-weight: var(--font-weight-bold);
|
||||
font-size: var(--font-size-base);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.actions,
|
||||
.link:hover,
|
||||
.link:focus,
|
||||
.link:active {
|
||||
color: var(--font-color-text);
|
||||
}
|
||||
|
||||
.link[aria-current],
|
||||
.link[aria-current]:hover,
|
||||
.link[aria-current]:focus {
|
||||
color: var(--font-color-heading);
|
||||
}
|
||||
|
||||
.link:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.link[aria-disabled] {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.actions button {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
[aria-expanded='true'] .caret {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.badge .caret {
|
||||
fill: var(--brand-white);
|
||||
opacity: 0.7;
|
||||
width: var(--font-size-mini);
|
||||
height: var(--font-size-mini);
|
||||
margin-left: calc(var(--spacer) / 12);
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42rem) {
|
||||
.caret,
|
||||
svg.caret {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
margin-left: calc(var(--spacer) / 2);
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42rem) {
|
||||
.menu {
|
||||
padding: calc(var(--spacer) / 2);
|
||||
}
|
||||
|
||||
.navigation {
|
||||
order: 2;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
text-align: right;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.actions {
|
||||
order: 3;
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 55rem) {
|
||||
.menu {
|
||||
padding: var(--spacer);
|
||||
}
|
||||
|
||||
.title {
|
||||
margin: 0;
|
||||
display: block;
|
||||
color: var(--color-secondary);
|
||||
font-size: var(--font-size-h4);
|
||||
margin-right: calc(var(--spacer) / 6);
|
||||
}
|
||||
}
|
||||
|
||||
.versions {
|
||||
padding: calc(var(--spacer) / 4);
|
||||
}
|
||||
|
||||
.versions .link {
|
||||
display: inline-block;
|
||||
margin: 0 calc(var(--spacer) / 4);
|
||||
padding: 0;
|
||||
font-size: var(--font-size-small);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
import React from 'react'
|
||||
import { useRouter } from 'next/router'
|
||||
import Link from 'next/link'
|
||||
import styles from './Menu.module.css'
|
||||
|
||||
function MenuLink({ name, path }: { name: string; path: string }) {
|
||||
const router = useRouter()
|
||||
|
||||
const classes =
|
||||
router?.pathname === path ? `${styles.link} ${styles.active}` : styles.link
|
||||
|
||||
return (
|
||||
<Link href={path} className={classes}>
|
||||
{name}
|
||||
</Link>
|
||||
)
|
||||
}
|
||||
|
||||
export default function Menu() {
|
||||
return (
|
||||
<nav className={styles.menu}>
|
||||
<ul className={styles.navigation}>
|
||||
<li>
|
||||
<MenuLink name="Status" path="/" />
|
||||
</li>
|
||||
<li>
|
||||
<MenuLink name="Core Stats" path="/stats" />
|
||||
</li>
|
||||
<li>
|
||||
<MenuLink name="veOcean Stats" path="/veOceanStats" />
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
)
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
[
|
||||
{
|
||||
"name": "publishedNFT",
|
||||
"title": "NFTs Published",
|
||||
"path": "/stats/core/publishedNFT"
|
||||
},
|
||||
{
|
||||
"name": "uniqueConsumers",
|
||||
"title": "Unique Consumers",
|
||||
"path": "/stats/core/uniqueConsumers"
|
||||
},
|
||||
{
|
||||
"name": "weeklyUniquePublishMarkets",
|
||||
"title": "Weekly Unique Publish Markets",
|
||||
"path": "/stats/core/weeklyUniquePublishMarkets"
|
||||
},
|
||||
{
|
||||
"name": "montlyUniquePublishMarkets",
|
||||
"title": "Montly Unique Publish Markets",
|
||||
"path": "/stats/core/montlyUniquePublishMarkets"
|
||||
},
|
||||
{
|
||||
"name": "yearlyUniquePublishMarkets",
|
||||
"title": "Yearly Unique Publish Markets",
|
||||
"path": "/stats/core/yearlyUniquePublishMarkets"
|
||||
},
|
||||
{
|
||||
"name": "totalUniquePublishMarkets",
|
||||
"title": "Total Unique Publish Markets",
|
||||
"path": "/stats/core/totalUniquePublishMarkets"
|
||||
},
|
||||
{
|
||||
"name": "uniqueConsumeMarkets",
|
||||
"title": "Unique Consume Markets",
|
||||
"path": "/stats/core/uniqueConsumeMarkets"
|
||||
},
|
||||
{
|
||||
"name": "freeConsumes",
|
||||
"title": "Free Consumes",
|
||||
"path": "/stats/core/freeConsumes"
|
||||
},
|
||||
{
|
||||
"name": "paidConsumes",
|
||||
"title": "Paid Consumes",
|
||||
"path": "/stats/core/paidConsumes"
|
||||
},
|
||||
{
|
||||
"name": "oceanConsumes",
|
||||
"title": "Ocean Consumes",
|
||||
"path": "/stats/core/oceanConsumes"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,6 @@
|
|||
[
|
||||
{ "title": "Deposits", "path": "/deposits" },
|
||||
{ "title": "Actions", "path": "/actions" },
|
||||
{ "title": "Weekly Locked Amount", "path": "/weeklyLockedAmount" },
|
||||
{ "title": "Allocations", "path": "/allocations" }
|
||||
]
|
|
@ -1,9 +1,15 @@
|
|||
import '@oceanprotocol/typographies/css/ocean-typo.css'
|
||||
import '../styles/globals.css'
|
||||
import type { AppProps } from 'next/app'
|
||||
import Menu from '../components/Menu'
|
||||
|
||||
function MyApp({ Component, pageProps }: AppProps) {
|
||||
return <Component {...pageProps} />
|
||||
return (
|
||||
<>
|
||||
<Menu />
|
||||
<Component {...pageProps} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default MyApp
|
||||
|
|
|
@ -1,35 +1,14 @@
|
|||
import Head from 'next/head'
|
||||
import React, { Fragment, ReactElement } from 'react'
|
||||
import { State } from '../@types'
|
||||
import styles from '../styles/Home.module.css'
|
||||
import { getData } from '../utils/getData'
|
||||
import LogoAsset from '../images/logo.svg'
|
||||
import CheckAsset from '../images/check.svg'
|
||||
import GithubAsset from '../images/github.svg'
|
||||
import addresses from '@oceanprotocol/contracts/addresses/address.json'
|
||||
import { statusApiUri } from '../../app.config'
|
||||
import relativeDate from 'tiny-relative-date'
|
||||
import useSWR from 'swr'
|
||||
|
||||
function statusIcon(state: State): ReactElement {
|
||||
if (state === State.Normal) {
|
||||
return <CheckAsset className={`${styles.icon} ${styles.check}`} />
|
||||
} else if (state === State.Outage) {
|
||||
return <span className={styles.icon}>🚨</span>
|
||||
} else {
|
||||
return <span className={styles.icon}>🚧</span>
|
||||
}
|
||||
}
|
||||
|
||||
function statusStyle(state: State) {
|
||||
if (state === State.Outage) {
|
||||
return styles.outage
|
||||
} else if (state === State.Degraded) {
|
||||
return styles.degraded
|
||||
} else {
|
||||
return styles.normal
|
||||
}
|
||||
}
|
||||
import { statusIcon, statusStyle } from '../utils/statusHelpers'
|
||||
|
||||
export default function HomePage(): ReactElement {
|
||||
const { data, error } = useSWR(statusApiUri, getData, {
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
import React, { useState } from 'react'
|
||||
import Head from 'next/head'
|
||||
import Link from 'next/link'
|
||||
import styles from '../styles/Home.module.css'
|
||||
import LogoAsset from '../images/logo.svg'
|
||||
import Chart from '../components/Chart'
|
||||
import stats from '../config/coreStats.json'
|
||||
import DatePicker from 'react-datepicker'
|
||||
import 'react-datepicker/dist/react-datepicker.css'
|
||||
|
||||
export default function Stats() {
|
||||
const now = new Date()
|
||||
const sixMonthsAgo = new Date()
|
||||
sixMonthsAgo.setMonth(now.getMonth() - 6)
|
||||
const [from, setFrom] = useState(sixMonthsAgo)
|
||||
const [to, setTo] = useState(now)
|
||||
|
||||
return (
|
||||
<div className={styles.app}>
|
||||
<Head>
|
||||
<title>Ocean Protocol Stats</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Status overview of all deployed components hosted by the Ocean Protocol Foundation."
|
||||
/>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
</Head>
|
||||
<header className={styles.header}>
|
||||
<LogoAsset className={styles.logo} />
|
||||
<h1 className={styles.title}>Ocean Protocol Stats</h1>
|
||||
<p className={styles.description}>
|
||||
Core stats for usage of Ocean Protocol.
|
||||
</p>
|
||||
<div className={styles.dateSelection}>
|
||||
From:{' '}
|
||||
<DatePicker
|
||||
selected={from}
|
||||
dateFormat="do LLL y"
|
||||
onChange={(date) => setFrom(date)}
|
||||
/>
|
||||
To:{' '}
|
||||
<DatePicker
|
||||
selected={to}
|
||||
dateFormat="do LLL y"
|
||||
onChange={(date) => setTo(date)}
|
||||
/>
|
||||
</div>
|
||||
</header>{' '}
|
||||
<main>
|
||||
<div className={styles.chartGrid}>
|
||||
{stats.map((chart) => (
|
||||
<Link href={`/stats/${chart.name}`} key={chart.title}>
|
||||
<Chart
|
||||
key={chart.title}
|
||||
path={chart.path}
|
||||
title={chart.title}
|
||||
from={from}
|
||||
to={to}
|
||||
/>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
import React from 'react'
|
||||
import Head from 'next/head'
|
||||
import styles from '../../styles/Home.module.css'
|
||||
import LogoAsset from '../../images/logo.svg'
|
||||
import Chart from '../../components/Chart'
|
||||
import stats from '../../config/coreStats.json'
|
||||
import { useRouter } from 'next/router'
|
||||
|
||||
export default function Stats() {
|
||||
const router = useRouter()
|
||||
const chartName = router.query.chartName
|
||||
const chart = stats.find((chart) => chart.name === chartName)
|
||||
return (
|
||||
<div className={styles.app}>
|
||||
<Head>
|
||||
<title>Ocean Protocol Stats</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Status overview of all deployed components hosted by the Ocean Protocol Foundation."
|
||||
/>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
</Head>
|
||||
<header className={styles.header}>
|
||||
<LogoAsset className={styles.logo} />
|
||||
|
||||
<h1 className={styles.title}>Ocean Protocol Stats</h1>
|
||||
<p className={styles.description}>
|
||||
Core stats for usage of Ocean Protocol.
|
||||
</p>
|
||||
</header>{' '}
|
||||
<main>
|
||||
<div className={styles.chartGrid}>
|
||||
{!chart && <div className={styles.description}>Chart not found</div>}
|
||||
{chart && <Chart path={chart.path} title={chart.title} />}
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
import React from 'react'
|
||||
import Head from 'next/head'
|
||||
import styles from '../styles/Home.module.css'
|
||||
import LogoAsset from '../images/logo.svg'
|
||||
import Chart from '../components/Chart'
|
||||
import stats from '../config/veOceanStats.json'
|
||||
|
||||
export default function Stats() {
|
||||
return (
|
||||
<div className={styles.app}>
|
||||
<Head>
|
||||
<title>Ocean Protocol Stats</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Status overview of all deployed components hosted by the Ocean Protocol Foundation."
|
||||
/>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
</Head>
|
||||
<header className={styles.header}>
|
||||
<LogoAsset className={styles.logo} />
|
||||
|
||||
<h1 className={styles.title}>Ocean Protocol Stats</h1>
|
||||
<p className={styles.description}>
|
||||
Core stats for usage of Ocean Protocol.
|
||||
</p>
|
||||
</header>{' '}
|
||||
<main>
|
||||
<div className={styles.chartGrid}>
|
||||
{stats.map((chart) => (
|
||||
<Chart key={chart.title} path={chart.path} title={chart.title} />
|
||||
))}
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
.app {
|
||||
padding: var(--spacer);
|
||||
padding-top: 0px;
|
||||
margin: 0 auto;
|
||||
background: url('../../node_modules/@oceanprotocol/art/waves/waves.svg')
|
||||
no-repeat center 13.5rem;
|
||||
|
@ -9,6 +10,7 @@
|
|||
@media screen and (min-width: 50rem) {
|
||||
.app {
|
||||
padding: calc(var(--spacer) * 2);
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,6 +47,12 @@
|
|||
gap: var(--spacer);
|
||||
}
|
||||
|
||||
.chartGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(40rem, 1fr));
|
||||
gap: var(--spacer);
|
||||
}
|
||||
|
||||
.networkName {
|
||||
margin-top: calc(var(--spacer) * 3);
|
||||
margin-bottom: var(--spacer);
|
||||
|
@ -214,3 +222,12 @@
|
|||
font-family: var(--font-family-base);
|
||||
font-weight: var(--font-weight-base);
|
||||
}
|
||||
|
||||
.chart {
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
display: block;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ import { Status } from '../@types'
|
|||
export async function getData(url: string): Promise<{ [key: string]: Status }> {
|
||||
try {
|
||||
const response: AxiosResponse<Status[]> = await axios.get(url)
|
||||
console.log('Got response', response)
|
||||
console.log('Got data', response.data)
|
||||
if (!response?.data || response.status !== 200)
|
||||
throw Error('ERROR: no data recieved')
|
||||
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
import { State } from '../@types'
|
||||
import { ReactElement } from 'react'
|
||||
import CheckAsset from '../images/check.svg'
|
||||
import styles from '../styles/Home.module.css'
|
||||
|
||||
export function statusIcon(state: State): ReactElement {
|
||||
if (state === State.Normal) {
|
||||
return <CheckAsset className={`${styles.icon} ${styles.check}`} />
|
||||
} else if (state === State.Outage) {
|
||||
return <span className={styles.icon}>🚨</span>
|
||||
} else {
|
||||
return <span className={styles.icon}>🚧</span>
|
||||
}
|
||||
}
|
||||
|
||||
export function statusStyle(state: State) {
|
||||
if (state === State.Outage) {
|
||||
return styles.outage
|
||||
} else if (state === State.Degraded) {
|
||||
return styles.degraded
|
||||
} else {
|
||||
return styles.normal
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue