From d59666e7e364f198dc6c9af57456423bc97baedd Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 21:14:00 -0600 Subject: [PATCH 01/12] add meta tags to contract --- web/pages/[username]/[contractId].tsx | 53 +++++++++++++++++++++++++-- web/pages/_document.tsx | 1 + 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index 0619ae54..1a044ffd 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -1,5 +1,8 @@ import React from 'react' import { useRouter } from 'next/router' +import Head from 'next/head' +import clsx from 'clsx' + import { useContract } from '../../hooks/use-contract' import { Header } from '../../components/header' import { ContractOverview } from '../../components/contract-overview' @@ -7,31 +10,73 @@ import { BetPanel } from '../../components/bet-panel' import { Col } from '../../components/layout/col' import { useUser } from '../../hooks/use-user' import { ResolutionPanel } from '../../components/resolution-panel' -import clsx from 'clsx' +// import { Contract, getContract } from '../../lib/firebase/contracts' +// export async function getStaticProps({ params }: { params: any }) { +// console.log('params', params) +// const contract = await getContract(params.contractId) -export default function ContractPage() { +// return { +// props: { +// contract: contract || null +// } +// } +// } + +// export async function getStaticPaths() { +// return { +// paths: [], +// fallback: true, +// } +// } + +export default function ContractPage() {//{ contract }: { contract: Contract }) { const user = useUser() const router = useRouter() const { contractId } = router.query as { contractId: string } const contract = useContract(contractId) - if (contract === 'loading') { return
} - if (!contract) { return
Contract not found...
} + // if (contract === null) { + // return
Contract not found...
+ // } + // if (!contract) + // return
+ const { creatorId, isResolved } = contract const isCreator = user?.id === creatorId return ( + + {contract.question} + + + + + +
+ Date: Wed, 15 Dec 2021 21:20:39 -0600 Subject: [PATCH 02/12] fix build issue --- web/pages/create.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/pages/create.tsx b/web/pages/create.tsx index 9209f98c..1b42897d 100644 --- a/web/pages/create.tsx +++ b/web/pages/create.tsx @@ -115,7 +115,7 @@ export default function NewContract() { - <ContractsList creator={creator} /> + {creator && <ContractsList creator={creator} />} </div> </div> ) From fe0d666c2b2ae3bc60d06879ec605caed11c64fd Mon Sep 17 00:00:00 2001 From: mantikoros <sgrugett@gmail.com> Date: Wed, 15 Dec 2021 21:24:11 -0600 Subject: [PATCH 03/12] test ssg --- web/pages/[username]/[contractId].tsx | 61 ++++++++++++--------------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index 1a044ffd..28bccd5e 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -10,44 +10,43 @@ import { BetPanel } from '../../components/bet-panel' import { Col } from '../../components/layout/col' import { useUser } from '../../hooks/use-user' import { ResolutionPanel } from '../../components/resolution-panel' -// import { Contract, getContract } from '../../lib/firebase/contracts' -// export async function getStaticProps({ params }: { params: any }) { -// console.log('params', params) -// const contract = await getContract(params.contractId) +import { Contract, getContract } from '../../lib/firebase/contracts' +export async function getStaticProps({ params }: { params: any }) { + console.log('params', params) + const contract = await getContract(params.contractId) -// return { -// props: { -// contract: contract || null -// } -// } -// } + return { + props: { + contract: contract || null, + }, + } +} -// export async function getStaticPaths() { -// return { -// paths: [], -// fallback: true, -// } -// } +export async function getStaticPaths() { + return { + paths: [], + fallback: true, + } +} -export default function ContractPage() {//{ contract }: { contract: Contract }) { +export default function ContractPage({ contract }: { contract: Contract }) { const user = useUser() const router = useRouter() const { contractId } = router.query as { contractId: string } - const contract = useContract(contractId) - if (contract === 'loading') { - return <div /> - } - if (!contract) { - return <div>Contract not found...</div> - } - - // if (contract === null) { + // const contract = useContract(contractId) + // if (contract === 'loading') { + // return <div /> + // } + // if (!contract) { // return <div>Contract not found...</div> // } - // if (!contract) - // return <div /> + + if (contract === null) { + return <div>Contract not found...</div> + } + if (!contract) return <div /> const { creatorId, isResolved } = contract const isCreator = user?.id === creatorId @@ -63,10 +62,7 @@ export default function ContractPage() {//{ contract }: { contract: Contract }) content={contract.question} key="title" /> - <meta - name="description" - content={contract.description} - /> + <meta name="description" content={contract.description} /> <meta property="og:description" name="twitter:description" @@ -76,7 +72,6 @@ export default function ContractPage() {//{ contract }: { contract: Contract }) <Header /> - <Col className={clsx( 'w-full items-start md:flex-row mt-4', From 52061215797fc7df8dbf17ee1399ff8d21dc91a4 Mon Sep 17 00:00:00 2001 From: mantikoros <sgrugett@gmail.com> Date: Wed, 15 Dec 2021 21:42:05 -0600 Subject: [PATCH 04/12] ContractPage: static paths blocking --- web/pages/[username]/[contractId].tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index 28bccd5e..ad756907 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -11,6 +11,7 @@ import { Col } from '../../components/layout/col' import { useUser } from '../../hooks/use-user' import { ResolutionPanel } from '../../components/resolution-panel' import { Contract, getContract } from '../../lib/firebase/contracts' + export async function getStaticProps({ params }: { params: any }) { console.log('params', params) const contract = await getContract(params.contractId) @@ -25,7 +26,7 @@ export async function getStaticProps({ params }: { params: any }) { export async function getStaticPaths() { return { paths: [], - fallback: true, + fallback: 'blocking', } } From 3691ef81edbe42c7fec207d83ea1b450357f4be5 Mon Sep 17 00:00:00 2001 From: mantikoros <sgrugett@gmail.com> Date: Wed, 15 Dec 2021 21:45:31 -0600 Subject: [PATCH 05/12] test ssr --- web/pages/[username]/[contractId].tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index ad756907..fc6b16ae 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -12,7 +12,7 @@ import { useUser } from '../../hooks/use-user' import { ResolutionPanel } from '../../components/resolution-panel' import { Contract, getContract } from '../../lib/firebase/contracts' -export async function getStaticProps({ params }: { params: any }) { +export async function getServerSideProps({ params }: { params: any }) { console.log('params', params) const contract = await getContract(params.contractId) @@ -23,12 +23,12 @@ export async function getStaticProps({ params }: { params: any }) { } } -export async function getStaticPaths() { - return { - paths: [], - fallback: 'blocking', - } -} +// export async function getStaticPaths() { +// return { +// paths: [], +// fallback: 'blocking', +// } +// } export default function ContractPage({ contract }: { contract: Contract }) { const user = useUser() From 09ad6a3fe034cf616d253dcd4bdd9812bd995d5b Mon Sep 17 00:00:00 2001 From: mantikoros <sgrugett@gmail.com> Date: Wed, 15 Dec 2021 22:10:14 -0600 Subject: [PATCH 06/12] test --- web/pages/[username]/[contractId].tsx | 57 ++++++++++++++------------- web/pages/_document.tsx | 5 ++- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index fc6b16ae..eeb73e08 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -31,11 +31,10 @@ export async function getServerSideProps({ params }: { params: any }) { // } export default function ContractPage({ contract }: { contract: Contract }) { - const user = useUser() - - const router = useRouter() - const { contractId } = router.query as { contractId: string } + const user = null // useUser() + // const router = useRouter() + // const { contractId } = router.query as { contractId: string } // const contract = useContract(contractId) // if (contract === 'loading') { // return <div /> @@ -53,7 +52,7 @@ export default function ContractPage({ contract }: { contract: Contract }) { const isCreator = user?.id === creatorId return ( - <Col className="max-w-7xl mx-auto sm:px-6 lg:px-8"> + <> <Head> <title>{contract.question} @@ -71,33 +70,35 @@ export default function ContractPage({ contract }: { contract: Contract }) { /> -
+ +
- - + + - {!isResolved && ( - <> -
+ {!isResolved && ( + <> +
- - + + - {isCreator && ( - - )} - - - )} + {isCreator && ( + + )} + + + )} + - + ) } diff --git a/web/pages/_document.tsx b/web/pages/_document.tsx index 6acd76c0..3908b1ae 100644 --- a/web/pages/_document.tsx +++ b/web/pages/_document.tsx @@ -3,7 +3,8 @@ import { Html, Head, Main, NextScript } from 'next/document' export default function Document() { return ( - + + {/* Mantic Markets - + */}
From c5286dfa87fa23be717f3c56b629af385e7b31e4 Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 22:12:27 -0600 Subject: [PATCH 07/12] test --- web/pages/[username]/[contractId].tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index eeb73e08..e5a2ca56 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -49,7 +49,9 @@ export default function ContractPage({ contract }: { contract: Contract }) { if (!contract) return
const { creatorId, isResolved } = contract - const isCreator = user?.id === creatorId + // const isCreator = user?.id === creatorId + + const isCreator = false return ( <> @@ -91,7 +93,7 @@ export default function ContractPage({ contract }: { contract: Contract }) { - {isCreator && ( + {isCreator && user && ( )} From 9bd0ad72115eca35a87c14f20f252a6f2e16a04f Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 22:20:39 -0600 Subject: [PATCH 08/12] test --- web/lib/firebase/init.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/lib/firebase/init.ts b/web/lib/firebase/init.ts index 35266282..c807de98 100644 --- a/web/lib/firebase/init.ts +++ b/web/lib/firebase/init.ts @@ -14,11 +14,11 @@ const firebaseConfig = { export const app = initializeApp(firebaseConfig) export const db = getFirestore(app) -try { - // Note: this is still throwing a console error atm... - import('firebase/analytics').then((analytics) => { - analytics.getAnalytics(app) - }) -} catch (e) { - console.warn('Analytics were blocked') -} +// try { +// // Note: this is still throwing a console error atm... +// import('firebase/analytics').then((analytics) => { +// analytics.getAnalytics(app) +// }) +// } catch (e) { +// console.warn('Analytics were blocked') +// } From 318e22b97ddc9e858e61768a59259a0aa9269cf8 Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 22:52:07 -0600 Subject: [PATCH 09/12] test --- web/pages/[username]/[contractId].tsx | 55 +++++++++++++-------------- web/pages/_app.tsx | 35 ++++++++++++++++- web/pages/_document.tsx | 32 ++-------------- 3 files changed, 63 insertions(+), 59 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index e5a2ca56..2e93a4cc 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -13,8 +13,8 @@ import { ResolutionPanel } from '../../components/resolution-panel' import { Contract, getContract } from '../../lib/firebase/contracts' export async function getServerSideProps({ params }: { params: any }) { - console.log('params', params) const contract = await getContract(params.contractId) + // console.log('params', params, 'contract', contract) return { props: { @@ -54,10 +54,9 @@ export default function ContractPage({ contract }: { contract: Contract }) { const isCreator = false return ( - <> + - {contract.question} - + {contract.question} | Mantic Markets - -
+
- - + + - {!isResolved && ( - <> -
+ {!isResolved && ( + <> +
- - + + - {isCreator && user && ( - - )} - - - )} - + {isCreator && user && ( + + )} + + + )} - + ) } diff --git a/web/pages/_app.tsx b/web/pages/_app.tsx index 8e5360d9..8d121566 100644 --- a/web/pages/_app.tsx +++ b/web/pages/_app.tsx @@ -1,8 +1,41 @@ import 'tailwindcss/tailwind.css' import type { AppProps } from 'next/app' +import Head from 'next/head' function MyApp({ Component, pageProps }: AppProps) { - return + return ( + <> + + Mantic Markets + + + + + + + + + + + + + ) } export default MyApp diff --git a/web/pages/_document.tsx b/web/pages/_document.tsx index 3908b1ae..d2ccc8e7 100644 --- a/web/pages/_document.tsx +++ b/web/pages/_document.tsx @@ -3,34 +3,7 @@ import { Html, Head, Main, NextScript } from 'next/document' export default function Document() { return ( - - {/* - Mantic Markets - - - - - - - - - + @@ -58,7 +31,8 @@ export default function Document() { `, }} /> - */} + +
From 24dabe09faa58a609fd14bf75993ba5a5b797a5a Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 23:49:38 -0600 Subject: [PATCH 10/12] upgrade nextjs version --- web/next-env.d.ts | 1 - web/package-lock.json | 275 +++++++++++++++++++++--------------------- web/package.json | 2 +- 3 files changed, 139 insertions(+), 139 deletions(-) diff --git a/web/next-env.d.ts b/web/next-env.d.ts index 9bc3dd46..4f11a03d 100644 --- a/web/next-env.d.ts +++ b/web/next-env.d.ts @@ -1,5 +1,4 @@ /// -/// /// // NOTE: This file should not be edited diff --git a/web/package-lock.json b/web/package-lock.json index 9a703afc..08589006 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,7 +15,7 @@ "dayjs": "1.10.7", "firebase": "9.6.0", "lodash": "4.17.21", - "next": "12.0.4", + "next": "12.0.7", "react": "17.0.2", "react-dom": "17.0.2" }, @@ -1656,9 +1656,9 @@ "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==" }, "node_modules/@next/env": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-12.0.4.tgz", - "integrity": "sha512-QtZ6X5c6Zqa7oWs5csEmZ7xy+gLdtRKKg02SOT5l0Ziea4P5IU8mSOCyNC4fZmXewcRVjpbY+yGqAAP7hJUfOA==" + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.0.7.tgz", + "integrity": "sha512-TNDqBV37wd95SiNdZsSUq8gnnrTwr+aN9wqy4Zxrxw4bC/jCHNsbK94DxjkG99VL30VCRXXDBTA1/Wa2jIpF9Q==" }, "node_modules/@next/eslint-plugin-next": { "version": "12.0.4", @@ -1670,14 +1670,14 @@ } }, "node_modules/@next/polyfill-module": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-12.0.4.tgz", - "integrity": "sha512-mk9yCDNpfXINTJKFTZNgwYs7eqRFpc5D/49O/fKB59blihyKl1GY1sZ0l7a2bn5l1X/WuaZzcIfqnrwkneqeaQ==" + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-12.0.7.tgz", + "integrity": "sha512-sA8LAMMlmcspIZw/jeQuJTyA3uGrqOhTBaQE+G9u6DPohqrBFRkaz7RzzJeqXkUXw600occsIBknSjyVd1R67A==" }, "node_modules/@next/react-dev-overlay": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-12.0.4.tgz", - "integrity": "sha512-9O0lXyzv5goFSmDwq9Hp8JE+DcObvd+bTXvmGSSvYR91AlIoVlH8/PwATx8Rf5YEuqggn/XKR1hn2kBYcbcGnA==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-12.0.7.tgz", + "integrity": "sha512-dSQLgpZ5uzyittFtIHlJCLAbc0LlMFbRBSYuGsIlrtGyjYN+WMcnz8lK48VLxNPFGuB/hEzkWV4TW5Zu75+Fzg==", "dependencies": { "@babel/code-frame": "7.12.11", "anser": "1.4.9", @@ -1767,9 +1767,9 @@ } }, "node_modules/@next/react-refresh-utils": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-12.0.4.tgz", - "integrity": "sha512-kNUDmpBaJ+8Lb8CtKNynRFF9oijCjUKKru6Ont+JKhti9//5dNFFIcuo607bJSH86un06OEK0TZUt5XWVlbkjw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-12.0.7.tgz", + "integrity": "sha512-Pglj1t+7RxH0txEqVcD8ZxrJgqLDmKvQDqxKq3ZPRWxMv7LTl7FVT2Pnb36QFeBwCvMVl67jxsADKsW0idz8sA==", "peerDependencies": { "react-refresh": "0.8.3", "webpack": "^4 || ^5" @@ -1781,9 +1781,9 @@ } }, "node_modules/@next/swc-android-arm64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.0.4.tgz", - "integrity": "sha512-6mXumia8ZPcy7bYu9kjItfWxrE6SFaJyqQDaFy9G9WrU9x3M1R1Yok8B2X1mboM8itD0tq+t3R/ebQEkkmevUw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.0.7.tgz", + "integrity": "sha512-yViT7EEc7JqxncRT+ZTeTsrAYXLlcefo0Y0eAfYmmalGD2605L4FWAVrJi4WnrSLji7l+veczw1WBmNeHICKKA==", "cpu": [ "arm64" ], @@ -1796,9 +1796,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.4.tgz", - "integrity": "sha512-7WMen1qhF5JmjKD9S5IEgEoaPJOXyIZj/Nsqa8ZSWxdF5oogp3uYYbKb/rvMYoKzpIbjyoLH/OCM5lm5IFM4iw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.7.tgz", + "integrity": "sha512-vhAyW2rDEUcQesRVaj0z1hSoz7QhDzzGd0V1/5/5i9YJOfOtyrPsVJ82tlf7BfXl6/Ep+eKNfWVIb5/Jv89EKg==", "cpu": [ "arm64" ], @@ -1811,9 +1811,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.4.tgz", - "integrity": "sha512-PVgefMWjxP6CU1HQs39+Bfpjcue6qErJfvJ/+n2zimjLzyeQAmD6LM9f1lDSttW2LjKjasoxR5qkRNLVlqzlaA==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.7.tgz", + "integrity": "sha512-km+6Rx6TvbraoQ1f0MXa69ol/x0RxzucFGa2OgZaYJERas0spy0iwW8hpASsGcf597D8VRW1x+R2C7ZdjVBSTw==", "cpu": [ "x64" ], @@ -1826,9 +1826,9 @@ } }, "node_modules/@next/swc-linux-arm-gnueabihf": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.4.tgz", - "integrity": "sha512-8xGQu3sJiIdriKiCux3jDJ9pwivELEg7z2zfW0CqmQMbKNB7qP9lc0pq6CxshtKyXRMczNWRMtQ3Cjwep+UvNg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.7.tgz", + "integrity": "sha512-d0zWr877YqZ2cf/DQy6obouaR39r0FPebcXj2nws9AC99m68CO2xVpWv9jT7mFvpY+T40HJisLH80jSZ2iQ9sA==", "cpu": [ "arm" ], @@ -1841,9 +1841,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.4.tgz", - "integrity": "sha512-HhEWcBkqGr3E7SYLtN9VnYUGamAWaLcXawHN33Em0WP7gzXrBqz0iIJNH7uEzHDS6980EqU/rrkLyhCHrYSZgQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.7.tgz", + "integrity": "sha512-fdobh5u6gG13Gd5LkHhJ+W8tF9hbaFolRW99FhzArMe5/nMKlLdBymOxvitE3K4gSFQxbXJA6TbU0Vv0e59Kww==", "cpu": [ "arm64" ], @@ -1856,9 +1856,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.4.tgz", - "integrity": "sha512-oZyQ9wjtE7OX9RlnovP7izNx2AR/RzTuYWU4Ttim8ssABsipQSxSlfRaeb+Qi6jTc6k+lrPhjRfaZ+fGv/m2Ag==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.7.tgz", + "integrity": "sha512-vx0c5Q3oIScFNT/4jI9rCe0yPzKuCqWOkiO/OOV0ixSI2gLhbrwDIcdkm79fKVn3i8JOJunxE4zDoFeR/g8xqQ==", "cpu": [ "arm64" ], @@ -1871,9 +1871,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.4.tgz", - "integrity": "sha512-aBuf78QzL93T59Lk9kEGfHcA+9SzYIH7dGon1nqVxtAd2iqicKYNVaVcb38VKeiIBXMSUHXTdu6Ee053ZCOmSw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.7.tgz", + "integrity": "sha512-9ITyp6s6uGVKNx3C/GP7GrYycbcwTADG7TdIXzXUxOOZORrdB1GNg3w/EL3Am4VMPPEpO6v1RfKo2IKZpVKfTA==", "cpu": [ "x64" ], @@ -1886,9 +1886,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.4.tgz", - "integrity": "sha512-yDgqUqL4H8M3Y0hv30ZyL9UvjnK4iXmD4I6iJz+XIHSRdA/VUiyKKoL7okf9hxr0mSxBtagbZ5A3qEoW/VliUQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.7.tgz", + "integrity": "sha512-C+k+cygbIZXYfc+Hx2fNPUBEg7jzio+mniP5ywZevuTXW14zodIfQ3ZMoMJR8EpOVvYpjWFk2uAjiwqgx8vo/g==", "cpu": [ "x64" ], @@ -1901,9 +1901,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.4.tgz", - "integrity": "sha512-evDUrEYsUo+PMHsedaymfZO98VwV9wNFzuWVCyKgqg6SD1ZRpzbpqYQY7aINIuqZVdIWZElBE6EM+oxaj7PuWQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.7.tgz", + "integrity": "sha512-7jTRjOKkDVnb5s7VoHT7eX+eyT/5BQJ/ljP2G56riAgKGqPL63/V7FXemLhhLT67D+OjoP8DRA2E2ne6IPHk4w==", "cpu": [ "arm64" ], @@ -1916,9 +1916,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.4.tgz", - "integrity": "sha512-Lbmz0xlo8vW4EDWyzCfy3nGfqt7skqwxaERwe+vDVTBZ56mvJ5dsdyjqK24sxu4FFkWR7SaU4eNlHwZR+A3kTg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.7.tgz", + "integrity": "sha512-2u5pGDsk7H6gGxob2ATIojzlwKzgYsrijo7RRpXOiPePVqwPWg6/pmhaJzLdpfjaBgRg1NFmwSp/7Ump9X8Ijg==", "cpu": [ "ia32" ], @@ -1931,9 +1931,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.4.tgz", - "integrity": "sha512-f+7WNIJOno5QEelrmob+3vN5EZJb3KCkOrnvUsQ0+LCCD0dIPIhCjeHAh3BGj9msGu8ijnXvD7JxVxE5V26cnQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.7.tgz", + "integrity": "sha512-frEWtbf+q8Oz4e2UqKJrNssk6DZ6/NLCQXn5/ORWE9dPAfe9XS6aK5FRZ6DuEPmmKd5gOoRkKJFFz5nYd+TeyQ==", "cpu": [ "x64" ], @@ -5861,17 +5861,18 @@ "dev": true }, "node_modules/next": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/next/-/next-12.0.4.tgz", - "integrity": "sha512-1pvjcSZBm5OLoGmDhp4JwKwIE798WbqUNLuyU7w6a2jUkdWaxOYtkE/ROXQTi2pXHj7+6rm68AvhxROLX2NHQg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/next/-/next-12.0.7.tgz", + "integrity": "sha512-sKO8GJJYfuk9c+q+zHSNumvff+wP7ufmOlwT6BuzwiYfFJ61VTTkfTcDLSJ+95ErQJiC54uS4Yg5JEE8H6jXRA==", + "license": "MIT", "dependencies": { "@babel/runtime": "7.15.4", "@hapi/accept": "5.0.2", "@napi-rs/triples": "1.0.3", - "@next/env": "12.0.4", - "@next/polyfill-module": "12.0.4", - "@next/react-dev-overlay": "12.0.4", - "@next/react-refresh-utils": "12.0.4", + "@next/env": "12.0.7", + "@next/polyfill-module": "12.0.7", + "@next/react-dev-overlay": "12.0.7", + "@next/react-refresh-utils": "12.0.7", "acorn": "8.5.0", "assert": "2.0.0", "browserify-zlib": "0.2.0", @@ -5913,7 +5914,7 @@ "use-subscription": "1.5.1", "util": "0.12.4", "vm-browserify": "1.1.2", - "watchpack": "2.1.1" + "watchpack": "2.3.0" }, "bin": { "next": "dist/bin/next" @@ -5922,23 +5923,23 @@ "node": ">=12.22.0" }, "optionalDependencies": { - "@next/swc-android-arm64": "12.0.4", - "@next/swc-darwin-arm64": "12.0.4", - "@next/swc-darwin-x64": "12.0.4", - "@next/swc-linux-arm-gnueabihf": "12.0.4", - "@next/swc-linux-arm64-gnu": "12.0.4", - "@next/swc-linux-arm64-musl": "12.0.4", - "@next/swc-linux-x64-gnu": "12.0.4", - "@next/swc-linux-x64-musl": "12.0.4", - "@next/swc-win32-arm64-msvc": "12.0.4", - "@next/swc-win32-ia32-msvc": "12.0.4", - "@next/swc-win32-x64-msvc": "12.0.4" + "@next/swc-android-arm64": "12.0.7", + "@next/swc-darwin-arm64": "12.0.7", + "@next/swc-darwin-x64": "12.0.7", + "@next/swc-linux-arm-gnueabihf": "12.0.7", + "@next/swc-linux-arm64-gnu": "12.0.7", + "@next/swc-linux-arm64-musl": "12.0.7", + "@next/swc-linux-x64-gnu": "12.0.7", + "@next/swc-linux-x64-musl": "12.0.7", + "@next/swc-win32-arm64-msvc": "12.0.7", + "@next/swc-win32-ia32-msvc": "12.0.7", + "@next/swc-win32-x64-msvc": "12.0.7" }, "peerDependencies": { "fibers": ">= 3.1.0", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0", + "react": "^17.0.2 || ^18.0.0-0", + "react-dom": "^17.0.2 || ^18.0.0-0", "sass": "^1.3.0" }, "peerDependenciesMeta": { @@ -7871,9 +7872,9 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "node_modules/watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -9512,9 +9513,9 @@ "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==" }, "@next/env": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-12.0.4.tgz", - "integrity": "sha512-QtZ6X5c6Zqa7oWs5csEmZ7xy+gLdtRKKg02SOT5l0Ziea4P5IU8mSOCyNC4fZmXewcRVjpbY+yGqAAP7hJUfOA==" + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.0.7.tgz", + "integrity": "sha512-TNDqBV37wd95SiNdZsSUq8gnnrTwr+aN9wqy4Zxrxw4bC/jCHNsbK94DxjkG99VL30VCRXXDBTA1/Wa2jIpF9Q==" }, "@next/eslint-plugin-next": { "version": "12.0.4", @@ -9526,14 +9527,14 @@ } }, "@next/polyfill-module": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-12.0.4.tgz", - "integrity": "sha512-mk9yCDNpfXINTJKFTZNgwYs7eqRFpc5D/49O/fKB59blihyKl1GY1sZ0l7a2bn5l1X/WuaZzcIfqnrwkneqeaQ==" + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/polyfill-module/-/polyfill-module-12.0.7.tgz", + "integrity": "sha512-sA8LAMMlmcspIZw/jeQuJTyA3uGrqOhTBaQE+G9u6DPohqrBFRkaz7RzzJeqXkUXw600occsIBknSjyVd1R67A==" }, "@next/react-dev-overlay": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-12.0.4.tgz", - "integrity": "sha512-9O0lXyzv5goFSmDwq9Hp8JE+DcObvd+bTXvmGSSvYR91AlIoVlH8/PwATx8Rf5YEuqggn/XKR1hn2kBYcbcGnA==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/react-dev-overlay/-/react-dev-overlay-12.0.7.tgz", + "integrity": "sha512-dSQLgpZ5uzyittFtIHlJCLAbc0LlMFbRBSYuGsIlrtGyjYN+WMcnz8lK48VLxNPFGuB/hEzkWV4TW5Zu75+Fzg==", "requires": { "@babel/code-frame": "7.12.11", "anser": "1.4.9", @@ -9594,75 +9595,75 @@ } }, "@next/react-refresh-utils": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-12.0.4.tgz", - "integrity": "sha512-kNUDmpBaJ+8Lb8CtKNynRFF9oijCjUKKru6Ont+JKhti9//5dNFFIcuo607bJSH86un06OEK0TZUt5XWVlbkjw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-12.0.7.tgz", + "integrity": "sha512-Pglj1t+7RxH0txEqVcD8ZxrJgqLDmKvQDqxKq3ZPRWxMv7LTl7FVT2Pnb36QFeBwCvMVl67jxsADKsW0idz8sA==", "requires": {} }, "@next/swc-android-arm64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.0.4.tgz", - "integrity": "sha512-6mXumia8ZPcy7bYu9kjItfWxrE6SFaJyqQDaFy9G9WrU9x3M1R1Yok8B2X1mboM8itD0tq+t3R/ebQEkkmevUw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.0.7.tgz", + "integrity": "sha512-yViT7EEc7JqxncRT+ZTeTsrAYXLlcefo0Y0eAfYmmalGD2605L4FWAVrJi4WnrSLji7l+veczw1WBmNeHICKKA==", "optional": true }, "@next/swc-darwin-arm64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.4.tgz", - "integrity": "sha512-7WMen1qhF5JmjKD9S5IEgEoaPJOXyIZj/Nsqa8ZSWxdF5oogp3uYYbKb/rvMYoKzpIbjyoLH/OCM5lm5IFM4iw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.7.tgz", + "integrity": "sha512-vhAyW2rDEUcQesRVaj0z1hSoz7QhDzzGd0V1/5/5i9YJOfOtyrPsVJ82tlf7BfXl6/Ep+eKNfWVIb5/Jv89EKg==", "optional": true }, "@next/swc-darwin-x64": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.4.tgz", - "integrity": "sha512-PVgefMWjxP6CU1HQs39+Bfpjcue6qErJfvJ/+n2zimjLzyeQAmD6LM9f1lDSttW2LjKjasoxR5qkRNLVlqzlaA==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.7.tgz", + "integrity": "sha512-km+6Rx6TvbraoQ1f0MXa69ol/x0RxzucFGa2OgZaYJERas0spy0iwW8hpASsGcf597D8VRW1x+R2C7ZdjVBSTw==", "optional": true }, "@next/swc-linux-arm-gnueabihf": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.4.tgz", - "integrity": "sha512-8xGQu3sJiIdriKiCux3jDJ9pwivELEg7z2zfW0CqmQMbKNB7qP9lc0pq6CxshtKyXRMczNWRMtQ3Cjwep+UvNg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.7.tgz", + "integrity": "sha512-d0zWr877YqZ2cf/DQy6obouaR39r0FPebcXj2nws9AC99m68CO2xVpWv9jT7mFvpY+T40HJisLH80jSZ2iQ9sA==", "optional": true }, "@next/swc-linux-arm64-gnu": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.4.tgz", - "integrity": "sha512-HhEWcBkqGr3E7SYLtN9VnYUGamAWaLcXawHN33Em0WP7gzXrBqz0iIJNH7uEzHDS6980EqU/rrkLyhCHrYSZgQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.7.tgz", + "integrity": "sha512-fdobh5u6gG13Gd5LkHhJ+W8tF9hbaFolRW99FhzArMe5/nMKlLdBymOxvitE3K4gSFQxbXJA6TbU0Vv0e59Kww==", "optional": true }, "@next/swc-linux-arm64-musl": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.4.tgz", - "integrity": "sha512-oZyQ9wjtE7OX9RlnovP7izNx2AR/RzTuYWU4Ttim8ssABsipQSxSlfRaeb+Qi6jTc6k+lrPhjRfaZ+fGv/m2Ag==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.7.tgz", + "integrity": "sha512-vx0c5Q3oIScFNT/4jI9rCe0yPzKuCqWOkiO/OOV0ixSI2gLhbrwDIcdkm79fKVn3i8JOJunxE4zDoFeR/g8xqQ==", "optional": true }, "@next/swc-linux-x64-gnu": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.4.tgz", - "integrity": "sha512-aBuf78QzL93T59Lk9kEGfHcA+9SzYIH7dGon1nqVxtAd2iqicKYNVaVcb38VKeiIBXMSUHXTdu6Ee053ZCOmSw==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.7.tgz", + "integrity": "sha512-9ITyp6s6uGVKNx3C/GP7GrYycbcwTADG7TdIXzXUxOOZORrdB1GNg3w/EL3Am4VMPPEpO6v1RfKo2IKZpVKfTA==", "optional": true }, "@next/swc-linux-x64-musl": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.4.tgz", - "integrity": "sha512-yDgqUqL4H8M3Y0hv30ZyL9UvjnK4iXmD4I6iJz+XIHSRdA/VUiyKKoL7okf9hxr0mSxBtagbZ5A3qEoW/VliUQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.7.tgz", + "integrity": "sha512-C+k+cygbIZXYfc+Hx2fNPUBEg7jzio+mniP5ywZevuTXW14zodIfQ3ZMoMJR8EpOVvYpjWFk2uAjiwqgx8vo/g==", "optional": true }, "@next/swc-win32-arm64-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.4.tgz", - "integrity": "sha512-evDUrEYsUo+PMHsedaymfZO98VwV9wNFzuWVCyKgqg6SD1ZRpzbpqYQY7aINIuqZVdIWZElBE6EM+oxaj7PuWQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.7.tgz", + "integrity": "sha512-7jTRjOKkDVnb5s7VoHT7eX+eyT/5BQJ/ljP2G56riAgKGqPL63/V7FXemLhhLT67D+OjoP8DRA2E2ne6IPHk4w==", "optional": true }, "@next/swc-win32-ia32-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.4.tgz", - "integrity": "sha512-Lbmz0xlo8vW4EDWyzCfy3nGfqt7skqwxaERwe+vDVTBZ56mvJ5dsdyjqK24sxu4FFkWR7SaU4eNlHwZR+A3kTg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.7.tgz", + "integrity": "sha512-2u5pGDsk7H6gGxob2ATIojzlwKzgYsrijo7RRpXOiPePVqwPWg6/pmhaJzLdpfjaBgRg1NFmwSp/7Ump9X8Ijg==", "optional": true }, "@next/swc-win32-x64-msvc": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.4.tgz", - "integrity": "sha512-f+7WNIJOno5QEelrmob+3vN5EZJb3KCkOrnvUsQ0+LCCD0dIPIhCjeHAh3BGj9msGu8ijnXvD7JxVxE5V26cnQ==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.7.tgz", + "integrity": "sha512-frEWtbf+q8Oz4e2UqKJrNssk6DZ6/NLCQXn5/ORWE9dPAfe9XS6aK5FRZ6DuEPmmKd5gOoRkKJFFz5nYd+TeyQ==", "optional": true }, "@nivo/annotations": { @@ -12685,28 +12686,28 @@ "dev": true }, "next": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/next/-/next-12.0.4.tgz", - "integrity": "sha512-1pvjcSZBm5OLoGmDhp4JwKwIE798WbqUNLuyU7w6a2jUkdWaxOYtkE/ROXQTi2pXHj7+6rm68AvhxROLX2NHQg==", + "version": "12.0.7", + "resolved": "https://registry.npmjs.org/next/-/next-12.0.7.tgz", + "integrity": "sha512-sKO8GJJYfuk9c+q+zHSNumvff+wP7ufmOlwT6BuzwiYfFJ61VTTkfTcDLSJ+95ErQJiC54uS4Yg5JEE8H6jXRA==", "requires": { "@babel/runtime": "7.15.4", "@hapi/accept": "5.0.2", "@napi-rs/triples": "1.0.3", - "@next/env": "12.0.4", - "@next/polyfill-module": "12.0.4", - "@next/react-dev-overlay": "12.0.4", - "@next/react-refresh-utils": "12.0.4", - "@next/swc-android-arm64": "12.0.4", - "@next/swc-darwin-arm64": "12.0.4", - "@next/swc-darwin-x64": "12.0.4", - "@next/swc-linux-arm-gnueabihf": "12.0.4", - "@next/swc-linux-arm64-gnu": "12.0.4", - "@next/swc-linux-arm64-musl": "12.0.4", - "@next/swc-linux-x64-gnu": "12.0.4", - "@next/swc-linux-x64-musl": "12.0.4", - "@next/swc-win32-arm64-msvc": "12.0.4", - "@next/swc-win32-ia32-msvc": "12.0.4", - "@next/swc-win32-x64-msvc": "12.0.4", + "@next/env": "12.0.7", + "@next/polyfill-module": "12.0.7", + "@next/react-dev-overlay": "12.0.7", + "@next/react-refresh-utils": "12.0.7", + "@next/swc-android-arm64": "12.0.7", + "@next/swc-darwin-arm64": "12.0.7", + "@next/swc-darwin-x64": "12.0.7", + "@next/swc-linux-arm-gnueabihf": "12.0.7", + "@next/swc-linux-arm64-gnu": "12.0.7", + "@next/swc-linux-arm64-musl": "12.0.7", + "@next/swc-linux-x64-gnu": "12.0.7", + "@next/swc-linux-x64-musl": "12.0.7", + "@next/swc-win32-arm64-msvc": "12.0.7", + "@next/swc-win32-ia32-msvc": "12.0.7", + "@next/swc-win32-x64-msvc": "12.0.7", "acorn": "8.5.0", "assert": "2.0.0", "browserify-zlib": "0.2.0", @@ -12748,7 +12749,7 @@ "use-subscription": "1.5.1", "util": "0.12.4", "vm-browserify": "1.1.2", - "watchpack": "2.1.1" + "watchpack": "2.3.0" }, "dependencies": { "postcss": { @@ -14176,9 +14177,9 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" diff --git a/web/package.json b/web/package.json index fd8b0c0b..f0f31248 100644 --- a/web/package.json +++ b/web/package.json @@ -19,7 +19,7 @@ "dayjs": "1.10.7", "firebase": "9.6.0", "lodash": "4.17.21", - "next": "12.0.4", + "next": "12.0.7", "react": "17.0.2", "react-dom": "17.0.2" }, From 2a08f70a9f305f528585a3507851d7e5e98d13ec Mon Sep 17 00:00:00 2001 From: mantikoros Date: Wed, 15 Dec 2021 23:56:12 -0600 Subject: [PATCH 11/12] contractid: reenable stuff --- web/pages/[username]/[contractId].tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index 2e93a4cc..da26dbec 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -14,7 +14,7 @@ import { Contract, getContract } from '../../lib/firebase/contracts' export async function getServerSideProps({ params }: { params: any }) { const contract = await getContract(params.contractId) - // console.log('params', params, 'contract', contract) + console.log('params', params, 'contract', contract) return { props: { @@ -31,7 +31,7 @@ export async function getServerSideProps({ params }: { params: any }) { // } export default function ContractPage({ contract }: { contract: Contract }) { - const user = null // useUser() + const user = useUser() // const router = useRouter() // const { contractId } = router.query as { contractId: string } @@ -49,9 +49,7 @@ export default function ContractPage({ contract }: { contract: Contract }) { if (!contract) return
const { creatorId, isResolved } = contract - // const isCreator = user?.id === creatorId - - const isCreator = false + const isCreator = user?.id === creatorId return ( From 00f5fbcf93aaeb4320c42a13562684cd29a09494 Mon Sep 17 00:00:00 2001 From: mantikoros Date: Thu, 16 Dec 2021 00:36:51 -0600 Subject: [PATCH 12/12] contract: static props, useContractWithPreload --- web/hooks/use-contract.ts | 13 +++++++++ web/pages/[username]/[contractId].tsx | 41 +++++++++++---------------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/web/hooks/use-contract.ts b/web/hooks/use-contract.ts index c870a7fb..41473c84 100644 --- a/web/hooks/use-contract.ts +++ b/web/hooks/use-contract.ts @@ -12,3 +12,16 @@ export const useContract = (contractId: string) => { return contract } + +export const useContractWithPreload = ( + contractId: string, + initial: Contract | null +) => { + const [contract, setContract] = useState(initial) + + useEffect(() => { + if (contractId) return listenForContract(contractId, setContract) + }, [contractId]) + + return contract +} diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index da26dbec..13f1da7b 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -1,9 +1,8 @@ import React from 'react' -import { useRouter } from 'next/router' import Head from 'next/head' import clsx from 'clsx' -import { useContract } from '../../hooks/use-contract' +import { useContract, useContractWithPreload } from '../../hooks/use-contract' import { Header } from '../../components/header' import { ContractOverview } from '../../components/contract-overview' import { BetPanel } from '../../components/bet-panel' @@ -12,41 +11,35 @@ import { useUser } from '../../hooks/use-user' import { ResolutionPanel } from '../../components/resolution-panel' import { Contract, getContract } from '../../lib/firebase/contracts' -export async function getServerSideProps({ params }: { params: any }) { - const contract = await getContract(params.contractId) - console.log('params', params, 'contract', contract) +export async function getStaticProps(props: { params: any }) { + const { contractId } = props.params + const contract = (await getContract(contractId)) || null return { props: { - contract: contract || null, + contractId, + contract, }, + + revalidate: 60, // regenerate after a minute } } -// export async function getStaticPaths() { -// return { -// paths: [], -// fallback: 'blocking', -// } -// } +export async function getStaticPaths() { + return { paths: [], fallback: 'blocking' } +} -export default function ContractPage({ contract }: { contract: Contract }) { +export default function ContractPage(props: { + contract: Contract + contractId: string +}) { const user = useUser() - // const router = useRouter() - // const { contractId } = router.query as { contractId: string } - // const contract = useContract(contractId) - // if (contract === 'loading') { - // return
- // } - // if (!contract) { - // return
Contract not found...
- // } + const contract = useContractWithPreload(props.contractId, props.contract) - if (contract === null) { + if (!contract) { return
Contract not found...
} - if (!contract) return
const { creatorId, isResolved } = contract const isCreator = user?.id === creatorId